video cards

Luke -Jr luke at dashjr.org
Fri Apr 4 00:25:07 CDT 2008


On Thursday 03 April 2008, Leo Mauler wrote:
> --- Luke -Jr <luke at dashjr.org> wrote:
> > On Thursday 03 April 2008, Leo Mauler wrote:
> > > --- Luke -Jr <luke at dashjr.org> wrote:
> > > > On Thursday 03 April 2008, Jeffrey Watts wrote:
> > > > > All significant parties - the guy that wrote the GPL, the guy that
> > > > > wrote Linux - say what nVidia is doing is okay, and that the issue
> > > > > isn't what they are doing, but is instead a limitation of the
> > > > > license itself.
> > > >
> > > > Greg, the guy I quoted earlier, is a Linux developer and copyright
> > > > holder.  Furthermore, none of the developers nor RMS are IP lawyers.
> > > > The only citation of IP lawyers thus far in this discussion has been
> > > > that binary modules are illegal.
> > >
> > > There's a legal term which you should become aware of: "estoppel".  In
> > > general it protects a party who would suffer detriment if:
> > >
> > > * The defendant has done or said something to induce an expectation
> > > * The plaintiff relied (reasonably) on the expectation...
> > > * ...and would suffer detriment if that expectation were false.
> > >
> > > In linux/COPYING we read that Linus has created an expectation that his
> > > copyright doesn't make binary drivers illegal simply through making
> > > system calls: 
> > >
> > > linux/COPYING says: "This copyright does *not* cover user programs that
> > > use kernel services by normal system calls - this is merely considered
> > > normal use of the kernel, and does *not* fall under the heading
> > > of "derived work"." 
> >
> > Again, nVidia's blobs are neither user programs nor merely use system
> > calls. 
>
> Actually that isn't true.  nVidia's driver uses a GPL'd "shim" or "wrapper",
> which means that the GPL'd wrapper makes all the system calls, and the
> nVidia driver makes calls only to the GPL'd wrapper.

I highly recommend reading http://en.wikipedia.org/wiki/System_call and learn 
that a system call is not merely "calling a function in the kernel". nVidia's 
driver does not (AFAIK) use system calls, and certainly does not ONLY use 
system calls.

Also, if you want to assert that the source code wrapper included is GPL, 
nVidia is clearly in violation for not including the license text with it, 
nor even a notice that it falls under the GPL. The only reference to the GPL 
relating to nVidia's driver is a comment in the Changelog stating that 
they "Removed all GPL'd code from nv.c.".

And if the wrapper were to be GPL'd, as is legally necessary from the fact 
that it is derived from Linux, it would be illegal to link it to 
nVidia's "kernel independent component", which is not GPL-compatible.

> Since Linus, and your favorite kernel developer Greg Kroah-Hartman, have
> already signed off on giving ndiswrapper back its GPL status, it would seem
> that the "GPL wrapper for non-GPL code" option is alive and well and
> ACKNOWLEDGED BY GREG KROAH-HARTMAN. 

Again, NDISwrapper is legal because it is GPL. The NDIS drivers are legal 
because they are derived from the NDIS spec, and not NDISwrapper. There is no 
comparison here.

> Greg saw the change and acknowledged the change.  Greg has thus given nVidia
> and any distribution which uses nVidia drivers (which use ndiswrapper-like
> wrappers to allow non-GPL'd code to work as legal Linux kernel modules) all
> the "estoppel" they'll ever need in court.

No, nVidia's wrapper is nothing like NDIS. It does not implement a generic 
API. Anything using nVidia's wrapper is inherently derived from the wrapper, 
since there is no other possible option they could conceivably be derived 
from.

> > This exception is not applicable to them.
>
> This is also immaterial because the GPL merely refers to "derived works",
> and Linus has already delivered an opinion that nVidia's binary-only drivers
> aren't "derived works":

Linus had nothing to do with writing nVidia's driver, so how would he know?
Besides, the infringing part is their source wrapper, not the binary blob.


More information about the Kclug mailing list