kids encyclopedia robot

Mozilla Public License facts for kids

Kids Encyclopedia Facts
Quick facts for kids
Mozilla Public License
Mozilla Logo 2024.svg
Author Mozilla Foundation
Version 2.0
Copyright Mozilla Foundation
Published January 3, 2012
DFSG compatible Yes
Free software Yes
OSI approved Yes
GPL compatible 2.0: Yes (by default, unless marked as "Incompatible With Secondary Licenses")
1.1: No
Copyleft Yes, file-based
Linking from code with a different license Yes

The Mozilla Public License (MPL) is a special set of rules for computer programs. It's a free and open-source license, which means people can use, change, and share the software freely. It's also a weak copyleft license. This means that if you change a program that uses the MPL, you usually have to share your changes. However, you can combine MPL-licensed code with other types of code, even secret or "proprietary" code.

The Mozilla Foundation, which makes popular software like Firefox and Thunderbird, created and manages the MPL. They wanted a license that helps both open-source developers (who share everything) and proprietary developers (who keep some code secret). The MPL is a middle ground between very open licenses and very strict ones. It lets companies use parts of MPL code in their own secret programs. But, the parts that are under the MPL must always stay open for everyone to see and use.

Many other groups have used the MPL. For example, Adobe used it for their Flex software. The Document Foundation also used it for LibreOffice 4.0. An older version of the MPL (version 1.1) was even used to create other licenses, like the Common Development and Distribution License. The MPL has been updated twice. Version 2.0 was a big update that made the license simpler and easier to use with other licenses.

What the MPL License Does

The MPL license explains how people can use, change, and share software. It gives rights to "licensees," which are people or companies who use the software. These rights come from "contributors," who are the people who write or change the code.

Using and Sharing Software

The MPL lets you freely use, change, share, and even make money from the software. However, it does not give you rights to a contributor's trademarks (like a company logo). If you don't follow the rules of the license, you might lose your rights to use the software. But if you start following the rules again, you can get your rights back.

The license also has a rule to protect people from patent trolls. These are companies that try to make money by suing others over patents. This rule is similar to one found in the Apache License. The people who contribute code usually don't promise that the software will work perfectly or take responsibility if something goes wrong. But, companies that distribute the software can offer their own promises or support.

Rules for Sharing Code

When you share software that uses the MPL, you have to follow certain rules. The main rule is that any part of the software that is under the MPL must stay under the MPL. You cannot try to stop others from using or changing that code.

The MPL looks at each source code file separately. This means a whole file is either under the MPL or it's not. If you create a program that only uses MPL-covered files, you can share it. But you must make sure everyone can get the original source code for those files.

You can also combine MPL-covered code with other code that has a different license. This could even be secret, proprietary code. This combination is called a "larger work." You can share this larger work under any rules you want. But remember, the MPL-covered source files must still be available for free. This makes the MPL a good choice for companies. It lets them use open-source parts while keeping other parts of their software secret. It also encourages open-source developers to help improve the main software.

Working with Other Licenses

There's a special rule for MPL version 2.0 and newer. If MPL code is combined with code under the GNU General Public License (GPL), LGPL, or AGPL, the whole program can be under the GNU license. However, the MPL-covered files are still also under the MPL. This means people can choose which license they want to use for those files. The original author of MPL code can choose to opt out of this rule if they don't want their code to be compatible with the GPL.

You can always distribute MPL-covered code under the version of the license you received it with, or any newer version. For example, if you got code under MPL 1.0, you can share it under MPL 1.0 or MPL 2.0. The MPL can also be changed to create a new license. But, the new license cannot use the names "Mozilla" or "Netscape."

History of the MPL

The first version of the MPL (version 1.0) was written in 1998 by Mitchell Baker. She was a lawyer working at Netscape Communications Corporation at the time. Netscape wanted to make its web browser open source to better compete with Microsoft's browser, Internet Explorer.

Early Versions and Approval

Netscape first created a license called the Netscape Public License (NPL). This license had a rule that allowed open-source code to be made secret later. But Mitchell Baker also created the Mozilla Public License. It was named after Netscape's open-source project. Even though it was first meant for smaller parts of the browser, the MPL became more popular than the NPL. It was even approved by the Open Source Initiative, a group that checks if licenses are truly open source.

Less than a year later, Mitchell Baker and the Mozilla Organization updated the MPL to version 1.1. This update was a small one. They asked for ideas from many people and groups. The main goals were to make the rules about patents clearer and to allow for multiple licensing. This meant software could be under more than one license at the same time. This feature helped encourage people who preferred stricter licenses, like the GPL, to work together. Version 1.1 of the MPL also influenced later versions of other popular licenses, like the GPL (version 3).

Becoming GPL Compatible

Both MPL 1.0 and 1.1 were not compatible with the GPL. This meant you couldn't easily combine code from both licenses. Because of this, the Free Software Foundation suggested not using MPL 1.1. For a long time, software like Firefox was released under three licenses: MPL 1.1, GPL 2.0, and LGPL 2.1. Some older software, like the Mozilla Application Suite, still uses these three licenses.

In early 2010, after more than ten years without changes, work began on MPL version 2.0. For almost two years, the MPL was updated to be clearer and easier to use. A big goal was to make it compatible with the GPL and Apache licenses. Mitchell Baker oversaw the team, which was led by Luis Villa. They released several test versions before the final MPL 2.0 was released on January 3, 2012.

Notable Software Using MPL

Many well-known software projects use the Mozilla Public License.

  • Apache Flex (used to be Adobe Flex)
  • Armadillo (a C++ math library)
  • Boulder (software for Let's Encrypt certificates)
  • Cairo (a graphics library)
  • Celtx (software for media production)
  • Cemu (a Wii U emulator)
  • Eigen (a C++ template library for math)
  • H2 (DBMS) (a Java database)
  • Internet Systems Consortium (for some of their software)
  • LibreOffice (a free office suite)
  • Mozilla Firefox (a web browser)
  • OpenMRS (medical record system)
  • OpenTofu (infrastructure as code tool)
  • Syncthing (file synchronization)
  • Servo (a web browser engine)
  • Brave Browser (a web browser)
  • MonetDB (a database, marked as "Incompatible With Secondary Licenses")
  • RabbitMQ (a message broker)
  • VLC (iOS Version) (a media player for Apple devices)
  • ZeroMQ (a messaging library, since version 4.3.5)

Licenses Based on Older MPL Versions

Some other licenses were created by changing older versions of the MPL (before version 2.0).

  • AROS Public License 1.1 (based on MPL 1.1)
  • Common Development and Distribution License
  • Common Public Attribution License
  • Erlang Public License 1.1 (a changed MPL 1.0)
  • Firebird's Initial Developer's Public License (based on MPL v1.1)
  • Sun Public License
  • Yahoo! Public License
  • Openbravo's Public License (based on MPL 1.1)
  • Netscape Public License 1.1 (based on MPL 1.1)

See also

Kids robot.svg In Spanish: Mozilla Public License para niños

  • Software using the Mozilla Public License (category)
  • Comparison of free and open-source software licenses
kids search engine
Mozilla Public License Facts for Kids. Kiddle Encyclopedia.