Marcel Holtmann wrote:
how to do you wanna write a new original Linux driver (modular or
built-in) without creating derivative work. This is not possible and due
to the fact that it is derivative work the driver becomes automatically
licensed under GPL. This is not a gray area.

By not using any of the Linux kernel includes or libraries ?
If a file was (for instance) pure standard C with no reference
to the Linux Kernel, you can't argue that somehow this
file (in itself) is a derivative work of the Linux kernel.
Make it loadable with a (carefully licensed) shim to let it interact
with the rest of the system, and nothing has changed
about that particular files copyright or licensable status
(but see the discussion below about collective works).

The gray area that exists if you have code that was written for some
other operating system and licensed under some proprietary license in
the first place. And now that code is used in conjunction with a glue
layer to make it loadable as kernel module.

Why is this gray ? It shouldn't matter what the origin of
such a file is, if the file doesn't include anything that is
GPL, it (in itself) isn't derivative and doesn't get covered
by the GPL.

It is precisely the fact that it is a loadable module, and does not form part of the kernel, that removes the requirement to distribute it under GPL.

The mechanism of linking is irrelevant. It's a matter of
whether a collective work (that may include the non-GPL
file talked about previously) includes GPL components.
If it does, then the collective work is a derivative work
of the GPL components, and the whole work has to be covered
by the GPL. So while the non-GPL file could be distributed
separately with a non-GPL license, as soon as you package
it together with GPL components in such a way that it
is not "mere aggregation", (and the fact that it interacts
and indirectly depends on GPL components to operate
shows clearly that it's not mere aggregation), then
it becomes subject to the GPL.

So if you don't want this non-GPL component to
be subject to the GPL, you must distribute it independently,
and get the end user to load it into their system. You
can't package or distribute it with the GPL components
it interacts with.

Graeme Gill.
-
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to