Публичная лицензия Mozilla 2.0 (MPL 2.0)
Обзор
Публичная лицензия Mozilla (MPL) — это лицензия с открытым исходным кодом, разработанная Mozilla Foundation, которая сочетает характеристики копилефт и разрешительных лицензий.
Версия: 2.0, 3 января 2012 г.
Официальный URL: https://www.mozilla.org/en-US/MPL/2.0/
Ключевые особенности
MPL 2.0 — это лицензия с копилефтом на уровне файлов, что означает:
- Изменения в файлах с лицензией MPL должны продолжать использовать лицензию MPL
- Может комбинироваться с кодом под другими лицензиями
- Более разрешительная, чем GPL, строже, чем MIT/BSD
Что вы можете делать
✅ Использование и распространение
- Коммерческое использование - Может использоваться в коммерческих продуктах
- Распространение - Может распространяться в исходном или двоичном виде
- Изменение - Можете изменять код с лицензией MPL
- Комбинирование - Можете комбинировать с кодом под другими лицензиями
✅ Патентная защита
- Патентная лицензия - Автоматическая патентная лицензия от участников
- Патентное возмездие - Ваша лицензия прекращается, если вы подаете в суд на кого-либо за нарушение патентов
✅ Перелицензирование
При определенных условиях код MPL может быть перелицензирован как:
- GPL 2.0+ - Если заголовок файла включает заявление о совместимости
- LGPL 2.1+ - Если заголовок файла включает заявление о совместимости
- AGPL 3.0+ - Если заголовок файла включает заявление о совместимости
Обязательства и требования
📝 Раскрытие исходного кода
- Измененные файлы MPL - Должны выпускать исходный код под MPL 2.0
- Только измененные файлы - Нужно выпускать исходный код только для измененных файлов MPL
- Другие файлы не затронуты - Проприетарный код может оставаться проприетарным
📋 Информация для сохранения
- Заголовки лицензий - Каждый файл MPL должен сохранять заголовок лицензии
- Уведомления об авторских правах - Сохранять все уведомления об авторских правах и лицензиях
- Записи об изменениях - Документировать значительные изменения в файлах
🔄 Требования к распространению
При распространении программного обеспечения, содержащего код MPL:
- Доступность исходного кода - Обеспечить доступность исходного кода файлов MPL
- Уведомление о лицензии - Включить текст лицензии MPL
- Описание изменений - Описать изменения в файлах MPL
Совместимость с другими лицензиями
✅ Совместимые лицензии
Может комбинироваться с:
- MIT/BSD - Разрешительные лицензии
- Apache 2.0 - Аналогичные патентные клаузулы
- Проприетарные лицензии - В отдельных файлах
🔄 Условно совместимые
- GPL 2.0+ - Требует заявления о совместимости
- LGPL 2.1+ - Требует заявления о совместимости
- AGPL 3.0+ - Требует заявления о совместимости
❌ Несовместимые лицензии
- GPL 2.0 (только) - Без клаузулы "или более поздней версии"
- Некоторые проприетарные лицензии - Могут иметь конфликтующие условия
Последствия копилефта на уровне файлов
📁 Правила на уровне файлов
- Отдельные файлы - Каждый файл рассматривается независимо для лицензирования
- Измененные файлы - Измененные файлы MPL должны оставаться под лицензией MPL
- Новые файлы - Вновь добавленные файлы могут использовать разные лицензии
🔗 Связывание и комбинирование
- Статическое связывание - Разрешено с проприетарным кодом
- Динамическое связывание - Разрешено с проприетарным кодом
- Тот же исполняемый файл - Код MPL и проприетарный код могут быть в одной программе
Патентные клаузулы
⚖️ Патентная лицензия
- Автоматическое предоставление - Участники автоматически предоставляют патентную лицензию
- Область действия - Ограничена патентами, необходимыми для их вкладов
- Защитная - Защищает пользователей от патентных судебных процессов
🛡️ Патентное возмездие
Если вы инициируете патентный судебный процесс против кого-либо, утверждая, что программное обеспечение с лицензией MPL нарушает патенты:
- Ваша лицензия MPL немедленно прекращается
- Применяется ко всему программному обеспечению с лицензией MPL 2.0, не только к тому, на которое подан иск
Практические случаи использования
✅ Проекты, подходящие для MPL 2.0
- Библиотеки и фреймворки - Могут использоваться проприетарным программным обеспечением
- Инструменты разработки - Компиляторы, редакторы и т.д.
- Компоненты корпоративного ПО - Нужен дружественный к бизнесу копилефт
- Проекты со смешанными лицензиями - Частично открытый исходный код, частично проприетарный
⚠️ Сценарии для рассмотрения
- Чисто открытые проекты - GPL может быть более подходящей
- Простые инструменты - MIT/BSD может быть проще
- Веб-сервисы - AGPL может лучше предотвратить обход через сервисы
Рекомендации по соблюдению
📦 При распространении двоичных файлов
- Включить текст лицензии - Полный текст MPL 2.0
- Перечислить файлы MPL - Указать, какие файлы используют лицензию MPL
- Предоставить исходный код - Обеспечить доступность исходного кода файлов MPL
- Сохранить уведомления - Сохранить все уведомления об авторских правах и лицензиях
💻 При распространении исходного кода
- Сохранить заголовки файлов - Заголовок лицензии в каждом файле MPL
- Включить лицензию - Полный текст MPL 2.0
- Отметить изменения - Четко указать изменения в файлах
🔧 При изменении файлов MPL
- Поддерживать лицензию MPL - Измененные файлы должны оставаться MPL 2.0
- Добавить авторские права - Добавить уведомление об авторских правах для значительных изменений
- Записать изменения - Документировать изменения в файле или журнале изменений
Связь с другими проектами Mozilla
🦊 Firefox
Firefox использует MPL 2.0, позволяя:
- Коммерческие дистрибутивы (например, корпоративные версии)
- Проприетарные расширения и плагины
- Встраивание в проприетарные продукты
📧 Thunderbird
Аналогично, лицензирование Thunderbird под MPL позволяет коммерческое использование и настройку.
Часто задаваемые вопросы
В: Могу ли я использовать библиотеки MPL в проприетарном программном обеспечении? О: Да, но вы должны поддерживать копилефт-природу файлов MPL и предоставлять исходный код для этих файлов.
В: Если я изменю файл MPL, должен ли весь проект быть открытым? О: Нет, только измененные файлы MPL должны быть открытыми; другие файлы могут оставаться проприетарными.
В: В чем основная разница между MPL и GPL? О: MPL — это копилефт на уровне файлов, GPL — копилефт на уровне проекта. MPL позволяет легче комбинировать с проприетарным кодом.
В: Нужно ли платить лицензионные сборы за использование библиотек MPL? О: Нет, MPL — это бесплатная лицензия с открытым исходным кодом.
Лучшие практики
📋 Управление лицензиями
- Поддерживать инвентарь - Отслеживать все файлы MPL
- Автоматизированная проверка - Использовать инструменты для проверки соблюдения лицензий
- Обучать команду - Обеспечить понимание разработчиками требований MPL
🔍 Код-ревью
- Проверять новые файлы - Обеспечить правильные заголовки лицензий
- Проверять изменения - Убедиться, что измененные файлы MPL остаются соответствующими
- Документировать решения - Записывать причины выбора лицензий
Правовое уведомление
Этот документ является упрощенным объяснением MPL 2.0 и не имеет юридической силы. Пожалуйста, внимательно прочитайте полный текст лицензии перед использованием.
Mozilla Foundation не является юридической фирмой и не предоставляет юридические услуги. Распространение, отображение или ссылка на это резюме не создает отношений адвокат-клиент.