[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Mozilla Public License 2.0 released

On Thu, 5 Jan 2012 23:58:55 +0100 Francesco Poli wrote:

Here's my own personal analysis of the license text.

> Mozilla Public License Version 2.0
> ==================================
> 1.5. "Incompatible With Secondary Licenses"
>     means
>     (a) that the initial Contributor has attached the notice described
>         in Exhibit B to the Covered Software; or
>     (b) that the Covered Software was made available under the terms of
>         version 1.1 or earlier of the License, but not also under the
>         terms of a Secondary License.

Clause 1.5(b) fails to solve existing compatibility headaches.

It disables the default (L)GPL compatibility (caused by clause 3.3) for
those works that were previously incompatible because they were only
licensed under the MPL v1.1 (or earlier). This means that any existing
compatibility headache stays unfixed, unfortunately.

I think that it would have been far better if the license authors had
enabled (L)GPL compatibility for previously incompatible MPL-licensed
works. Doing so would have instantly solved many compatibility issues
that currently affect MPL-licensed works. I personally think that
making this change would have been the only real motivation to draft
and publish v2.0 of the MPL: I am very disappointed that this change
was *not* made. To be precise, I am disappointed that it was only made
partially, through an optional mechanism (even though I acknowledge
that it's an opt-out mechanism, which is better than an opt-in one...)

Just to be clear, this is not a Freeness issue in itself, but a big
missed opportunity to make life easier for a good number of people...

> 1.12. "Secondary License"
>     means either the GNU General Public License, Version 2.0, the GNU
>     Lesser General Public License, Version 2.1, the GNU Affero General
>     Public License, Version 3.0, or any later versions of those
>     licenses.

Seeing the GNU AfferoGPL listed among Secondary Licenses does not fill
me with joy...

I am convinced that works licensed under the GNU AfferoGPL v3.0 are
non-free: see
for more details.
I personally would have omitted the AfferoGPL from the list of
Secondary Licenses.

This is not a Freeness issue in itself, but it further weakens the MPL
copyleft mechanism (which is already not particularly strong), whenever
compatibility with Secondary Licenses is not disabled.

> 2.3. Limitations on Grant Scope
> The licenses granted in this Section 2 are the only rights granted under
> this License. No additional rights or licenses will be implied from the
> distribution or licensing of Covered Software under this License.
> Notwithstanding Section 2.1(b) above, no patent license is granted by a
> Contributor:
> (a) for any code that a Contributor has removed from Covered Software;
>     or
> (b) for infringements caused by: (i) Your and any other third party's
>     modifications of Covered Software, or (ii) the combination of its
>     Contributions with other software (except as part of its Contributor
>     Version); or
> (c) under Patent Claims infringed by Covered Software in the absence of
>     its Contributions.

Clause 2.3 limits the patent license grant when Covered Software is
modified. This may create troubles (legal uncertainty) for people
willing to modify the work (see DFSG#3).

> 3.2. Distribution of Executable Form
> If You distribute Covered Software in Executable Form then:
> (a) such Covered Software must also be made available in Source Code
>     Form, as described in Section 3.1, and You must inform recipients of
>     the Executable Form how they can obtain a copy of such Source Code
>     Form by reasonable means in a timely manner, at a charge no more
>     than the cost of distribution to the recipient; and

If I understand correctly, accompanying the Executable with the Source
Code is considered an acceptable way to satisfy clause 3.2(a). Also, if
someone offers access to the Executable Form from a place, then
offering equivalent access to Source Code from the same place (at a
further charge no more than the cost of distribution) is considered
another acceptable way to satisfy this clause. If all this is true,
then I think that clause 3.2(a) is OK, and is also a significant step
forward with respect to MPL v1.1, where source had to be kept online
for a given amount of time, after distribution of non-source forms.

> (b) You may distribute such Executable Form under the terms of this
>     License, or sublicense it under different terms, provided that the
>     license for the Executable Form does not attempt to limit or alter
>     the recipients' rights in the Source Code Form under this License.

Clause 3.2(b) allows to sublicense the Executable Form under different
terms, while the corresponding Source Code must remain available under
the terms of the MPL. This is very confusing, IMHO: having Source Code
and Executable forms under different licenses makes things unclear for
the recipients.

Not a Freeness issue in itself, but a suboptimal feature that may turn
out to cause confusion and uncertainty.

> 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).

Here we are: as anticipated above, (L)GPL compatibility may be

Clause 3.3 makes the MPL compatible with GPLv2+ and LGPLv2.1+ by
default (which is good), but the initial Contributor may disable this
compatibility by using the "Incompatible With Secondary Licenses"
Notice found in Exhibit B (which is not good). Having (L)GPL
compatibility by default is a great improvement with respect to MPL
v1.1. However, the possibility to disable the (L)GPL compatibility
implies that clause 3.3 is not enough to solve a good number of
compatibility headaches that continue to show up with MPL-licensed
works. What would have been really useful is a clause making the MPL
v2.0 *always* (L)GPL-compatible: this would have instantly solved many
compatibility issues with MPL-licensed works which link with, or
include parts of, (L)GPL-licensed works. Unfortunately, this suggestion
(that was made repeatedly, at least by me) has been rejected.

Not a Freeness issue in itself, but a missed opportunity to justify the
very existence of the MPL v2.0...

> 8. Litigation
> -------------
> Any litigation relating to this License may be brought only in the
> courts of a jurisdiction where the defendant maintains its principal
> place of business and such litigation shall be governed by laws of that
> jurisdiction, without reference to its conflict-of-law provisions.

This is a choice of venue clause!
Even though this one is always in favor of the defendant...

I think that altering the usual venue selection mechanism mandated by
laws should always be avoided, even when altering would be in favor of
the defendant: there may be cases where the most correct venue is the
one handy for the plaintiff, rather than for the defendant.

I am undecided whether this clause is non-free or acceptable, but I do
not like it.

> 9. Miscellaneous
> ----------------
> This License represents the complete agreement concerning the subject
> matter hereof. If any provision of this License is held to be
> unenforceable, such provision shall be reformed only to the extent
> necessary to make it enforceable. Any law or regulation which provides
> that the language of a contract shall be construed against the drafter
> shall not be used to construe this License against a Contributor.

Magic power to nuke laws™ ?

This clause states that any law or regulation doing something shall not
apply to this License: how can this be enforceable? can I write a
license that "disables" laws, by simply stating that they do not

Anyway, enforceable or not, this clause attempts to take away a right
that the licensee might have: I don't think such clauses belong in Free
Software licenses. This part of clause 9 should have been dropped, but
it was not, unfortunately.

Is this a Freeness issue?
I am afraid it may be.
What do other debian-legal regulars think?

> 10.1. New Versions
> Mozilla Foundation is the license steward. Except as provided in Section
> 10.3, no one other than the license steward has the right to modify or
> publish new versions of this License. Each version will be given a
> distinguishing version number.
> 10.2. Effect of New Versions
> You may distribute the Covered Software under the terms of the version
> of the License under which You originally received the Covered Software,
> or under the terms of any subsequent version published by the license
> steward.

Warning for people thinking to license their own works under the terms
of the MPL: you have to really trust the Mozilla Foundation to always
get things right, if you decide to license anything under the MPL!
Remember that, by doing so, you are effectively dual-licensing under
yet unknown terms, and you cannot even opt out (as can be done with the
GPL and its explicit "or later" mechanism)!

Not a Freeness issue in itself, but something that should not be

> 10.3. Modified Versions
> If you create software not governed by this License, and you want to
> create a new license for such software, you may create and use a
> modified version of this License if you rename the license and remove
> any references to the name of the license steward (except to note that
> such modified license differs from this License).

It's good that this is permitted, but it should have been strongly

Some words should have been spent to strongly discourage people from
creating modified versions of a license. It's good that creating
modified versions of the License is permitted (it may be necessary in
some rare cases), but it should have been explicitly and absolutely
recommended against. Unfortunately, it was not...

This is a minor flaw, however, and not a Freeness issue at all.

> Exhibit B - "Incompatible With Secondary Licenses" Notice
> ---------------------------------------------------------
>   This Source Code Form is "Incompatible With Secondary Licenses", as
>   defined by the Mozilla Public License, v. 2.0.

 New GnuPG key, see the transition document!
..................................................... Francesco Poli .
 GnuPG key fpr == CA01 1147 9CD2 EFDF FB82  3925 3E1C 27E1 1F69 BFFE

Attachment: pgp1pIerScPL0.pgp
Description: PGP signature

Reply to: