Публичная лицензия 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 может лучше предотвратить обход через сервисы

Рекомендации по соблюдению

📦 При распространении двоичных файлов

  1. Включить текст лицензии - Полный текст MPL 2.0
  2. Перечислить файлы MPL - Указать, какие файлы используют лицензию MPL
  3. Предоставить исходный код - Обеспечить доступность исходного кода файлов MPL
  4. Сохранить уведомления - Сохранить все уведомления об авторских правах и лицензиях

💻 При распространении исходного кода

  1. Сохранить заголовки файлов - Заголовок лицензии в каждом файле MPL
  2. Включить лицензию - Полный текст MPL 2.0
  3. Отметить изменения - Четко указать изменения в файлах

🔧 При изменении файлов MPL

  1. Поддерживать лицензию MPL - Измененные файлы должны оставаться MPL 2.0
  2. Добавить авторские права - Добавить уведомление об авторских правах для значительных изменений
  3. Записать изменения - Документировать изменения в файле или журнале изменений

Связь с другими проектами 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 не является юридической фирмой и не предоставляет юридические услуги. Распространение, отображение или ссылка на это резюме не создает отношений адвокат-клиент.