LWN.net Logo

On the value of EXPORT_SYMBOL_GPL

On the value of EXPORT_SYMBOL_GPL

Posted Oct 6, 2005 5:39 UTC (Thu) by zlynx (subscriber, #2285)
Parent article: On the value of EXPORT_SYMBOL_GPL

The _GPL exports don't really prevent anything, legally or technically.

The *end user* of any GPL software has been granted a right to modify it. That means the end user is perfectly free to sed every EXPORT_SYMBOL_GPL into EXPORT_SYMBOL if they like.

If this lets them use their favorite binary-only module with the newest kernels, they'll do it. I've done such things in order to get -mm or -rc kernels working with VMware or nVidia.

It's even doubtful that there's any restriction on changing _GPL exports to non _GPL exports or adding new exports. There's no magic EXPORT_SYMBOL fairy, so who gets to decide?

Even if that wasn't kosher, you could just write a GPL kernel module that marshalled kernel calls to user space through some kind of RPC ioctl, filesystem or netlink socket. Call it an experiment in micro-kernel message passing.

EXPORT_SYMBOL_GPL works okay as long as both the kernel devs and proprietary vendors stay polite. If the proprietary guys get too obviously evil, someone will smack them. On the other hand, if the kernel devs go too crazy with spreading the _GPL around, people will just ignore it and dare a court case.


(Log in to post comments)

On the value of EXPORT_SYMBOL_GPL

Posted Oct 6, 2005 7:37 UTC (Thu) by lacostej (guest, #2760) [Link]

Yes but I don't see Joe Lambda recompile his kernel. In the majority of the cases, it's up to the kernel distributors, i.e. the Linux distributions. I don't see why those ones would revert the GPL friendly symbols.

Because of that companies won't be able to use these exports except by cheating and making their module described as GPL. It's been done before. But Linux believes that this technical restriction is sufficient to protect Linux from these kinds of cheating. I agree with him.

On the value of EXPORT_SYMBOL_GPL

Posted Oct 6, 2005 8:04 UTC (Thu) by mingo (subscriber, #31122) [Link]

if someone modifies those symbol exports (even if not using the binary-only module), with the intent to enable the use of binary-only modules by third parties, they are potentially involved in contributory copyright infringement.

so the rule here too is "if you want to do that, talk to your lawyer".

On the value of EXPORT_SYMBOL_GPL

Posted Oct 6, 2005 15:46 UTC (Thu) by zlynx (subscriber, #2285) [Link]

If the vendor does it, it's probably some sort of infringement. However, if they just keep publishing their module with a note "Works with Linux Kernel 2.6.11 and earlier.", they're fine. If someone _else_ creates a kernel patch to allow that module to run on 2.6.17, the vendor isn't responsible, and I don't really see how you could convince a court that a 3rd party unrelated to the vendor is infringing anything by modifying code when that 3rd party has a license granting him an explicit right to modify the code.

On the value of EXPORT_SYMBOL_GPL

Posted Oct 6, 2005 15:50 UTC (Thu) by dmarti (subscriber, #11625) [Link]

Talk to your lawyer -- and build your own software testing and distribution infrastructure, and hire full-time testers because you don't know when the next kernel, or a distribution's kernel, is going to break your driver, and basically do the whole driver as a full-blown independent proprietary software product -- only it's a "product" that will make you no money.

Oh, and just in case the interfaces you're depending on ever change, better keep that lawyer on retainer.

About 20% of people who use Linux in business don't consider the driver license when buying hardware.

About 20% will not use a proprietary driver on Linux, period.

About 60% take the license of the driver into account in some way -- won't buy hardware if there's competing hardware with a GPL driver, won't use a proprietary driver unless their distribution commits to supporting it, or just use licensing as one of several factors when considering hardware.

On the value of EXPORT_SYMBOL_GPL

Posted Oct 14, 2005 4:29 UTC (Fri) by turpie (guest, #5219) [Link]

"Oh, people can come up with statistics to prove anything, Kent. 14% of people know that." - Homer Simpson.

On the value of EXPORT_SYMBOL_GPL

Posted Oct 6, 2005 8:08 UTC (Thu) by fenrus (guest, #31654) [Link]

> EXPORT_SYMBOL_GPL works okay as long as both the kernel devs and proprietary vendors stay polite.

proprietary vendors will generally be careful to not say "change your kernel in this way to run this module" since that opens them up to "you're a derived work" claims (it's really hard to claim you're independent if you require changes in the other thing to work after all, especially if you have to document them and maybe even provide a patch), and the smart ones at least will have lawyers that tell them not to do it.

There are dumb ones out there of course and it's thus almost inevitable that a lawsuit is going to happen in the next year or two.

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