Краткий гид по open‑source лицензиям

4 min read

Перед тем как выложить software-продукт в сеть, хорошо бы подумать об авторских правах и возможных нюансах использования вашего кода. Здесь на помощь приходят open-source лицензии. Сегодня мы рассмотрим наиболее популярные из них:

Общие понятия

Когда речь идет о лицензиях, вам могут встретиться следующие термины:

GNU General Public License

Самое важное, что вам нужно знать о 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 является копилефтной лицензией, но не для целого проекта, а для отдельных его файлов. 

The Unlicense

Попытка сделать код общественным достоянием и отказаться от авторства.

Beerware

Лицензия с забавным названием. Является разрешительной и не имеет ограничений. Содержит необязательное условие купить автору пива (выпить в честь автора), если вам понравился его проект :)

Вывод

Хотите, чтобы другие разработчики делились улучшениями вашего продукта? Выбирайте GNU GPL или MPL. Важен вопрос авторских прав? Тогда вам подойдет Apache 2.0. Нет точных требований к лицензии? Можно выложить код в интернет, лицензировав его MIT. Полный список лицензий есть на сайте choosealicense.