[eigen] MPL2 is really compatible with GPL/LGPL

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi,

I've finally had a look at it and in fact it's really clear --- sorry,
I don't know why I took so long to get back to it, sometimes you just
need to give your brain some time before you come back to a problem.

I am CC'ing Gerv who is a MPL expert at Mozilla to hopefully check
that I am not saying anything wrong here.

Here goes:

The MPL itself doesn't ever mention the GPL, LGPL, or any other
licenses. So the compatibility is implicit and generic. The FAQ
explains it, though not as simply as I would like for non-lawyers,
which is why I didn't get back to it until today:
http://www.mozilla.org/MPL/2.0/FAQ.html#mpl-and-lgpl

Here is my understanding of things from the MPL2 text, regardless of the FAQ:

The license is designed to be GPL compatible by default, but allow you
to opt out from it. This opting-out feature is primarily intended for
existing software that is licensed under MPL1, and not dual-licensed
with GPL and/or LGPL. Such software is not currently GPL-compatible,
so they had to find a way to allow it to upgrade without having to
accept GPL-compatibility (I guess). Anyway, the key is that this is
NOT our case and if we relicense to plain default MPL2 we are NOT
concerned by this at all. The default case, into which we fall by
default, is GPL-compatible.

Here is how this is working in the MPL2 text. The key part is Section 3.3:

> 3.3. Distribution of a Larger Work
>
> You may create and distribute a Larger Work under terms of Your choice, provided that You also comply with the requirements of this License for the Covered Software. If the Larger Work is a combination of Covered Software with a work governed by one or more Secondary Licenses, and the Covered Software is not Incompatible With Secondary Licenses, this License permits You to additionally distribute such Covered Software under the terms of such Secondary License(s), so that the recipient of the Larger Work may, at their option, further distribute the Covered Software under the terms of either this License or such Secondary License(s).

So as long as we are not "Incompatible With Secondary Licenses", we
are GPL compatible in the sense that if you combine MPL2 and GPL code
to create a Larger Work, you can distribute the Larger Work under dual
MPL/GPL. As explained in the FAQ, "Someone downstream from your
recipients can then take under (L)GPL-only or MPL-only.".

The question becomes then, what decides whether we are "Incompatible
With Secondary Licenses"?

This is explained clearly by Section 1.5: we would be "Incompatible
With Secondary Licenses" if either of the following conditions were
true:
 - either if Eigen had been previously licensed as MPL1 only (does not
apply to dual-licensing with MPL and another license).
 - or if we added the text snippet from Exhibit B to explicitly opt
out from compatibility

Since we are not in either case, we are not  "Incompatible With
Secondary Licenses". Therefore, the provisions of 3.3. Distribution of
a Larger Work apply to us, i.e. we are compatible.

Is this fully clear to everyone?
Benoit



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/