Open‑source лицензии Перед тем как выложить software-продукт в сеть, хорошо бы подумать об авторских правах и возможных нюансах использования вашего кода. Здесь на помощь приходят open-source лицензии. Сегодня мы рассмотрим наиболее популярные из них: GNU GPL MIT Apache 2.0 MPL v2.0 The Unlicense Общие понятия Когда речь идет о лицензиях, вам могут встретиться следующие термины: Копилефтная лицензия — требующая распространять производные продукты под такой же лицензией. То есть, допустим, вы использовали в своем проекте стороннюю библиотеку с копилефтной лицензией X. Вам придется также лицензировать продукт Х. Разрешительная лицензия не накладывает никаких ограничений. Использовав чужой модуль, обладающий такой лицензией, вы можете распространять конечный продукт под любой лицензией, как коммерческой, так и open-source. Совместимость. Вы можете использовать в качестве компонентов своего проекта стороннее ПО с лицензиями X, Y, Z, если X, Y, Z совместимы с лицензией вашего проекта. GNU General Public License Самое важное, что вам нужно знать о GNU GPL это: Вы должны предоставить для изучения исходный код вашей программы, даже если распространяете продукт в скомпилированном виде. Если вы использовали в вашем проекте ПО, лицензированное GNU GPL, конечный продукт также должен быть лицензирован GNU GPL. То же касается модификации и распространения версий чужого кода. MIT Лицензия MIT наиболее «на слуху» в мире свободного ПО. Если разработчику не важны патентные права и в каком виде будет распространятся его код, оказавшись в сети, выбор часто падает на MIT. Позволяет безвозмездное использование ПО без ограничений: включая изменение, распространение и продажу копий. Конечный продукт можно распространять под любой лицензией. Исходные коды предоставлять не обязательно. Отказ от гарантий. Пользователь использует ПО на свой страх и риск. Отказ от ответственности. Вы ничего не сможете предъявить разработчику. Единственным обязательным условием является указание лицензии и автора. Apache 2.0 В отличие от MIT, делает более сильный акцент на авторские права. В шапке каждого файла исходного кода нужно указать авторство: Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the «License»); Это не обязательно делать в исходном коде — можно использовать файл NOTICE. Если вы используете в проекте чужой компонент под лицензией Apache 2.0, содержащий свой файл NOTICE, вы обязаны скопировать его содержимое в конечный продукт. Apache 2.0 является разрешительной, то есть конечный продукт с компонентами Apache 2.0 может иметь любую лицензию. Требует упоминания исходного авторства, а также указания всех изменений, внесенных в работу. Mozilla Public License v2.0 MPL является копилефтной лицензией, но не для целого проекта, а для отдельных его файлов. Если вы изменили файл, он должен остаться под MPL 2.0. Можно без ограничений добавлять в проект компоненты любых лицензий. The Unlicense Попытка сделать код общественным достоянием и отказаться от авторства. Beerware Лицензия с забавным названием. Является разрешительной и не имеет ограничений. Содержит необязательное условие купить автору пива (выпить в честь автора), если вам понравился его проект :) Вывод Хотите, чтобы другие разработчики делились улучшениями вашего продукта? Выбирайте GNU GPL или MPL. Важен вопрос авторских прав? Тогда вам подойдет Apache 2.0. Нет точных требований к лицензии? Можно выложить код в интернет, лицензировав его MIT. Полный список лицензий есть на сайте https://choosealicense.com/appendix/.