On the value of EXPORT_SYMBOL_GPL
Posted Oct 6, 2005 5:39 UTC (Thu) by zlynx
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.
to post comments)