Леонид МаслаковLenpaste

Какую лицензия выбрать для Open Source проекта?

12.01.2022

Лицензию следует выбрать в начале разработки проекта. Так как её изменение в будущем будет затруднительно.

GPL v3+

GPL предоставляет 4 основных свободы: 0. свободу запуска программы с любой целью

  1. свободу изучения того, как программа работает
  2. свободу распространения копий
  3. свободу улучшения программы и выпуска улучшений в публичный доступ

А ещё это копилефт лицензия. Это значит что любой человек, распространяющий модифицированную версию вашей программы, будет обязан предоставить исходный код изменённой версии под лицензией GPL.

Кстати + в конце означает, что если выйдет “GPL v4”, то пользователь сможет получить исходный код как под 3, так и под 4 версией лицензии (на его выбор).

AGPL v3+

Это модификация лицензии GPL, добавляющая пункт которые обязывает предоставлять исходные коды изменённой версии даже если она взаимодействует с пользователем по сети.

BSD

BSD имеет несколько модификаций: старую (4 пункта) и новую (3 пункта).

В новой версии был удален пункт, обязывающий показывать уведомление об авторах программы в рекламе. Во первых он мешал совместимости с GPL. Во вторых таких уведомлений могло быть слишком много (у NetBSD их было 75).

И так новая лицензия BSD:

  1. Разрешает не показывать исходный код (этим активно пользуются Apple, PlayStation, Microsoft и многие другие)
  2. Требует упоминать авторов (это распространяется на исходный код и бинарные файлы)
  3. Запрещает использовать имена авторов в рекламе

MIT

Эта лицензия очень похожа на новую версию BSD, только пункт, запрещающий использовать имена авторов в рекламе отсутствует.

Вывод

Я всегда использую лицензию GPLv3+ или AGPLv3+. Это гарантирует что код не будет закрыт.

Кстати прочитать про то как применить GPL к своему проекту можно на официальном сайте GNU.

Ссылки