[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GPL scripts with a GPL-incompatible interpreter

On Tue, Dec 17, 2002 at 11:07:27PM +0100, Henning Makholm wrote:

> MEANWHILE: The Danish communications engineer Dennis Damm realizes
> that efficient polynomial factorization can be used for an elegant
> analysis of network choke points. He quickly writes a prototype
> iplementation in AngstRom which calls Dammit and releases under GPL.
> Shortly after Damm dies in a driving accident.

> LATER: Ernest Enema, a research fellow at Cambridge, is impressed
> enough with Dammit to take over the maintainership. However, he finds
> that its user interface for specifying network topologies is rather
> ghastly. So for release 1.2 he pulls it out and puts a slightly hacked
> version of Chasm's Barter port there instead. This ought to be OK, he
> thinks - both programs are GPL'ed.

> LATER YET: Dammit 1.2 becomes immensely popular. Debian begins
> distributing it in contrib (since it can only run on the non-free
> AngstRom).

> HOWEVER, Bart Bored is not amused that his GPLed user interface code
> in the original Barter has now ended up as a front end for a tool
> which relies on Anton Angst's proprietary implementation of a patented
> algorithm to provide its basic functionality. He had expected - with
> some right, I'd say - that using the GPL rather than LGPL would
> prevent exactly that.

> Now who should we blame with "connecting the dots" in this story?
> Clearly, nothing untowards happens until Ernest borrows code from one
> GPL'ed script into another. And it does feel wrong to blame him for
> *that*. Then perhaps the villain is Debian - we're the first party who
> distributes both AngstRom and Dammit? And if *that* is the case, it
> means that there is an effect here that we (debian-legal) ought to be
> aware of.

Although I think it's a little difficult to tell which scenario will
apply without examining AngstRom, probably in more detail than you're
willing to sketch out :), I see only a few possibilities here:

* Mr. C's port is not technically a derived work, and is not subject to
  Mr. B's copyright; licensing the port under the GPL is a nice gesture,
  but not legally required.

* The AngstRom source is not subject to section 3 of the GPL, because it
  is an interpreter only.  This is analogous to the case of PHP.  In this
  case, Bart did not understand the license he was using.

* The AngstRom source is subject to section 3 of the GPL, but enjoys
  protection under the operating system components exception.  This is
  only true if AngstRom comes with the OS, and Dammit does not.  Debian
  is ok as long as we don't distribute Dammit or the Chasm Barter port;
  also, no third parties are allowed to distribute Dammit or Chasm Barter
  for use on Windows systems.  This is analogous to the case of OpenSSL.

* The AngstRom source is subject to section 3 of the GPL, and the Dammit
  authors (Mr. D and Mr. E) have given permission to use their code with
  AngstRom.  However, Mr. E and Mr. C are infringing Mr. B's copyright
  by creating a combined GPL work and distributing it without all of the
  source code, and anyone else would also be infringing Mr. B's copyright
  by distributing.  This is analogous to the case of KDE.

* The Angstrom source is subject to section 3 of the GPL, and its authors
  have not given permission to use their code with AngstRom.  This means
  Mr. D (and Mr. A, if he was willing to give up his IP rights) is the
  only person who could ever legally distribute Dammit.  Mr. E is
  infringing the copyright of both Mr. D and Mr. B.

In all of these cases, either the use is permitted under the GPL, or it
is possible to point to one or more parties as being liable for the
infringement.  Although in the real world it would probably take several
lawyers (and possibly a judge) to determine which of these cases applies,
I don't think there's anything here that hasn't been considered by
debian-legal before.

Steve Langasek
postmodern programmer

Attachment: pgpm3P99THHq_.pgp
Description: PGP signature

Reply to: