On Wed, 13 Jun 2001 20:36:42 -0500,
Russell Cattelan <cattelan@xxxxxxxxxxx> wrote:
>"Bryan J. Smith" wrote:
>> Actually, I think everyone here is failing to realize this canNOT be
>> done via the GPL, unless you add the provision. Dynamically
>> linking/loading is normally allowed via the Lesser GPL (LGPL). But
>> as the holder of the copyrights, it is upto SGI to determine what is
>> allowable and what is not.
>What are you talking about?
>What you are saying all of the non GPL'ed linux kernel modules are in
>violation of the GPL?!
>Guess somebody better stick some lawyers on Nvidia.
>Ohh and explain this problem to Linus also.
Linus made an exception to the GPL for loadable kernel modules.
Loadable modules can be non-GPL as long as they use the existing and
exported kernel interfaces, changes to the core kernel must be GPL.
Nvidia cheat on this. Their loadable module is supplied in source form
and is GPL. But the module creates a special device which gives user
space applications direct access to kernel internals. The real code is
in a 2Mb binary only user app which uses the interfaces from their
module to read and write kernel data. Nobody will look at bugs with
Nvidia code loaded because we do not know what they update in the
kernel via their "let's break all kernel integrity" interface. The
Nvidia code is actually within the letter of the GPL, the system call
interface is the boundary between the GPL kernel and the non-GPL user
space applications. However it is definitely against the spirit of the
Other binary only modules fall within Linus's exception to the GPL.
There are arguments that Linus does not have the authority to make this
exception. A module can use any exported kernel interface, on a strict
reading of copyright law only the people who wrote each interface can
relax the GPL for that interface, Linus did not write everything.
However nobody has felt strongly enough about this point to put their
foot down (yet).