Invitation to ubuntu developers

Matthew Garrett mjg59 at srcf.ucam.org
Tue Nov 28 14:08:06 GMT 2006


On Tue, Nov 28, 2006 at 09:25:00AM +0000, David Hart wrote:
> On Sun 2006-11-26 14:35:42 +0000, Matthew Garrett wrote:
> > Many (most, in fact) of the upstream kernel developers hold that kernel 
> > modules are inevitably derived works of the kernel, and therefore must 
> > be released under a GPL-compatible license. In Ubuntu, we attempt to 
> > avoid that issue with a technicality - non-free kernel drivers are 
> > shipped as independent object files, which are then linked at boot time. 
> > As a result, we don't break the license, since the boot-time linking is 
> > use rather than distribution.
> 
> In what way are non-free kernel modules distributed differently than
> free ones (other than that they come from different repositries)?

Free kernel modules are distributed as .ko files that are linked against 
code from the kernel. Non-free kernel modules are distributed as a set 
of .o files. No GPL code crosses .o file boundaries at distribution 
time. Instead, they're linked into .ko files at boot time. See the 
linux-restricted-modules build script and 
/etc/init.d/linux-restricted-modules-common .

> > In theory, anyway. If non-free kernel modules are a violation of the 
> > letter of the GPL, then what we're doing is pretty clearly a violation 
> > of (at least) the spirit. It's certainly won us no friends in the 
> > upstream kernel community.
> 
> But it's not at all clear to me that non-free kernel modules _are_
> a violation of either the letter or the spirit [1] of the GPL.
> The GPL quite clearly states that the _use_ of the program is
> outside its scope.

Upstream authors disagree.

> Modules, on the other hand, can generally be loaded/unloaded
> at run time and they don't necessarily contain any kernel code.
> I don't see how this is very much different than, say, running a
> shell script under bash.  I'm not required to GPL my bash scripts
> if I distribute them.

It may be possible to write a module that doesn't contain any kernel 
code, but it's very very difficult - look at the number of macros and 
inline functions in the kernel header files. Many of those are long 
enough to be afforded copyright protection.

> Whilst I realise that the GP post was a parody of Mark Shuttleworth's
> post to OpenSUSE he states at the bottom that his post is based on
> facts.  It is _not_ a fact that including non-free drivers violates
> the GPL.  Moreover, if the non-free drivers are used and distributed
> in the same way as free ones then there is no circumvention involved.

By that metric, nor is it a fact that they're not a violation of the 
GPL. They're in a grey area. It's pretty clear what upstream's position 
is (with a few exceptions), and I tend to lean towards believing that we 
should respect that opinion. From a legal point of view, though, it's 
certainly possible that we're in the clear. We just won't know unless 
there's a lawsuit.

-- 
Matthew Garrett | mjg59 at srcf.ucam.org



More information about the ubuntu-devel mailing list