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
