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