Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Questions about (L)GPL compatibility

60 views
Skip to first unread message

Benoit Jacob

unread,
Jan 16, 2012, 8:53:18 AM1/16/12
to governance...@lists.mozilla.org
Hi,

First of all, the Eigen C++ library is officially considering relicensing to MPL2:

http://thread.gmane.org/gmane.comp.lib.eigen/2667

This library is currently dual-licensed LGPL3+ / GPL2+.

I said that we should switch to MPL2 only instead of tri-licensing, as my understanding was that multi-licensing exposed us to GPL-only back-contributions unusable by us, and I thought that the MPL2 was compatible enough with the LGPL and GPL.

But reading this,

http://www.mozilla.org/MPL/2.0/FAQ.html#mpl-and-lgpl

I'm confused. Here are my questions:

1. With MPL2, by default, what is the status of GPL / LGPL compatibility? It would be useful to recall in the FAQ what "A is compatible with B" means, remind the reader that it's not symmetric (doesn't imply that B is compatible with A) and may I also suggest that these tables in the GPL FAQ are a great idea and it would be great to have such tables (involving MPL, LGPL, GPL, MIT) in the MPL FAQ:

http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

2. Is there something one can do to make MPL2's (L)GPL compatibility higher than the default? In particular, I don't understand this part of the FAQ:

You must "additionally distribute" under (L)GPL. In other words,
you must make the MPL-licensed source code available to your
recipients under both MPL and (L)GPL.

Does that mean that one has to dual-license / tri-license like Mozilla code is currently doing? Or does "additionally distribute" mean something else?


In particular, since Mozilla code is currently tri-licensed, I would be very interested in knowing what's the plan about it. Do you plan to relicense it to plain vanilla MPL2 only or do you plan to use some non-default configuration/clause/addendum to the MPL2?

Cheers,
Benoit

Gervase Markham

unread,
Jan 17, 2012, 8:32:11 AM1/17/12
to mozilla-govern...@lists.mozilla.org
On 16/01/12 13:53, Benoit Jacob wrote:
> I said that we should switch to MPL2 only instead of tri-licensing,
> as my understanding was that multi-licensing exposed us to GPL-only
> back-contributions unusable by us, and I thought that the MPL2 was
> compatible enough with the LGPL and GPL.
>
> But reading this,
>
> http://www.mozilla.org/MPL/2.0/FAQ.html#mpl-and-lgpl
>
> I'm confused. Here are my questions:
>
> 1. With MPL2, by default, what is the status of GPL / LGPL
> compatibility?

What part of this question do you think that the FAQ answer you link to
does not explain?

> It would be useful to recall in the FAQ what "A is
> compatible with B" means, remind the reader that it's not symmetric
> (doesn't imply that B is compatible with A)

This is one reason why the FAQ doesn't talk about license compatibility
at all, but instead talks about specific scenarios - like the question
you link to, which is about combining MPL 2'd code with LGPL or GPL code.

> and may I also suggest
> that these tables in the GPL FAQ are a great idea and it would be
> great to have such tables (involving MPL, LGPL, GPL, MIT) in the MPL
> FAQ:
>
> http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

Doing that accurately for all major free software licences would be a
large task :-)

> 2. Is there something one can do to make MPL2's (L)GPL compatibility
> higher than the default?

Well, if you want to miss out the requirement for additionally
distributing the "first hop" under the MPL 2 as well as the GPL (see
below), you could just dual licence. But that just makes incompatible
forks easier to make.

> In particular, I don't understand this part
> of the FAQ:
>
> You must "additionally distribute" under (L)GPL. In other words, you
> must make the MPL-licensed source code available to your recipients
> under both MPL and (L)GPL.
>
> Does that mean that one has to dual-license / tri-license like
> Mozilla code is currently doing? Or does "additionally distribute"
> mean something else?

You don't have to do anything different in terms of twiddling licence
headers, but you do have to do something in terms of giving rights.

That is to say, it works like this:

First person ----MPL 2 ----> Second person

Second person decides to combine MPL 2 code with GPLed code

Second person ---- MPL 2 / GPL ----> Third person

[This is the "additionally distribute under MPL 2" part - "Second
person" can't go straight to GPL yet.]

Third person decides that they want to switch the code to GPL only

Third person ----- GPL -----> Fourth person (and so on)

There must be one "dual-licensed" transfer before the code goes GPL-only.

> In particular, since Mozilla code is currently tri-licensed, I would
> be very interested in knowing what's the plan about it. Do you plan
> to relicense it to plain vanilla MPL2 only or do you plan to use some
> non-default configuration/clause/addendum to the MPL2?

Plain vanilla MPL 2 only.

Gerv
0 new messages