Re: GPL scripts with a GPL-incompatible interpreter
Scripsit Steve Langasek <email@example.com>
> On Tue, Dec 17, 2002 at 01:57:17AM -0800, Thomas Bushnell, BSG wrote:
>> So that there is no way to evade the GPL by doing things that
>> happen to be individually OK, and in sum, just happen to get around
>> the license. They only way to do this is if it is *really* an
>> accident; not as something you plan on, since that would, ipso
>> facto, be an intention.
> But if it's really accidental, that means no one's connected all of the
> dots to create an infringing whole. The moment someone *does* connect
> those dots, *that* person is in violation of the GPL.
I'm not sure I agree about that. Consider the following fleshed-out
version of my original scenario:
FIRST: Young Austrian math genius Anton Angst discovers a new
efficient algorithm for factoring polynomials in multiple
variables. He promptly patents it and wows that it will make him
rich. Angst invents yet-another-vaguely-C++-like-language in which
polynomial factorization is a primitive operation. He calls it
AngstRom and starts distributing an interpreter-and-IDE as a win32
binary. It's freely redistributable but supposed to make money
for AngstCorp by being spyware.
Some time after, AngstCorp releases spyware-free linux x86 binaries in
the hope that a satisfied geek userbase will lead to the win32
AngstRom taking over the world quicklier. Debian begins redistibuting
them in the non-free section.
MEANWHILE: Belgian hacker and part-time FSF partisan Bart Bored
develops Barter, a visual dependency-graph editor for GNU make. He
releases the Scheme code for Barter under the GPL.
LATER: Colin Chasm, a Canadian high-school teacher, knows nothing
about polynomials, but has fallen absolutely in love with the AngstRom
IDE and is - for a copule of weeks - convinced that peace and
happiness will conquer the world the day all software is written in
AngstRom. For large-scale AngstRom software development, however, he
needs a way to specify library-client dependencies. So he ports Barter
to AngstRom using a homemade Scheme-to-AngstRom translator and about
half as roll of duct tape. Respecting Bored's copyright, Chasm
releases the AngstRom port of Barter under the GPL.
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
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
Henning Makholm "Uh ... a picture of me with my hair pinned up
in a towel and standing in front of a grid without a
trace of makeup? *Are you out of your rock-happy mind?*"