Обзоры

Различия свободных лицензий для ПО

В данной статье будут рассмотрены различия свободных лицензий для программного обеспечения, предоставляя подробный обзор и сравнение популярных вариантов, таких как GPL, LGPL, EPL, MPL, Apache License 2.0, MIT License и лицензии BSD. Это позволит читателям получить глубокое понимание особенностей каждой лицензии и сделать информированный выбор при лицензировании своих программных проектов.

Перед этим введем понятие «copyleft» - это практика предоставления людям права свободно распространять копии и измененные версии произведения с условием сохранения тех же прав в производных работах, созданных позже. Он использует законы об авторском праве для обеспечения невозможности ограничить любому человеку права использовать, изменять и распространять как само это произведение, так и произведения, базирующиеся на нём. Идея в том, что каждый, кто распространяет программу как с изменениями, так и без них, не вправе ограничивать свободу ее дальнейшего распространения либо модификации.

Стандартная общественная лицензия GNU (GPL - GNU General Public License)

GPL – одна из наиболее популярных лицензий Open Source. У неё есть несколько версий – но для нового проекта вам лучше рассматривать последнюю из них, на момент написания этой статьи ей является GPL 3.

Поддерживая сильный копилефт, GPL, пожалуй, защищает больше всех остальных свободных лицензий. Что может быть, как плюсом, так и минусом, в зависимости от вашей точки зрения. Основной концепт GPL – что любые производные работы должны также выпускаться под этой лицензией.

Характеристики:

  • Сильный копилефт;
  • Лицензиаты могут модифицировать работу;
  • Лицензиаты могут распространять исходный код вместе с производной работой;
  • Производная работа должна выпускаться на тех же условиях.

Меньшая стандартная общественная лицензия GNU (LGPL - GNU Lesser General Public License)

GPL – лицензия, очень строгая к тому, чтобы каждая производная работа публиковалась на тех же условиях, что и исходная, и с открытым исходным кодом. Это особенно неудобно в случае с библиотеками, которые служат «кирпичами» для крупных программных продуктов: если библиотека выпущена под GPL, то любое использующее её приложение должно также выпускаться под GPL. Эту сложность адресует LGPL.

Характеристики:

  • Слабый копилефт (из-за динамического связывания с библиотеками);
  • Разрешено коммерческое использование работы;
  • Лицензиаты могут модифицировать работу;
  • Лицензиаты могут выпускать исходный код вместе с производной работой;
  • Если вы модифицируете работу, её необходимо выпускать на тех же условиях;
  • Если вы просто используете работу (в качестве библиотеки), нет необходимости выпускать производную работу на тех же условиях.

Eclipse Public License (EPL 1.0)

С более слабым копилефтом, чем в LGPL, лицензия Eclipse больше подходит для бизнеса и допускает сублицензирование и создание программного обеспечения (ПО) на основе кода как под EPL, так и под другими лицензиями (даже проприетарными), с условием, что код под другой лицензией вынесен в отдельный модель программного продукта.

Кроме того, EPL предоставляет дополнительную защиту соавторам кода под EPL в случае судебных исков/ущерба, вызванного коммерческой деятельностью, связанной с этой работой.

Характеристики:

  • Слабый копилефт (из-за связанных подключаемых в продукт модулей);
  • Разрешено коммерческое использование работы;
  • Лицензиаты могут модифицировать работу;
  • Если вы модифицируете работу, её необходимо выпускать на тех же условиях;
  • Если вы просто используете работу, нет необходимости выпускать производную работу на тех же условиях
  • При коммерческом распространении продукта распространители обязаны защитить или выплатить компенсацию оригинальным авторам (под EPL) в случае судебных исков/ущерба в результате коммерческого использования продукта.

Mozilla Public License (MPL)

MPL – лицензия, которая используется для ПО, созданного Mozilla Foundation. Но её применение этим не ограничено. MPL пытается достичь компромисса между строгими лицензиями (такими как GPL) и либеральными лицензиями (такими как лицензия MIT).

