Subject: Platform limitations and GPL clause 3
From: Martin Pool <>
Date: Thu, 15 Apr 1999 18:32:32 +1000

I've been wondering about the interactions between GPL clause 3
(requirement to distribute source with modified redistributions) and
non-free OSs.

A hypothetical:

Suppose Alice writes a device driver D for platform L, and releases it
under the GPL.  Let's suppose L is a free OS: free kernel, free tools,
and so on.  People port the driver to other free platforms. 
Everything's fine.

Suppose Bob takes advantage of the GPL's modify-and-redistribute clause
to port the driver to non-free platform N.  Even though the OS isn't
free, the modified driver can be compiled by anyone with gcc, binutils,
N's linker, and so on.  Bob sends the modifications back to Alice, or
redistributes them under the GPL.  People have the choice of either
rebuilding Bob's code themselves or using a binary.

Suppose Charles wants to port the driver to non-free platform W. 
However, on platform W one can't write drivers using a normal compiler,
linker, library, and so on: one has to pay $2000 for a developer's
license for the "Device Driver Kit" from W's vendor.  Let's suppose for
the time being there's no NDA involved, but that the DDK can't be

If Charles wants to redistribute his version of the driver under the
GPL, he can't do so because there's no way to fulfil clause 3's
requirement to include all the source necessary to work on the driver on
platform W.  This seems to make sense because even Alice couldn't
rebuild the modified version of her software without licensing the DDK. 
Charles isn't even allowed to make the port for his own use, but can't
redistribute it in binary or source form.

If Charles negotiates an alternative license with Alice he can make the
port if that license permits it.

Is this correct?

 /\\\  Mincom | Martin Pool          |
// \\\        | Software Engineer    | Phone: +61 7 3303-3333
\\ ///        | Mincom Pty. Ltd.     | 
 \///         | Teneriffe, Brisbane  | Speaking for myself only