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]