LWN.net Logo

Proprietary loadable kernel modules

Proprietary loadable kernel modules

Posted Mar 23, 2011 23:28 UTC (Wed) by baldridgeec (guest, #55283)
In reply to: Proprietary loadable kernel modules by FlorianMueller
Parent article: Has Bionic stepped over the GPL line?

I should probably keep my mouth shut, not being a kernel developer, but I have always understood a (non-GPL) loadable kernel module's ability to link to code as being governed by the "#define GPL" sections.

This obviously DOES NOT mean that they cannot have include files which also have text defining the GPLed interfaces (indeed, AFAIK most if not all proprietary LKMs simply #include the kernel's own header files.) It is the use of those interfaces in the code which determines the behavior of cc and ld, and determines whether the module is considered a derivative work for the purpose of license compliance.

That being said, I'm not sure why the question of LKM licensing is coming up anyway, since Bionic is a reimplementation of libc, not a module.


(Log in to post comments)

Proprietary loadable kernel modules

Posted Mar 24, 2011 13:07 UTC (Thu) by vonbrand (subscriber, #4458) [Link]

That is the intent of the kernel hackers; whether the law agrees with this is quite another thing...

Proprietary loadable kernel modules

Posted Mar 24, 2011 14:04 UTC (Thu) by etienne (subscriber, #25256) [Link]

The intent of the kernel hackers is a bit like the intent of GCC developers when they say that the resulting executable is not a derived work of GCC, or the intent of word processors developers when they say the final document is fully owned by the author of said document.
If the law disagree that may have very high consequences.

Proprietary loadable kernel modules

Posted Mar 24, 2011 19:53 UTC (Thu) by vonbrand (subscriber, #4458) [Link]

OK, perhaps I misspoke. What I meant is that the kernel gang considers stuff using userland interfaces OK under whatever licence you fancy (not in the sense that such code is "not derivative", but that that such use is allowed), while using kernel-internal interfaces (specially ones marked GPL-only) is strictly GPL. It might be that the law says that both uses create derivatives, in which case you are being given an explicit permission for userland while in-kernel use is strictly GPL-only because it is a derivative; or it might say neither does, in which case the whole discussion is moot.

Proprietary loadable kernel modules

Posted Mar 25, 2011 0:42 UTC (Fri) by rgmoore (subscriber, #75) [Link]

The stated intent of the kernel hackers (or anyone in a similar position) has a great deal of effect when they say that something is permitted. If Linus says "you're in the clear as long as you don't use anything within #define GPL", then he can be legally barred from turning around and suing somebody when they take him seriously. Even without a formal statement along those lines, officially designating some symbols as GPL only implies that the rest of the symbols may be used by non-GPL modules.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds