To view parent comment, click here.
To read all comments associated with this story, please click here.
So, since the Nvidia binary module does not require kernel headers to compile, wheres the beef?
I dont see anything tricky here at all - Nvidia have simply created a video driver API, stuck it in the kernel under GPL and compiled an application (the driver) that makes calls to it.
Every program run on a linux system makes system calls - and the argument that the POSIX API is well defined and programs that use it are somehow exempt from the GPL's taint - without a rational explanation why some other API, like NVidia's shim, doesn't provide exactly the same 'exemption' holds no water in my view.
The truth is that purely descriptive APIs are unprotectable, and may be freely used without the resulting work being encumbered by the originals license.
This is a double-edged sword - if it were not true, then Linux would probably be unable to legally implement much of the UNIX-like functionality it does, and software like WINE, Samba etc. would similarly be illegal.
There are ways to write APIs such that they would theoretically taint a program compiled against them by copying protectable elements into the resulting binary, but i've never seen any analysis of just what the scope of this issue is. It would seem, based on WINE, that the entire Win32 API is not copyrightable.
If you don't use GPL code in your program, and your programs compiled binary does not contain protectable elements from a GPLed program, then your program is not affected by the GPL, and can be bundled as 'mere aggregation' It's as simple as that.





Member since:
2005-10-02
It depends whether or not the compiled driver links against the GPL'ed kernel. And if depends on the nature of the translation layer between the kernel, the wrapper and the driver.
Very very tricky.
But aggregation stops when you start linking to an application (e.g. requiring GPL'ed headers to compile).