[NTLK] MAD, GPL, and all that

From: Sean Luke (sean_at_cs.gmu.edu)
Date: Mon Nov 12 2001 - 12:34:52 EST


It's true that I got permission to change Waba from GPL to BSD because
of the gotcha mentioned in the thread here:
http://www.macslash.com/article.pl?sid=01/10/04/1333218&mode=thread

But in truth, the reason we did this was because Paul was concerned, and
I figured it's easier to ask WabaSoft for permission to change matters
right now than to just push our luck with them later. So we got the
license changed to BSD. Anyway, here's the paragraph in the GPL that's
at the heart of the problem (see section 3 of
http://www.gnu.org/copyleft/gpl.html ):

> The source code for a work means the preferred form of the work for
> making modifications to it. For an executable work, complete source
> code means all the source code for all modules it contains, plus any
> associated interface definition files, plus the scripts used to control
> compilation and installation of the executable. However, as a special
> exception, the source code distributed need not include anything that
> is normally distributed (in either source or binary form) with the
> major components (compiler, kernel, and so on) of the operating system
> on which the executable runs, unless that component itself accompanies
> the executable.

Paul's (plausible) interpretation of the above is that cross-compilation
(compiling on one machine [the Mac] for another platform [the Newton])
is outside the "special exception" and thus the compiler and libraries
must be open source.

But this exception can be interpreted in a number of ways. We might
argue that NTK and ARMCpp *are* the compiler, and so qualify as "major
components" of the operating system. Of course, they theymselves don't
run on the operating system, but that wasn't required -- they just had
to be "components" of the operating system to qualify for the special
exception clause. And by extension all the libraries and include files
also get special exception.

I think this is a reasonable, spirit-of-the-law interpretation of the
license. As such, I think there are two ways one can go. If you're
worried that someone is going to nail you to the wall, and you've got a
lot of money riding on the development you're doing, etc., then sure,
you want to make sure that all possible interpretations of a license
favor you (or get a preemptive judgement by a court). If it's not a
serious worry to you, then use your own more reasonable interpretation,
and assume that forgiveness is easier to obtain that permission.

The Newton community is too small to be a threat to anyone, commercially
or morally. Truth be told, the MAD folks could care less about us, much
less whether or not we linked their code against a "non-open" compiler
and library, as long as we're not taking their code and doing something
unseemly with it.

I say: port the dang thing, and if the MAD guys get mad, and ask that it
not be used, then agree and don't use it. But the probability of that
is so infinitesimally small that the utility of even discussing the
problem isn't worth it.

Sean

--
This is the Newtontalk mailinglist - http://www.newtontalk.net
To unsubscribe or manage: visit the above link or
	mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe



This archive was generated by hypermail 2.1.2 : Sat Dec 01 2001 - 20:02:38 EST