That simply doesn't follow. It doesn't matter how often that argument is repeated. Linking doesn't make a derivative work. The two are linked; One is dependent on the other; But, neither is derived from the other. That's just not what the word "derived" means.
Adrian
On Thu, Apr 10, 2008 at 1:15 PM, Bradley Hook [email protected] wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Leo Mauler wrote: | "Derivative works are not going to encompass plug-ins | and DEVICE DRIVERS that are designed to be linked from | other off-the-shelf, unmodified, programs. If Linux | is designed to accept separately-designed plug-in | programs, you don't create a derivative work by merely | running such a program under Linux, even if you have | to look at the Linux source code to learn how to do | so."
Actually, you DO create a derivative work by "running" programs/modules of this nature under Linux. The loaded process includes a substantial portion of the Linux kernel (because it IS the Linux kernel), and therefore you are running a derivative work. However, that isn't the issue with GPL code, because once the code legally makes it to your machine you can do WHATEVER YOU WANT so long as you don't redistribute it outside of the GPL allowances.
The derivative work isn't created until you load the module into the kernel. Before that, it is a work which DEPENDS ON but is not DERIVED FROM the kernel. In other words, it is legal to distribute a proprietary module which DEPENDS ON the kernel, so long as it isn't distributed with the kernel or any substantial portion of it. If you get your kernel source from kernel.org, and your nVidia package from nvidia.com (which doesn't include any kernel code), then you can legally compile and run the resulting module without violating the GPL. If you redistribute the resulting module, you ARE violating the GPL from a technical standpoint, but since the module can be legally built without violating the GPL, it is a moot point because it is only for convenience.