Руководства · 02

Разрешительная лицензия или копилефт — что выбрать

Сравнение разрешительных лицензий (MIT, Apache) и копилефта (GPL, LGPL, MPL) по целям, экосистеме и форме использования, а также контрольный список перед выбором лицензии.

Последняя проверка: 2026-09-23

Сначала определите цель

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

Разрешительные: широкое принятие, мало трения

MIT, BSD, ISC и Apache-2.0 требуют немногим больше, чем сохранение уведомлений. У большинства юридических отделов компаний они в списке заранее одобренных лицензий, поэтому внедрение идёт быстро. Зато нельзя помешать тому, чтобы кто-то изменил код и включил его в закрытый продукт.

Выбор внутри разрешительных лицензий сводится в основном к двум вопросам.

Копилефт: цепочка открытости

GPL распространяет обязанность раскрытия на всю объединённую программу, LGPL — на библиотеку, MPL — на отдельные файлы. Для ПО, работающего на серверах, пробел GPL закрывает AGPL. При копилефте некоторые компании могут избегать использования или участия, особенно AGPL, которую многие компании ограничивают внутренними политиками. Это может быть как задуманным эффектом, так и нежелательным побочным.

Нельзя игнорировать традиции экосистемы

Лицензия, соответствующая обычаям сообщества, вызывает меньше трения.

ЭкосистемаРаспространённые лицензииПримечание
JavaScript (npm)MIT, ISCМного мелких пакетов, предпочитают короткие разрешительные
Rust (crates.io)MIT OR Apache-2.0Сам Rust использует эту двойную схему
Python (PyPI)MIT, BSD-3-Clause, Apache-2.0В научных вычислениях часто BSD-3
GoBSD-3-Clause, MIT, Apache-2.0Стандартная библиотека Go — под BSD-3
Модули ядра LinuxGPL-2.0-onlyДля объединения с ядром практически обязательно
Настольные утилиты GNUGPL-3.0-or-laterСтандарт проекта GNU
Библиотеки C/C++LGPL, MIT, BSL-1.0На выбор влияет способ компоновки

Контрольный список для решения

  1. Проверьте зависимости: убедитесь, что лицензии уже используемых библиотек не ограничивают выбор. Если вы распространяете программу, объединённую с библиотекой GPL, выбор сужается до лицензий, совместимых с GPL.
  2. Проверьте принадлежность: у кода, написанного по работе, правообладатель обычно компания. Узнайте, не задаёт ли политика открытого ПО вашей компании конкретную лицензию.
  3. Форма использования: действие копилефта зависит от того, устанавливаемое ли это ПО, библиотека или сервис.
  4. Порядок участия: если планируете принимать внешние вклады, учтите, что потом сменить лицензию будет трудно, потому что смешаются авторские права многих людей.
  5. Модель дохода: если планируете отдельно продавать коммерческие лицензии, рассмотрите двойное лицензирование копилефт + коммерческая вместе с соглашением участника о лицензии (CLA).

Коротко

В мастере выбора можно ответить на эти критерии в виде вопросов и получить варианты с объяснением.

Эта статья содержит общую информацию и не является юридической консультацией. Важные решения обсуждайте со специалистами.

Источники