Samba into kernel
mseitz at snapserver.com
Wed Mar 27 10:49:02 GMT 2002
>From: Urban Widmark [mailto:urban at teststation.com]
>>On Mon, 25 Mar 2002, David Lee wrote:
>A kernel module is a plugin and it does more than simply use the kernel,
>it extends it.
>If this was allowed I could create a proprietary program P, add a plugin
>interface "PPI" and publish the interface. Then take whatever GPL'ed
>program I needed and use it to improve P through PPI.
It is true that, in general, one cannot distribute a plug-in that uses GPL
code without publishing the source of the program that uses the plug-in.
This is because the plug-in links new code (P) with GPL code. Therefore,
under the general rules of the GPL, one must distribute both P and the GPL
code. However there are two exceptions that might apply in this case:
1. If one is the copyright holder of the GPLed code, one can add exceptions
to the GPL license to allow linking to particular non-GPL code. In this
case, the copyright holders of the Samba source code used in the Solaris
plug-in could grant permission to allow linking the plug-in to Solaris.
2. Generally, the GPL allows distributing GPL code that links to the kernel
without distributing source code for the kernel. Since one can link GPL
code to the kernel without distributing the source code for the kernel, one
should be able to distribute a kernel plug-in using GPL code without
distributing the source code for the kernel. So in this case, one could
distribute a Solaris plug-in that uses Samba's GPL code. Note: There is
one exception to the kernel exemption (see below).
>> Now if Sun (or equivalent manufacturer) were to do it, and want to
>> maintain their code private, I (though not a lawyer) see how that might
>> well (almost certainly?) breach GPL. But I'm talking about _us_, the
>> Samba community, writing onto this alternative interface.
Exactly right (see above and below).
>Sun has the same rights as everyone else regarding the GPL, including
>members of the Samba community.
Actually, Sun doesn't have the same rights as everyone else. According to
the GPL, if one distributes both the kernel and the GPL code, then one loses
the kernel exemption and must distribute the source for both the kernel and
the GPL code. This prevents a kernel writer from using the kernel exception
to get around the GPL restrictions.
Since Sun distribute the kernel, they do not get the GPL exemption allowing
linking GPL code to the kernel without publishing the source to the kernel.
So Sun could not distribute a plug-in that uses GPL code and links to the
Solaris kernel, but anyone else who does not distribute Solaris could.
More information about the samba-technical