Hi Graeme, > > 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).
if the overall intention is to write a Linux kernel module/driver then it counts as derivative work for me. No matter how tricky you are and much you try to circumvent or try to hide this fact. However that is my personal opinion. You don't have to agree with me here. Ask your legal counsel. > > 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. You have to make it GPL if you link it against a GPL shim. And in case the shim uses EXPORT_SYMBOL_GPL, the shim has to be GPL. Again, you don't have to agree with me, but I would advise legal counsel now. > >>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. To put this in clear and understandable words. The end user has to break the GPL license and thus violate the copyright of the kernel developers. Regards Marcel - 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
