MPL License

Общее

Mozilla Public License (MPL) - это свободная и открытая лицензия со слабым копилефтом, определяющая условия использования и распространения программного обеспечения, включая исходный код. Первая версия (MPL 1.0) была опубликована в 1998 году компанией Netscape как лицензия открытого кода браузера; MPL 1.1 вышла в 1999 году, а актуальная MPL 2.0 - в 2012 году (SPDX-идентификатор: MPL-2.0).

Ключевая особенность MPL - копилефт на уровне отдельных файлов («file-level copyleft»). Файлы, содержащие MPL-код, и ваши изменения этих файлов должны распространяться под MPL с предоставлением исходного кода. При этом «larger work» - программа, объединяющая MPL-файлы с вашим собственным кодом, - может распространяться под любой лицензией, включая проприетарную. Так MPL сочетает пермиссивность BSD/MIT с элементами копилефта GPL.

Лицензия MPL позволяет комбинировать код под ней с кодом под другими лицензиями. Благодаря механизму «вторичных лицензий» (Secondary Licenses) MPL 2.0 по умолчанию совместима с GPLv2-or-later, GPLv3, LGPL 2.1+ и AGPL 3+: MPL-код можно включать в GPL-проекты, а код под другими лицензиями - использовать в составе larger work.

MPL гарантирует, что пользователи получают доступ к исходному коду MPL-файлов и могут вносить свои изменения. Также MPL 2.0 содержит явный патентный грант: патенты авторов не могут использоваться для ограничения прав, которые предоставляет лицензия, а подача патентного иска против проекта приводит к утрате патентных прав по лицензии.

Несмотря на то, что MPL позволяет использовать код, распространяемый под ней, в коммерческих и проприетарных проектах, некоторые компании предпочитают более простые лицензии, такие как Apache или MIT, так как считают их менее обременительными.

При использовании кода под MPL необходимо убедиться, какая версия лицензии применяется и не помечен ли проект как «Incompatible With Secondary Licenses» (это отключает совместимость с GPL).

Когда используется

Лицензия Mozilla Public License (MPL) может быть использована для распространения программного обеспечения с открытым исходным кодом. Обычно она используется для распространения программного обеспечения, создаваемого сообществом, включая проекты Mozilla, такие как браузер Firefox и клиент электронной почты Thunderbird.

MPL также может использоваться для распространения других проектов с открытым исходным кодом, в том числе для коммерческих проектов. Это связано с тем, что MPL позволяет коммерческим организациям использовать код, распространяемый под MPL, в своих проектах, при условии соблюдения требований лицензии. Однако, как упоминалось ранее, некоторые компании предпочитают другие лицензии, так как считают их менее ограничительными.

В целом, MPL может быть хорошим выбором для проектов, которые хотят распространять свое программное обеспечение с открытым исходным кодом, сохраняя открытость измененных MPL-файлов, но не обязывая открывать весь проект целиком.

Ограничения лицензии

Лицензия Mozilla Public License (MPL) накладывает следующие ограничения на использование программного обеспечения, распространяемого под нее:

Копилефт на уровне файлов: измененные MPL-файлы при распространении должны быть доступны в виде исходного кода под MPL. Остальной код проекта (ваши собственные файлы) открывать не требуется - он может оставаться закрытым.

Сохранение лицензии для MPL-файлов: файлы под MPL (включая измененные) распространяются под той же лицензией MPL. Лицензия проекта в целом (larger work) может быть любой.

Уведомление об изменениях: если вы изменяете исходный код под MPL, вы должны уведомить пользователей о своих изменениях и указать, какие части кода были изменены.

Совместимость с GPL: несовместимой с GPL была MPL 1.1. MPL 2.0 по умолчанию совместима с GPLv2-or-later, GPLv3, LGPL 2.1+ и AGPL 3+ через механизм вторичных лицензий. Исключения - комбинация с кодом под «GPLv2-only» и проекты, явно помеченные «Incompatible With Secondary Licenses».

Патентная клауза: MPL 2.0 содержит явный патентный грант; если вы подаете патентный иск, утверждая, что проект нарушает ваш патент, патентные права по лицензии утрачиваются.

В целом, ограничения, наложенные лицензией MPL, являются довольно лояльными и позволяют использовать программное обеспечение, распространяемое под нею, в различных проектах, в том числе в коммерческих, при условии соблюдения требований лицензии.

Возможности лицензии

Лицензия Mozilla Public License (MPL) дает следующие возможности:

Свободное использование: пользователи могут свободно использовать программное обеспечение, распространяемое под MPL, для любых целей, включая коммерческие.

Распространение и изменение: пользователи могут свободно распространять и изменять исходный код, распространяемый под MPL, при условии соблюдения требований лицензии.

Гибкое лицензирование своего кода: свои новые файлы и проект в целом (larger work) вы можете лицензировать как угодно, включая проприетарную лицензию; под MPL остаются только MPL-файлы и изменения в них.

Защита авторских прав: MPL защищает авторские права разработчиков, позволяя им сохранять права на свой код, даже если он используется в других проектах.

Поддержка сообщества: MPL создает благоприятную среду для развития сообщества разработчиков, которые могут вносить свой вклад в проекты, создаваемые на основе кода, распространяемого под MPL.

Патентная защита: MPL содержит положения, которые защищают пользователей от ограничения прав на использование программного обеспечения патентами, связанными с этим программным обеспечением.

В целом, лицензия Mozilla Public License предоставляет разработчикам и пользователям довольно большую свободу в использовании и распространении программного обеспечения с открытым исходным кодом, при этом защищая авторские права и позволяя развиваться сообществу разработчиков.