1. Общие сведения о Mozilla Public License
2. История развития
3. Преимущества и недостатки MPL-лицензии
4. Сферы применения MPL-лицензии
5. Частые вопросы по использованию и распространению кода под MPL
6. Я написал программное обеспечение, как мне использовать Mozilla Public License?
7. Мне нужна программа, которая лицензирована под MPL. Как мне получить к ней доступ?
8.Я изменил исходный код и хочу поделиться своими разработками с другими людьми. Есть ли какие-то ограничения?
9. Вы пишете о несовместимости MPL с GPL. Как быть, если я использую оба кода для создания одной общей программы?
Общие сведения о Mozilla Public License
MPL — это простая свободная лицензия, в которой реализовано право на «авторское лево». То есть программисты, работающие с файлами, защищенными МПЛ-лицензией, могут делиться внесенными в существующий код изменениями. Кроме того, допускается создание комбинаций с open source или проприетарными кодами.
Если разработчик использует в своем проприетарном приложении код под Mozilla Public License, он не обязан предоставлять свободный доступ ко всему исходному коду. То есть при статической связке программ их можно распространять как проприетарное ПО, так как в новых файлах код под MPL-лицензией будет отсутствовать. При использовании большинства других лицензий с более строгим «авторским левом», например, GNU GPL, такой путь развития невозможен.
Для наглядности сравним сферы применения копилефтных лицензий:
- MPL — распространение в рамках «авторского лево» касается только файлов с кодом MPL;
- LGPL от Free Software Foundation — касается всех библиотек с программным кодом LGPL;
- GPL — требование о свободе всего ПО, которое было создано с применением кода под лицензией GPL.
Можно сказать, что MPL выступает своеобразным компромиссом между создателями ПО, которые хотят защитить свои авторские права, и продолжающей нарастать популярностью движения за открытость исходного кода. На момент создания данной статьи последняя версия общественной лицензии маркирована 2.0.
В списке лицензий на свободное и открытое программное обеспечение MPL находится между семейством GNU, требующим по сравнению с Mozilla Public License значительно более широкого списка изменений при совместном использовании, и Apache 2.0, которая является разрешительной, то есть не относится к копилефт-лицензиям.
История развития
Впервые Mozilla Public License была представлена обществу в 1998 г. Ее создала Уинифред Митчелл Бейкер, которая в то время работала в американской корпорации Netscape. Компания была скинута с пьедестала популярности Internet Explorer и, чтобы вернуть потерянные позиции, решила модифицировать исходники своего браузера Netscape Navigator. Далее на свет появился новый браузер — Mozilla. А вместе с ним и первая версия MPL.
Спустя год участники проекта создали обновленную версию — MPL 1.1. В ней было прописано разрешение на многократное лицензирование, а также объяснялось, при каких условиях могут быть использованы патенты. Такое решение позволило компании привлечь к себе внимание сторонников лицензий с более строгим копилефтом. Однако совместимость с GPL у МПЛ отсутствовала. В результате продукты Mozilla лицензировали сразу по трем направлениям: MPL 1.1, LGPL 2.1, GPL 2.0.
В первых версиях текст лицензии был очень длинным и содержал много нечетких формулировок. Кроме того, появилась необходимость в обеспечении совместимости с GPL, LGPL и Apache. Работа над этими задачами началась в 2010 году и велась в течение двух лет. В результате в 2012 году была опубликована version 2.0, которая до сих пор остается актуальной.
Преимущества и недостатки MPL-лицензии
У Mozilla Public License можно выделить следующие плюсы:
- возможность создания модифицированных кодов за счет объединения MPL и других открытых либо проприетарных продуктов;
- доступность изменения исходного программного кода;
- совместимость с Creative Commons Zero, MIT, Apache 2.0, двойной лицензией GPL и MPL, другими материалами с публичным доступом;
- в четко разграниченных библиотеках, динамически связанных с продуктом, можно импортировать сторонний код в качестве кода продукта при условии, что он соответствует требованиям LGPL версии 2.0 или более новой.
MPL несовместима с лицензиями GPL, CC-BY и CC-BY-*. Если вы собираетесь импортировать сторонний код и не уверены в его совместимости с общественной лицензией Mozilla, проконсультируйтесь со службой поддержки.
К недостаткам MPL можно отнести нежелательность ее самостоятельного использования. Согласно рекомендациям фонда свободного программного обеспечения, MPL-лицензию желательно комбинировать с другими типами лицензирования.
Сферы применения MPL-лицензии
Те, кто работает с проектами под защитой Mozilla Public License, обязаны учитывать следующие моменты:
- если вы решили модифицировать существующий исходный код, то должны предоставить разрешение на распространение производного ПО согласно MPL license;
- создатель ПО, собранного из фрагментов кода, относящихся к разным лицензиям, сам определяет, под какой лицензией будет предоставлять свой продукт получателям;
- авторам составных программ доступно множественное лицензирование, то есть они могут реализовывать их под разными лицензиями.
В настоящее время существует множество вариантов программного обеспечения, созданного на основе MPL. В первую очередь это продукты самой Mozilla, однако они не ограничены только этой некоммерческой организацией.
Так как условия MPL-лицензии адаптивны, защищенные ею файлы и их фрагменты реализованы в программных продуктах по всему миру. Так, MPL version 1.1 была использована Sun Microsystems для создания CDDL (Common Development and Distribution License). Интересно, что версия 1.1 CDLL была выпущена уже после того, как Sun Microsystems была поглощена Oracle — вторым в мире разработчиком ПО по размеру выручки и четвертой крупнейшей компанией в отрасли IT.
Сегодня общественная лицензия Mozilla используется в ряде крупных IT-продуктов:
- свободном наборе программ SeaMonkey для работы в интернете;
- библиотеке Cairo, предназначенной для работы с двухмерной графикой;
- бесплатной кроссплатформенной программе Thunderbird для работы с электронной почтой, контактами и календарем;
- свободном браузере Firefox, который, согласно данным за апрель 2024 года, занимает пятое место на мировом рынке;
- открытых кроссплатформенных СУБД, например, H2 Database Engine;
- кроссплатформенных офисных пакетах, таких как LibreOffice, который является ответвлением OpenOffice.
Частые вопросы по использованию и распространению кода под MPL
Я написал программное обеспечение, как мне использовать Mozilla Public License?
В MPL-лицензии есть Приложение А, где указано, что копии публичной лицензии нужно распространять совместно с лицензируемыми файлами. Для этого вы должны добавить в каждый из файлов исходного кода вашего проекта заголовок Приложения А. То есть Source Code Form License Notice, что в переводе на русский означает «Уведомление о лицензии на форму исходного кода». Найти исходный документ можно на официальном сайте Mozilla.
Правила лицензирования MPL допускают использование и других вариантов заголовков, которые выбираются в зависимости от стилей комментариев. Список возможных заголовков разделен на две группы: лицензирование программ по МПЛ 2.0 и в качестве всеобщего достояния. Все варианты доступны для копирования и применения в новых продуктах. В некоторых случаях структура файла не позволяет вшить в него заголовок. Для решения проблемы разместите информацию в файле лицензии, который находится в этом же каталоге.
Если в вашем случае предпочтительнее использовать идентификаторы SPDX, используйте заголовок «// SPDX-License-Identifier: MPL-2.0». Он должен быть добавлен в виде комментария на том языке программирования, которым вы пользовались при разработке своего продукта. Также допускается указание имени правообладателя или других сведений об авторском праве.
Мне нужна программа, которая лицензирована под MPL. Как мне получить к ней доступ?
Все программное обеспечение, которое находится под Mozilla Public License, является свободным. Вы можете использовать его или модифицировать по своему усмотрению. Если измененная программа будет распространяться далее, вам нужно позаботиться о том, чтобы обязательства по лицензии MPL не были нарушены.
Я изменил исходный код и хочу поделиться своими разработками с другими людьми. Есть ли какие-то ограничения?
Все требования по распространению лицензированного исходного кода прописаны в лицензии 2.0. В первую очередь вы должны соблюдать требования разделов 1.10, 2, 3.1, 3.4.
Получатели, которым вы передаете ваши разработки, должны:
- быть информированы о том, что предоставленные файлы и их любые изменения лицензируются по МПЛ 2.0;
- знать условия предоставления разрешений;
- быть осведомлены о запрете на удаление либо изменение сведений о лицензии в соответствии с п.3.4.
Вы пишете о несовместимости MPL с GPL. Как быть, если я использую оба кода для создания одной общей программы?
Вы можете объединить коды, если ваш продукт не будет противоречить требованиям блока 3.3 Mozilla Public License. Кроме того, вы обязаны обеспечить выполнение трех условий.
- Совместимость со вторичными лицензиями. Причин несовместимости может быть несколько. Например, автор исходного продукта, который вы изменяете, отметил, что его программу нельзя использовать со вторичными лицензиями. Либо этот же автор при публикации своей работы указал, что она лицензируется по MPL 1.1. Еще один вариант — отсутствие тройной или двойной лицензии у кода под GPL, LGPL. Во всех перечисленных случаях объединить коды в одной исполняемой программе не получится.
- У вас должна быть обоснованная потребность в том, чтобы объединить в вашей программе два кода под разными лицензиями.
- При распространении разработанной вами общей программы вы должны сделать исходный код доступным под МПЛ, GPL и/или LGPL. В этом случае любой пользователь, получивший доступ к ПО, сможет использовать его под любой из перечисленных лицензий.
Последние два требования предназначены для того, чтобы дать возможность автору оригинального исходного кода вторично использовать дальнейшие разработки, которые ведутся другими программистами.