Какую лицензия выбрать для Open Source проекта?
12.01.2022
Лицензию следует выбрать в начале разработки проекта. Так как её изменение в будущем будет затруднительно.
GPL v3+
GPL предоставляет 4 основных свободы: 0. свободу запуска программы с любой целью
- свободу изучения того, как программа работает
- свободу распространения копий
- свободу улучшения программы и выпуска улучшений в публичный доступ
А ещё это копилефт лицензия. Это значит что любой человек, распространяющий модифицированную версию вашей программы, будет обязан предоставить исходный код изменённой версии под лицензией GPL.
Кстати + в конце означает, что если выйдет “GPL v4”, то пользователь сможет получить исходный код как под 3, так и под 4 версией лицензии (на его выбор).
AGPL v3+
Это модификация лицензии GPL, добавляющая пункт которые обязывает предоставлять исходные коды изменённой версии даже если она взаимодействует с пользователем по сети.
BSD
BSD имеет несколько модификаций: старую (4 пункта) и новую (3 пункта).
В новой версии был удален пункт, обязывающий показывать уведомление об авторах программы в рекламе. Во первых он мешал совместимости с GPL. Во вторых таких уведомлений могло быть слишком много (у NetBSD их было 75).
И так новая лицензия BSD:
- Разрешает не показывать исходный код (этим активно пользуются Apple, PlayStation, Microsoft и многие другие)
- Требует упоминать авторов (это распространяется на исходный код и бинарные файлы)
- Запрещает использовать имена авторов в рекламе
MIT
Эта лицензия очень похожа на новую версию BSD, только пункт, запрещающий использовать имена авторов в рекламе отсутствует.
Вывод
Я всегда использую лицензию GPLv3+ или AGPLv3+. Это гарантирует что код не будет закрыт.
Кстати прочитать про то как применить GPL к своему проекту можно на официальном сайте GNU.