# Open‑source лицензии

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

<div class="level1" id="bkmrk-gnu%C2%A0gpl-mit-apache-2">- <div class="li">GNU <abbr data-original-title="GNU General Public License" title="">GPL</abbr></div>
- <div class="li">MIT</div>
- <div class="li">Apache 2.0</div>
- <div class="li">MPL v2.0</div>
- <div class="li">The Unlicense</div>

</div><div class="secedit editbutton_section editbutton_1" id="bkmrk-"></div>## Общие понятия

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

<div class="level2" id="bkmrk-%D0%9A%D0%BE%D0%BF%D0%B8%D0%BB%D0%B5%D1%84%D1%82%D0%BD%D0%B0%D1%8F-%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F">- <div class="li">Копилефтная лицензия — требующая распространять производные продукты под такой же лицензией. То есть, допустим, вы использовали в своем проекте стороннюю библиотеку с копилефтной лицензией X. Вам придется также лицензировать продукт Х.</div>
- <div class="li">Разрешительная лицензия не накладывает никаких ограничений. Использовав чужой модуль, обладающий такой лицензией, вы можете распространять конечный продукт под любой лицензией, как коммерческой, так и open-source.</div>
- <div class="li">Совместимость. Вы можете использовать в качестве компонентов своего проекта стороннее ПО с лицензиями X, Y, Z, если X, Y, Z совместимы с лицензией вашего проекта.</div>

</div><div class="secedit editbutton_section editbutton_2" id="bkmrk--0"></div>## GNU General Public License

Самое важное, что вам нужно знать о GNU <abbr data-original-title="GNU General Public License" title="">GPL</abbr> это:

<div class="level2" id="bkmrk-%D0%92%D1%8B-%D0%B4%D0%BE%D0%BB%D0%B6%D0%BD%D1%8B-%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%B8">- <div class="li">Вы должны предоставить для изучения исходный код вашей программы, даже если распространяете продукт в скомпилированном виде.</div>
- <div class="li">Если вы использовали в вашем проекте ПО, лицензированное GNU <abbr data-original-title="GNU General Public License" title="">GPL</abbr>, конечный продукт также должен быть лицензирован GNU <abbr data-original-title="GNU General Public License" title="">GPL</abbr>. То же касается модификации и распространения версий чужого кода.</div>

</div><div class="secedit editbutton_section editbutton_3" id="bkmrk--1"></div>## MIT

Лицензия MIT наиболее «на слуху» в мире свободного ПО. Если разработчику не важны патентные права и в каком виде будет распространятся его код, оказавшись в сети, выбор часто падает на MIT.

<div class="level2" id="bkmrk-%D0%9F%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82-%D0%B1%D0%B5%D0%B7%D0%B2%D0%BE%D0%B7%D0%BC%D0%B5%D0%B7%D0%B4">- <div class="li">Позволяет безвозмездное использование ПО без ограничений: включая изменение, распространение и продажу копий.</div>
- <div class="li">Конечный продукт можно распространять под любой лицензией.</div>
- <div class="li">Исходные коды предоставлять не обязательно.</div>
- <div class="li">Отказ от гарантий. Пользователь использует ПО на свой страх и риск.</div>
- <div class="li">Отказ от ответственности. Вы ничего не сможете предъявить разработчику.</div>
- <div class="li">Единственным обязательным условием является указание лицензии и автора.</div>

</div><div class="secedit editbutton_section editbutton_4" id="bkmrk--2"></div>## Apache 2.0

В отличие от MIT, делает более сильный акцент на авторские права. В шапке каждого файла исходного кода нужно указать авторство:

> <div class="no">Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the «License»);</div>

Это не обязательно делать в исходном коде — можно использовать файл NOTICE. Если вы используете в проекте чужой компонент под лицензией Apache 2.0, содержащий свой файл NOTICE, вы обязаны скопировать его содержимое в конечный продукт.

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

## Mozilla Public License v2.0

MPL является копилефтной лицензией, но не для целого проекта, а для отдельных его файлов.

<div class="level2" id="bkmrk-%D0%95%D1%81%D0%BB%D0%B8-%D0%B2%D1%8B-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D0%BB%D0%B8-%D1%84%D0%B0%D0%B9">- <div class="li">Если вы изменили файл, он должен остаться под MPL 2.0.</div>
- <div class="li">Можно без ограничений добавлять в проект компоненты любых лицензий.</div>

</div><div class="secedit editbutton_section editbutton_6" id="bkmrk--3"></div>## The Unlicense

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

## Beerware

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

## Вывод

Хотите, чтобы другие разработчики делились улучшениями вашего продукта? Выбирайте GNU <abbr data-original-title="GNU General Public License" title="">GPL</abbr> или MPL. Важен вопрос авторских прав? Тогда вам подойдет Apache 2.0. Нет точных требований к лицензии? Можно выложить код в интернет, лицензировав его MIT. Полный список лицензий есть на сайте [https://choosealicense.com/appendix/](https://choosealicense.com/appendix/ "https://choosealicense.com/appendix/").