"Open Source Constitution"?
chuck at codefab.com
Sun Apr 10 00:38:45 UTC 2005
Bruce Perens wrote:
> Chuck Swiger wrote:
>> Also, which license are the nVidia and ATI drivers infringing?
> The GPL license on the Linux kernel, for their driver. The GLX library
> which they link into X does not - at least at first glance - appear to
> be an infringing product.
If nVidia or ATI were to distribute a Linux kernel with their driver compiled
in, I would agree with your position: they would be subject to the GPL because
they would be redistributing GPL'ed code, and therefore be obligated to make
the sources for their driver available.
However, assuming their drivers contain zero GPL'ed code, how could the GPL
possibly apply to the code they wrote?
Let's suppose I were to write a simple command line utility using the standard
C getopt routines, under some license or other-- it doesn't matter which, the
Fair License would do, or BSD, or whatever.
Someone submits a patch to me so that my program is willing to dynamicly load
GNU getopt and readline, if those libraries are available on a particular
host. If I accept that patch, does the code I wrote suddenly need to be under
The answer is no, and LGPL clause #5 supports this:
"5. A program that contains no derivative of any portion of the Library, but
is designed to work with the Library by being compiled or linked with it, is
called a "work that uses the Library". Such a work, in isolation, is not a
derivative work of the Library, and therefore falls outside the scope of this
Of course, if I compile a binary using the GNU readline, and make that
publicly available, I would be obligated to make the sources for GNU readline
available at request per LGPL #6. Although, if my binary was targetted to a
platform which comes with GNU readline, #6b would likely apply and I wouldn't
need to do anything special-- the binary I'd offer would contain zero GPL or
LGPLed code, it would simply contain a dynamic reference to load GNU readline
if that library was found.
Let's suppose, one fine day, that someone decides to release a new version of
readline which was licensed under the GPL, not the LGPL. Would I have to
change the license of my code to be the GPL, just because someone runs my
program against this new version of GNU readline?
Of course not. If there was a conflict between my license and the GPL, the
end result would be that nobody (not even me) could redistribute a binary
containing my program and this new GPL-only readline, but I can still
distribute my program in source or binary forms without GNU readline. After
all, the plain-jane version works by itself just fine, so there can be no
question about my work being derivative of the GNU software it optionally
My contention is that the drivers nVidia and ATI offer to the Linux community
are in exactly the same boat as my last example. Their code is under the
terms of their license. Those terms conflict with the GPL. Therefore,
nobody, not a Linux vendor, nor ATI or nVidia, can redistribute the
combination of a Linux kernel and their proprietary drivers, due to GPL #7.
In the meantime, however, end-users are free to install Linux, and then
install the nv or ATI drivers if they like, and get on with life. I think
this describes the current situation accurately, but I would be happy to
consider anything I may have missed.
More information about the License-discuss