The Mozilla Public License (MPL for short) is often portrayed as being the middle-ground between the strictness of the GNU General Public License (GPL) and the tolerance of the Berkeley Software Distribution License (BSD). It is not used anywere near as widely as either the GPL or the BSD licences, but its flexibility and thoughtful drafting mean that it is becoming more popular. This document attempts to draw together the main features of the Mozilla Public License into a friendly and comprehensible digest, and in addition to note some details about its history and usage. The licence itself can be read at http://www.opensource.org/licenses/mozilla1.1.php.
History of the MPL
In early 1998 Netscape Communications decided to stop charging for their web browser product Netscape Communicator. Having once been the market leader, Netscape Communications’ profitability had been eroded significantly by Microsoft’s bundling of their own web browser (Internet Explorer) as part of the Windows operating system. Following the decision to give their browser product away in binary form, Netscape Communications also soon decided to release the source code for the browser under an open source licence.
Making Communicator open source was not an easy task. It contained components licensed from third parties who had not given Netscape permission to release the source of their work. It also contained cryptography code that, at the time, could not be freely exported from the United States. The code had to be worked on extensively to produce a version whose source could be released.
There were other complications too. Netscape wanted to be able to take modifications to the code made by open source developers and relicense them for use in commercial products. They also wanted other commercial companies to build their own browsers on top of the Netscape codebase. Both these requirements made the use of the most common open source licence, the GNU General Public License, impossible. Instead, Netscape Communications drafted their own licence, calling it the Netscape Public License (NPL).
The NPL, like the GPL, demands that all modifications to code that it covers be released under the NPL, if they are released at all. Interestingly, however, (and unlike the GPL) it did not insist that new code which interacted with the covered code be licensed under the NPL, even if the covered code was modified to work more closely with the new code.
The reaction of the open source community was hostile. The provision that allowed Netscape Communications to relicense contributed code was seen as a mechanism for farming open source expertise for profit while giving little back. Fortunately, Netscape Communications had also produced a licence which did not include this clawback feature, but was otherwise substantially similar to the Netscape Public License. Named the Mozilla Public License, after Netscape’s working title for its code, this licence was designed to cover new code that was written to interact with NPL-covered code. This licence proved popular among open source developers, and was subsequently accredited by the Open Source Initiative.
Main Features of the MPL
The MPL, like any licence, grants rights under certain provisos. Unlike other open source licences, however, the MPL divides the granting of rights into two sections - one concerning the grant of rights by the code’s initial author, and another concerning the grant of rights by other people who have added code to the initial author’s work.
The initial author grants these rights:
- to use, reproduce, modify, display, perform, sublicense and distribute the source, and modified versions of the source;
- patent rights to use and make available the original code (where relevant);
to distribute works which contain the code in combination with new code, and to license the new code in any way the distributor wishes. The contributor grants these subtly different rights:
- to use, reproduce, modify, display, perform, sublicense and distribute the source of their modifications;
- patent rights to use and make available both the modifications and the entire work (original code plus modifications);
to distribute works which contain the code in combination with new code, and to license the new code in any way the distributor wishes. Both these grants are subject to the following conditions:
- all distributed copies (original or modified) must include the source code or advice on how to obtain the source code;
- all modifications are described in accompanying documentation;
- any patent rights necessary to operate the software are clearly described in accompanying documentation;
- all copies of the code, original or modified, have a statement of copyright and an exclusion of warranties attached;
- all modified files must be distributed under the MPL. New files containing entirely new code need not be distributed under the MPL. As can be seen from these grants and provisos, the MPL differs most significantly from the GPL in the way that it governs how works containing the MPL-licensed code can be distributed and licensed. Put simply, someone can take an MPL-licensed work and build upon it with new components. The resulting work can be distributed with the MPL covering the use of the original work and any licence covering the rest. Clearly in this way a company could add closed source components to an MPL-licensed work and thus build a proprietary product.
What Does The MPL Do?
These bullets are intended to summarise the salient parts of the MPL. They are not intended as a full description of its features. The Mozilla Public License
- explicitly grants patent rights where necessary to operate the software;
- keeps the covered code itself open source;
- allows extensions of the code to be licensed in non-open ways.
In 2010 the Mozilla Foundation initiated a consultation to update the MPL. In January 2012, version 2 of the Mozilla Public License was approved by the Open Source Initiative.
OSS Watch has produced a document that highlights the main legal issues to consider when Making your code available under an open source licence.
- The Mozilla Project [http://www.mozilla.org/]
- GNU Project [http://www.gnu.org/]
- Free Software Foundation [http://www.fsf.org/]
- Open Source Initiative [http://www.opensource.org/]
Related information from OSS Watch: