Loadable modules are a little tricky...

Story: Does interoperability violate the GPL?Total Replies: 0
Author Content
dinotrac

Sep 17, 2008
8:08 AM EDT
The article links to a brief discussion by Linus that is right as far as it goes.. The important question is not whether something violates the GPL, but whether it violates the GPL in an impermissible way. The GPL derives its enforceability from ordinary IP law. If IP law will not provide legal recourse, the specific terms of the GPL will not matter because you are not relying on its terms for your rights.

Linus mentions the case of modules that were developed for another OS, but his discussion misrepresents what a derived work is. A derived work is a combination is a combination of two copyrightable creative works to create a third copyrightable work. In truth, it's not completely true to say that a module is a derived work (important asterisk to follow) of the kernel. The kernel, with the module loaded, could also be considered a derived work of the module!!

Of course, Linux can work perfectly well without most loadable modules, and loadable modules that work on multiple OSes can work perfectly well without Linux. Something lets each of them work without the other -- each must not rely on some distinct creative piece of work that must have been copied from the other. Some things in software, header files, interfaces, tend to fail the copyrightable test because they are not considered sufficiently creative -- ie, there just aren't many other ways to do something.

So ... It's very possible (not guaranteed) to create a module that doesn't violate copyright law by including some Linux headers but using no other Linux code (or loosely copied code, etc,etc). It gets trickier after that and my copyright knowledge is insufficiently up to date to know how tightly bound distributed objects must be to be considered a combined work, ie -- if you distribute a CD with Linux and your proprietary module together, is that combination sufficiently tight to be a combined work? I believe that it is, but am not sure.

If the module is distributed without Linux, no combined work is distributed and (presuming the module by itself is not a derived work -- ie, contains protectable Linux code or code copied from Linux code) no GPL violation takes place because the distributor is not relying on the GPL for rights. In that case, it is the ultimate user who creates the derived work by putting the kernel and module together. That might be actionable.

Except that, my understanding is that the GPL doesn't place any restrictions on the use of GPL'd software, or even modifications if those modifications are not distributed. Every time you change code in a piece of software, you create a derived work of the original. Adding (by linkage) a new module is the same thing. So....I have trouble seeing the basis for a GPL violation unless the linked module itself contains copyrightable code from the GPL'd software in that case.

Posting in this forum is limited to members of the group: [ForumMods, SITEADMINS, MEMBERS.]

Becoming a member of LXer is easy and free. Join Us!