Mozilla Public License
Mozilla Public License (MPL) — это слабая копилефт‑лицензия на программное обеспечение с открытым исходным кодом, разработанная и поддерживаемая некоммерческим фондом Mozilla. Лицензия позволяет свободно использовать, изменять и распространять исходный код, но требует, чтобы изменения, внесённые в файлы, находящиеся под MPL, публиковались на тех же условиях. При этом код, на который распространяются другие лицензии, может быть объединён с кодом MPL в пределах одной программы без обязательного распространения всей программы под MPL.
История
MPL была создана компанией Netscape Communications Corporation (США) в 1998 году для выпуска браузера Netscape Communicator в качестве свободного программного обеспечения (будущий проект Mozilla). Основной целью лицензии было найти баланс между строгим копилефтом GNU General Public License (GPL) и разрешительными лицензиями вроде BSD или MIT. Первая версия (MPL 1.0) вышла в январе 1999 года. После объединения с другими проектами и обнаружения недостатков в юридической формулировке в 2002 году была выпущена версия 1.1.
В 2010 году Mozilla Foundation инициировала процесс обновления лицензии, чтобы повысить совместимость с GPL и Apache License. В результате 3 января 2012 года была опубликована версия 2.0 (MPL 2.0). MPL 2.0 заменила предыдущие версии и стала рекомендованной версией для проектов Mozilla. С тех пор MPL 2.0 остаётся актуальной и широко используется.
Основные положения
MPL регулируется авторским правом. Она предоставляет получателю следующие права:
- Использование: разрешено копировать, распространять и исполнять защищённую работу без ограничений, если выполняются условия лицензии.
- Модификация: разрешено создавать производные работы, но с определёнными обязательствами по лицензированию изменений.
- Распространение: при распространении исходного кода (в неизменённом или изменённом виде) получатель должен предоставить копию MPL вместе с кодом.
Ключевые механизмы
MPL использует концепцию «файлового подхода» (file‑based copyleft). Лицензирование по MPL требуется только для тех файлов, которые изначально были выпущены под MPL (или являются их модификациями). Новые файлы, добавленные в проект, могут быть лицензированы на других условиях (например, на разрешительных лицензиях или проприетарных). Это отличает MPL от GPL, которая требует, чтобы вся программа целиком была под GPL, если в ней используется хотя бы один GPL‑компонент.
Совместимость с другими лицензиями
MPL 2.0 включает раздел, который позволяет использовать код, лицензированный под GPL (версии 2 или 3) или под GNU Lesser General Public License (LGPL, версии 2.1 или 3), в комбинации с MPL‑кодом, при условии, что такая комбинация будет распространяться под GPL или LGPL соответственно. Таким образом, MPL 2.0 является совместимой с GPL в одном направлении: можно включать GPL‑код в проект под MPL, но тогда весь проект должен распространяться под GPL. Обратная совместимость (включение MPL‑кода в GPL‑проект) также возможна, так как GPL допускает включение кода под более мягкими лицензиями, если это не противоречит её условиям.
MPL 2.0 также совместима с Apache License 2.0, с BSD 3‑Clause и с Creative Commons Zero (CC0). Однако сочетание MPL с проприетарными лицензиями возможно только в пределах «сборных произведений» (aggregate works), где MPL‑файлы остаются отдельно и не смешиваются с закрытым кодом.
Виды лицензий MPL
- Mozilla Public License 1.0 (MPL 1.0) — первая версия, с более строгими требованиями, включая необходимость предоставления исходного кода даже при распространении в бинарной форме, но без явной совместимости с GPL.
- Mozilla Public License 1.1 (MPL 1.1) — уточняла условия для работ, созданных на основе кода, и ввела более детальные определения. Была признана несовместимой с GPL, что вызвало критику.
- Mozilla Public License 2.0 (MPL 2.0) — текущая версия, которая значительно упрощает текст, повышает совместимость с другими популярными лицензиями и убирает ряд неоднозначностей.
Использование
MPL наиболее известна как лицензия для браузера Mozilla Firefox, почтового клиента Thunderbird и связанных с ними компонентов (например, движка Gecko). Однако её применяют и многие другие проекты:
- OpenOffice.org — офисный пакет, первоначально лицензировался под MPL 1.1 (позднее перешёл на Apache License 2.0).
- LibreOffice — форк OpenOffice, использует MPL 2.0 для большей части кода.
- Cairo — библиотека 2D‑графики (изначально MPL, позже перешла на LGPL/MPL dual‑license).
- Node.js — некоторые модули (например, libuv) используют MPL.
- BIND (Berkeley Internet Name Domain) — DNS‑сервер, лицензирован под MPL 2.0 (с 2016 года, ранее под ISC License).
- Различные проекты Фонда Mozilla, включая Rust (ранее — компилятор и связанные инструменты) изначально выпускались под MPL, хотя позднее Rust был перелицензирован под Apache 2.0 и MIT.
Критика
MPL подвергалась критике за недостаточную свободу с точки зрения сторонников строгого копилефта. В частности:
- Разрешение использовать MPL‑код вместе с проприетарным кодом в одной программе при условии, что MPL‑файлы остаются под MPL, рассматривается некоторыми как «контрибутивный копилефт», который не гарантирует, что вся производная программа останется свободной.
- Версия MPL 1.1 была несовместима с GPL, что ограничивало её использование в экосистеме GNU/Linux. Эта проблема была решена в MPL 2.0.
- Некоторые защитники свободного ПО (например, Фонд свободного ПО) не одобряют MPL за то, что она позволяет создавать программы, содержащие как свободный, так и проприетарный код, что может подрывать идею всеобщего доступа к исходному коду.
Тем не менее, MPL остаётся популярной в тех проектах, где требуется компромисс между защитой свободы изменений и необходимостью взаимодействия с коммерческими компонентами.
Источники
- Официальный текст Mozilla Public License 2.0 (mozilla.org)
- Mozilla. «About MPL 2.0: Frequently Asked Questions». Mozilla Foundation.
- Richard Stallman. «Various Licenses and Comments about Them». Free Software Foundation.
- Open Source Initiative. «Mozilla Public License 2.0 (MPL‑2.0)». open source.org.
- GNU Project. «How to choose a license for your own work». Free Software Foundation.
- Википедия на русском языке — статьи «Mozilla Public License», «Лицензии Mozilla» (историческая информация).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →