Re: Linux GPL and binary module exception clause?

David Woodhouse
2003-12-06T00:10:03Z

On Thu, 2003-12-04 at 01:25 -0500, Karim Yaghmour wrote:
> Since the last time this was mentioned, I have been thinking that this
> argument can really be read as an invitation to do just what's being
> described: first implement a driver/module in a non-Linux OS (this may even
> imply requiring that whoever works on the driver/module have NO Linux
> experience whatsoever; yes there will always be candidates for this) and then
> have this driver/module ported to Linux by Linux-aware developers.

So you have a loadable module made of two sections; a GPL'd wrapper
layer clearly based on the kernel, and your original driver. The latter
is clearly an identifiable section of that compound work which is _not_
derived from Linux and which can reasonably be considered an independent
and separate work in itself.

The GPL and its terms do not apply to that section when you distribute
it as a separate work.

But when you distribute the same section as part of a _whole_ which is a
work based on the Linux kernel, the distribution of the whole must be on
the terms of the licence, whose permissions for other licensees extend
to the entire whole, and thus to each and every part regardless of who
wrote it.

For the precise wording which I've paraphrased above, see §2 of the GPL.

Note that 'is this a derived work' is only part of the question you
should be asking yourself. The GPL makes requirements about the
licensing even of works which are _not_ purely derived.

Some claim that copyright law does not allow the GPL to do such a thing.
That is incorrect. I can write a work and license it to you under _any_
terms I see fit. I can, for example, license it to you _only_ on
condition that you agree to release _all_ your future copyrightable
work, including works of fiction and other completely unrelated things,
under terms I decree.

You either do that or you don't have permission to use my work. Whether
your own work is derived or not is completely irrelevant; if you don't
agree to the terms of _my_ licence, you don't get to use _my_ code.

--
dwmw2