On 8/22/07, Grant Likely <..hidden..
> wrote:On 8/21/07, Chris Travers <
..hidden..> wrote:
> Are nVidia's closed source driver components for Linux a GPL violation? If
> so, why has nobody tried to enforce this over the substantial time that this
> has been going on? Thus does the GPL actually guarantee the user any rights
> that the LGPL does not?
FWIW, nVidia and others are able to distribute a binary blob without
violating the GPL because the binary blob is not compiled or linked
against any of the kernel headers. The end-user runs a script which
links the blob against the kernel headers to produce a loadable kernel
module. Once linked; the end user is free to use the kernel modules
however he whats, but he is not free to distribute it.
Applie tried to do this with their objective c libraries for the GCC and were threatened by the FSF into releasing them under the GPL. IANAL, but I think that the difference with nVidia amounts to:
1) nVidia's proprietary code is not derived from nor does it use any interfaces from GPL'd code itself. A compatibly licensed bridge accompanies the software. The proprietary code is therefore non-derivative.
2) nVidia does *not* distribute this as a part of a larger Linux kernel collective work. THis is then reasonably seen as a "separate" work under the GPL v2, section 2.
However, it seems to me an open question whether a Linux distributor could be sued for bundling these on the same media by creating a larger "work as a whole" incorporating the Linux kernel and all the drivers they distribute or whether this is "mere aggregation."
This creates some interesting questions for us as a community. These are mostly of interest in the compatibility section. However, given the Lexmark v. Static Control Components case (2004), we might benefit from offering "safe" interfaces and permissions so that if someone does something we don't like, we don't run into the question of whether we are using copyrights to prevent interoperability. This is one area I want to consult with an attourney (maybe next week?). THe basic concern is that if there are no interfaces which are *clearly* safe, we might lose substantial control over the form of additional components.
Best Wishes,
Chris Travers