JTK wrote:
> Ian Hickson wrote:
<snip>
>>The MPL _is_ a free software license as defined by the free software
>>foundation.
>>
>>
> 
> But I can't add GPLed code to it.  That doesn't seem very Free to me.

First, according to RMS the GPL is also incompatible with the Apache 
license (to take but one example), so if that's your criterion then the 
Apache license isn't "free" either. But that's a discussion that 
generates more heat than light.

A more interesting point is the following: If you really wanted to, IMO 
you could add your own GPLed code to MPLed (or NPLed) Mozilla code, and 
distribute the resulting product. To elaborate on this point:

Discussing "license incompatibility" in a theoretical manner is IMO 
pointless. In practice there are only two important questions: whether 
someone is willing and able to sue you, and, if they do, whether a court 
is likely to agree with them.

So suppose you take some Mozilla code released by AOL (or whoever) under 
the NPL or MPL, and combine that code with your own code, which you're 
releasing under the GPL. We'll also assume that your code is in new 
source files, i.e., you didn't modify the original NPLed or MPLed files. 
You then distribute a product consisting of the combined code.

Now, regardless of whether the GPL is in theory "incompatible" with the 
MPL or NPL, who is going to sue you for infringement? AOL and the other 
copyright holders of the Mozilla code could sue you, at least in theory. 
But why would they, as long as you're complying with the requirements of 
the MPL or NPL? And you are -- the NPL and MPL explicitly permit you to 
combine code under those licenses with code under other licenses.

Are RMS and the FSF going to sue you? They may not like what you're 
doing but IMO they wouldn't have legal standing to sue for infringement, 
since they don't hold copyright to any of the code in question; the same 
applies to anyone else out there.

The bottom line is that if it's your own code (and only your own code) 
that's under the GPL, then you're perfectly free to "interpret" the GPL 
in a way that makes it compatible with the MPL or NPL. (This is not just 
a hypothetical example, incidentally -- when Linus Torvalds released his 
Linux kernel code under the GPL, he adopted a special "interpretation" 
of the GPL that allowed people to add binary-only kernel modules.)

However this "loophole" doesn't work in general to solve the MPL/GPL 
"incompatibility" problem, since it doesn't allow you to arbitrarily 
take other people's GPLed code, combine it with MPLed code, and 
distribute the resulting work. In the general case some copyright holder 
of GPLed code somewhere would both object to your actions _and_ have 
standing to sue you, and at that point it would be up to the courts to 
decide who was right, you or them.

> So then why not the LGPL?

Because the "loophole" in the LGPL is very specific: If all Mozilla code 
were under the LGPL, it would allow a vendor to ship a proprietary 
Mozilla-based product that called Mozilla as an LGPLed library. But it 
wouldn't allow people in general to take the LGPLed Mozilla code and 
distribute it with a proprietary module (like a plugin) called by the 
LGPLed Mozilla code. (Again when writing "the LGPL wouldn't allow" I 
really mean, "some copyright holder of LGPLed code might sue, and if so 
they might have a good case given the way the LGPL is worded".)

> I can't add anything to Mozilla without NPL/MPLing it, fine.

That's not quite true, as I discussed above. You have a fair degree of 
freedom of action, as long as it's your own code and you're distributing 
the resulting Mozilla-based product yourself.

However it is true that the people who maintain the mozilla.org CVS 
repository won't accept your code into that repository unless it's under 
the MPL or NPL (or some other license generally accepted as compatible 
with the MPL or NPL). That's because the people maintaining the 
repository are concerned that if people are allowed to check in (or 
otherwise contribute) arbitrary code licensed under the GPL (and only 
the GPL), then one of the original copyright holders of that GPLed code 
might object to distribution of their code as part of Mozilla, and might 
be willing and able to sue for infringement. IMO that's an unacceptable 
risk to take, especially given that the risk of being sued would be 
borne by anyone who distributed Mozilla-based products, including 
individuals who do Mozilla distribution.

> Furthermore, while AOL can take the Mozilla code, do whatever they so
> choose to it, and release it to the public, I cannot do the same,
> correct?

No, you too can do pretty much whatever you want to do to the Mozilla 
code and release it to the public. The only thing you can't do is a) 
violate the license(s) on the Mozilla code or b) change the license(s) 
on that code.

> Ok.  So how about I release "Uncle Gair's Olde Tyme Mozilla Helper", a
> set of GPLed (or LGPLed) patches to the Mozilla source, containing no
> original Mozilla code whatsoever.  Just add a few pounds of original
> Mozilla source, stir, and build, and you got a Mozilla that's not so
> much of a pig.

IMO you're perfectly free to do this, _if_ your patches are in new files 
and are not modifications to the original MPLed (or NPLed) files. (If 
any of your patches were in the form of modifications to the original 
files then you'd have to release them under the MPL or NPL, as required 
by the licenses on the original code.) IMO you can even release your new 
GPLed (or LGPLed) code with the original Mozilla code, as discussed above.

(As usual, please don't confuse my comments with real legal advice from 
real lawyers.)

Frank
-- 
Frank Hecker
[EMAIL PROTECTED]


Reply via email to