Лицензии открытого кода: краткое руководство

Открытый исходный код распространяется на основе свободной лицензии (free license). Изображение с сайта pexels.com (СС0)
Открытый исходный код распространяется на основе свободной лицензии (free license). Изображение с сайта pexels.com (СС0)

Все лицензии на программное обеспечение делятся на две больших группы: несвободные (проприетарные) и свободные. У этих категорий есть существенные различия, которые определяют права использования. Открытый исходный код распространяется на основе открытой лицензии. В этой статье мы разберем, какие существуют виды открытых лицензий и что они означают.

Открытая лицензия позволяет свободно и совместно использовать, модифицировать программное обеспечение.

То есть исходный код таких программ полностью доступен. Именно лицензии описывают, что можно делать с этим кодом, а что нет.

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

На схеме показана детализация категорий программ. Изображение с сайта www.gnu.org
На схеме показана детализация категорий программ. Изображение с сайта www.gnu.org

Список одобренных лицензий для открытого ПО

Такой список составила организация по продвижению открытого ПО Open Source Initiative. В него вошли несколько популярных подтвержденных лицензий.

1. GNU, General Public License (GPL). В сообществе программистов это одна из ключевых лицензий, которая используется при написании открытого ПО. Ее создал программист, основатель движения открытого ПО и проекта по разработке свободного ПО GNU (The GNU ProjectРичард Столлман.

Пользователь имеет право распространять ПО под этой лицензией, участвовать в его разработке или изменять различными способами. Но есть такое правило: любые изменения программы, сделанные пользователем и распространенные им, должны иметь исходный код этих изменений.

Например, под этой лицензией распространяется ядро Linux, MySQL, Asterisk и многие CMS-системы (системы управления содержимым): MovableType, MODx, WordPress, Joomla, Drupal, osCommerce.

2. Apache License 2.0. Гибкая лицензия, которая имеет четкие права. Плюс в том, что они могут применяться к копирайтам и патентам. Некоторые из доступных прав: права безвозмездны, вечны, не эксклюзивны и глобальны. Если вы распространяете код, вы должны указать имя разработчика.

3. BSD (Berkeley Software Distribution). В этой лицензии не такие строгие правила, как в GPL. Разработчики должны выполнить несложные условия: указывать в документации, что в продукте используются разработки создателей оригинального программного обеспечения и не использовать имена (или названия) создателей этого ПО в рекламных целях без письменного согласия.

BSD-лицензий существует несколько видов. Наиболее используемые New BSD/Modified BSD и Simplified BSD/FreeBSD. Лицензия New BSD разрешает распространять ПО с любой целью, не дает гарантий и не несет ответственности за последствия использования. Есть пункт в виде специального разрешения: нельзя использовать имена участников вашего проекта. Между этими лицензиями единственное отличие: в Simplified BSD не ограничено использование имен.

Например, компания Apple использует преимущественно лицензии BSD.

4. GNU Lesser General Public License (LGPL). Появилась в рамках проекта GNU. Дает больше прав, чем GPL. Главное отличие в том, что она позволяет использовать продукты LGPL в проектах, которые распространяются под другими лицензиями.

Один из известных продуктов, выпускаемый под этой лицензией, – офисный пакет OpenOffice.org.

Еще по теме: Что такое открытый код

5. MIT license (Massachusetts Institute of Technology). Очень короткая и достаточно свободная лицензия. Она разрешает использовать, копировать и модифицировать программное обеспечение на ваше усмотрение. ПО можно предоставлять бесплатно или даже продавать. Ограничений нет. Но есть ограничение в том, что ваше ПО должно сопровождаться лицензионным соглашением.

Программное обеспечение, которое лицензировано MIT, можно использовать в закрытых продуктах. Лицензия схожа с BSD. Но в MIT можно использовать название продукта и имена создателей в рекламных целях. Под MIT распространяются X Window System (X11) и Ruby on Rails.

6. Mozilla Public License 2.0. Содержит в себе черты BSD и GPL. Исходный код, скопированный или измененный под лицензией MPL, должен быть лицензирован по правилам MPL. Лицензия позволяет объединить его в одной программе с проприетарными (несвободными) файлами.

7. Common Development and Distribution LicenseЭта лицензия позволяет совмещать открытый и закрытый код, защищенный авторскими правами. Файлы можно совмещать с файлами, которые находятся под другими открытыми или проприетарными (несвободными) лицензиями.

8. Eclipse Public License. Лицензия наиболее подходит для бизнес-ориентированного свободного ПО и базируется на лицензии CPL. У нее более гибкие правила отказа на авторские права.

По мнению разработчика свободного программного обеспечения Сергея Матвеева стоит использовать лицензии семейства GNU GPL. «Мне важно, чтобы мой труд был свободным ПО, чтобы он принес пользу обществу, чтобы никто не смог сделать мое ПО не свободным или использовать его в помощь несвободному, так как это обесценило мой вклад, – объясняет эксперт. – Многие говорят, что не хотят использовать GPL, потому-что хотят свободны, абсолютного отсутствия ограничений. В таком случае подходит только public domain: общественное достояние, где ПО действительно перестает что-то требовать или ограничивать».

С полным списком одобренных лицензий можно ознакомиться на сайте Open Source Initiative.