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.
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.
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.
OSS Watch has produced a document that highlights the main legal issues to consider when releasing your code under an open source licence.