GPL, GPFS, and exporting kernel symbols
Posted Feb 27, 2004 20:34 UTC (Fri) by gleef
In reply to: GPL, GPFS, and exporting kernel symbols
Parent article: invalidate_mmap_range() again
To my knowledge there's no legal barrier to patching the Linux kernel so that a GPL_EXPORT becomes an EXPORT, nor is there a legal barrier to distributing the patch or the patched kernel. The potential legal issue is with the modules that use these exported items.
In my view, the main purpose of the GPL_EXPORT is to make it blindingly obvious to module developers that if your proprietary module requires this item, your module will be subject to extra scrutiny that might lead to a lawsuit from a kernel developer who thinks your proprietary use of GPL code is a violation of his or her copyrights.
To phrase it another way, EXPORT puts the code into the official exported kernel ABI, and using the exported kernel ABI to develop your proprietary module is pretty clearly making a separate work that is not derivative of the Linux kernel. On the other hand, GPL_EXPORT is for stuff that's really internal bits, but the developers have some reason to make it look like ABI to well-behaved GPLed modules.
Distributing a proprietary module based on Linux kernel internals is dancing in a gray area of potentially distributing derivative works without a license. It might just get an angry developer to sue you. One of the first parts of such a lawsuit would be an injunction against distributing that module. Since almost all proprietary, binary-only Linux kernel modules are distributed by commercial entities for business reasons, it would presumably hurt to no longer be able to ship the module.
In this particular case, IBM is trying to sell Linux clusters using this filesystem, and it would benefit both IBM and the Linux developers to identify and resolve any legal issues with GPFS as early as possible. Exporting a symbol that apparently should be part of the official exported ABI would be a big step towards resolving this.
to post comments)