The FAQ for MPL 2.0 is here. This is the Mozilla MPL FAQ. It aims to answer the most common questions people have about using and distributing code under the MPL. Note that because much of the Mozilla codebase is MPL/GPL/LGPL tri-licensed, it's also possible to use and distribute some Mozilla products under the LGPL or GPL; in that case, some ...
Get Firefox for Windows, Mac or Linux. Firefox is a free web browser backed by Mozilla, a non-profit dedicated to internet health and privacy.
- Am I allowed to distribute the project for money under this license?
Yes. However, if you distribute/sell binaries, then you may not charge extra for the source code.
And, as the MPL license is a weak copyleft license, you are giving the users of your library also the right to distribute it further, which means that selling copies of the software is not sensible from an economics viewpoint.
- What are permitted licenses for my project dependencies so I won't be sued if I depend on those libraries?
The MPL license is a copyleft license, which means that in principle people are not allowed to distribute code that is under the MPL-2.0 license under different terms.
The GPL licenses (including LGPL and AGPL) require that the entire application is distributed under the terms of the GPL license. In principle, this is incompatible with the MPL license, but the MPL-2.0 license has a special exception for allowing the code to be distributed under the terms of the GPL licenses. However, an author can also choose to explicitly disable that exception.From a legal standpoint, this means that any license is permissible, but the GPL license can be problematic if your project contains/depends on code under the MPL-1.3 license or the MPL-2.0 license that is marked as "Incompatible with Secondary Licenses".
From a practical standpoint, if you depend on GPL code, you should seriously consider using the GPL for your code as well.
- Is there a difference between depending on a library (without including its code into my project, only use build artefacts) vs copying the code from other libraries?
That depends on the licenses involved and if the copied code ends up in the same source files as your MPL licensed code.
In general, it is better, and legally clearer, to depend on an external library than to copy its code into your project.
- Does this license protect my project from copying by a big corporation and selling the product under their name?
No, but if they sell the product, they must provide access to the source code under the MPL-2.0 license. If they don't, that is a violation of the license terms under which they received the software and that would make them liable for copyright infringement claims.
- What people must do if they want to fork my project, change the code and use the modified version in their projects?
People must make it clear that (parts of) the project are licensed under the MPL-2.0 license and where the source code for those parts can be obtained.
People must not charge money (above the costs they make for the distribution) for obtaining the source code that corresponds to a distributed binary.
- Should I put a copyright notice in each file or having a single top-level file is fine?
Yes, you should put a copyright notice in each file, along with this statement
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
However, you don't need to put the notice in each file if it is "not possible or desirable" as per the license (Exhibit A):
"If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice."
I believe you've stated the differences between the Mozilla Public License and the GNU Lesser General Public License accurately, and either may suit your needs just fine, but you are skipping over the most important difference between the two licenses:
Both the MPL (section 10) and the LGPL (section 14) include in their license grants the right to substitute the current version with a latter version, and there are no actual limitations as to what can go into those licenses. While it's highly unlikely that either the Mozilla Foundation or the Free Software Foundation will do something as crazy as, say, institute a clause that says "all contributions to this software become our property", it's not beyond the realm of possibility that one of the organizations will release a new license version that you don't like.
Which brings up another point about using a "Modified LGPL".
While you have fairly amazing ability to specify your own licensing terms, and could in essence say "you can distribute this as per the GPL, but you need to put my name in your credits and pay me 1% of any revenue you generate", any time you do so you are creating a new license based on someone else's work. This means that you're NOT using the MPL or the LGPL, you're using a new "mucaho license".
What that means is that you probably won't get any help from your original license's author if you need to defend your interpretation of the license inside of a courtroom, and it's entirely possible that they might file suit to say that THEIR version should apply and not yours.
Of course, both of these are minor points. Even "license popularity" doesn't matter unless you expect your code to be directly incorporated into larger projects.
Personally, I think the MPL is a better choice if you like proprietary compatibility, or if the choice is between the actual MPL and a different license you have to manually edit based on the LGPL. Unless you have a reason not to use the MPL, go with something backed by a foundation instead of one that might leave you in a courtroom without any aid whatsoever.