Re: Linux GPL and binary module exception clause?

Linus Torvalds
2003-12-10T16:22:18Z

On Wed, 10 Dec 2003, Larry McVoy wrote:
>
> > kernel was compiled with certain options etc - then it pretty clearly is
> > very tightly integrated.
>
> So what? Plugins have a nasty tendency to have to be updated when the
> main program is updated.

Sorry, but again, I repeat: technicalities don't actually matter much to a
judge.

There's a fundamental difference between "plugins" and "kernel modules":
intent.

If you write a program that tries to have a stable API to outside modules,
and you make and document a plugin interface that is documented to accept
proprietary modules, then that is an ABI. And linking against such a thing
is fine.

But when you have the GPL, and you have documented for years and years
that it is NOT a stable API, and that it is NOT a boundary for the license
and that you do NOT get an automatic waiver when you compile against this
boundary, then things are different.

And they are different even if from a _technical_ standpoint you do
exactly the same: you dynamically link against a binary.

Ask a lawyer. Really.

I know people on this list are engineers and programmers, and you think
that technology is all that matters, and that if you link in one situation
and do exactly the same motions ("walk around the computer three times
widdershins, and give the -dynamic option to 'ld'") then you are doing the
same thing.

But that's not how "the real world" works. In the real world, intent and
permission matter a whole lot. When you make love to your wife in the
privacy of your own home, the "real world" is perfectly ok with that. When
you do the same thing to somebody you didn't get permission from, it's a
major crime and you can be put into prison for decades - even though
technically the movements are pretty much the same.

See? Intent matters. How you do something _technically_ does not.

In fact, I will bet you that if the judge thinks that you tried to use
technicalities ("your honour, I didn't actually run the 'ln' program,
instead of wrote a shell script for the _user_ to run the 'ln' program for
me"), that judge will just see that as admission of the fact that you
_knew_ you were doing something bad. Which means that now it wasn't just
unintentional copyright infringement, now it is clearly wilful.

So those technicalities you might use to try to make things better
actually can make them WORSE.

The best you can do is to just ask for permission. Maybe you'll get it.

Linus