«Лицензионной единицей» в MPL является исходный файл. Лицензиарам запрещено ограничивать права пользователей и доступ к любому файлу, на который распространяется MPL. Но один и тот же проект может содержать как файлы под MPL, так и файлы под проприетарной лицензией. Полученный в результате проект может быть опубликован под любой лицензией, при условии, что предоставляется доступ к файлам под MPL.

Характеристики:

  • Слабый копилефт (в связи с отдельными файлами);
  • Разрешено коммерческое использование работы;
  • Лицензиаты могут модифицировать работу;
  • Лицензиаты должны упоминать соответствующее авторство работы;
  • Лицензиаты могут распространять производную работу на других условиях;
  • Лицензиаты не могут заново лицензировать исходный код под MPL;
  • Лицензиаты обязаны выпускать исходный код под MPL вместе со своей производной работой.

Apache License 2.0 (ASL 2.0)

С ASL мы попадаем в мир либеральных свободных лицензий. Но даже FSF в некоторых случаях рекомендует лицензию Apache. Лицензия Apache считается либеральной, поскольку не требует того, чтобы какие-либо производные работы выпускались на тех же условиях. Другими словами, это «не-копилефт» лицензия.

ASL – единственная лицензия, которая используется для проектов Apache Software Foundation. Считающаяся удобной для бизнеса, она получила широкое распространение за пределами этой организации. Можно нередко увидеть проекты корпоративного уровня, выпущенные под этой лицензией.

Характеристики:

  • Не-копилефт;
  • Разрешено коммерческое использование работы;
  • Лицензиаты могут модифицировать работу;
  • Лицензиаты должны упоминать соответствующее авторство работы;
  • Лицензиаты могут распространять производную работу на других условиях;
  • Лицензиаты не обязаны выпускать исходный код вместе со своей производной работой.

MIT License

Ещё одна очень популярная лицензия. Возможно, даже самая популярная. Устанавливая совсем немного ограничений на повторное использование, лицензия MIT может быть легко связана с другими лицензиями, будь то GPL или проприетарные лицензии.

Характеристики:

  • Не-копилефт;
  • Разрешено коммерческое использование работы;
  • Лицензиаты могут модифицировать работу;
  • Лицензиаты должны упоминать соответствующее авторство работы;
  • Лицензиаты могут распространять производную работу на других условиях;
  • Лицензиаты не обязаны выпускать исходный код вместе со своей производной работой.

Лицензии BSD

Лицензии BSD бывают трёх видов. Оригинальная лицензия «4-х пунктов», «пересмотренная» лицензия, состоящая из 3-х пунктов и «упрощённая» лицензия из 2-х пунктов. По духу все три очень близки к лицензии MIT. И действительно, между упрощенной лицензией BSD и лицензией MIT нет существенных различий.

Лицензии BSD, состоящие из 3-х и 4-х пунктов, содержат больше требований в отношении повторного использования наименований и рекламы. Это полезно учесть, если вы хотите защитить название вашего продукта или марки.

Характеристики:

  • Не-копилефт;
  • Разрешено коммерческое использование работы;
  • Лицензиаты могут модифицировать работу;
  • Лицензиаты должны упоминать соответствующее авторство работы;
  • Лицензиаты могут распространять производную работу на других условиях;
  • Лицензиаты не обязаны выпускать исходный код вместе со своей производной работой;
  • Лицензиаты не могут использовать название продукта или торговую марку оригинального автора для продвижения своей производной работы (лицензии BSD из 3-х и 4-х пунктов);
  • Лицензиаты обязаны упоминать оригинального автора работы во всех рекламных материалах, ссылающихся на функции или использование этой работы (лицензия BSD из 4-х пунктов).

Заключение

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

Источники:
https://habr.com/ru/articles/40293/
https://wiki.merionet.ru/articles/sravnenie-open-source-licenzij