Немногие из нас задумываются, что, устанавливая то или иное программное обеспечение (ПО), мы заключаем лицензионное соглашение и выступаем лицензиатом. И приобретая право на использование ПО в установленных пределах, мы начинаем нести ответственность.
Эксперт
Аналогичная ситуация происходит, когда в спешке мы ставим галочки при установке программы, проговаривая “да, согласен, согласен”.
При создании программного обеспечения для наших клиентов мы постоянно уделяем внимание лицензионной чистоте создаваемого ПО.
В этой статье мы предлагаем рассмотреть, из чего строится регулирование прав в IT-отрасли, а также на какие аспекты мы обращаем внимание при выборе компонентов и сервисов для создаваемого ПО.
Право может распространяться на следующие формы представления ПО:
На такие условия непосредственно может влиять вид готовой программы.
1.1. Custom software / bespoke Создание программы является предметом договора. Заказчику принадлежит исключительное право на использование программы, а разработчику — право использовать программу для собственных нужд на неисключительной основе.
1.2. Mass-market, off-the-shelf software Программы для массового использования. Условия договора определяются в одностороннем порядке и заключаются проставлением галочки “Принимаю условия” (click-wrap license) или разрывом упаковки программы (shrink-wrap license).
2.1. System and Application Системные программы, к которым прежде всего относятся операционные системы, и прикладные программы (ПО, предназначенное для выполнения каких-либо задач). На эти виды также распространяется правовая охрана.
3.1. Proprietary software Проприетарное ПО (частное, несвободное), в рамках которого за правообладателем сохраняется весь объем прав, а пользователь может использовать ПО в объеме, который обозначил правообладатель.
3.2. Open source software ПО с открытым исходным кодом в противопоставление проприетарному ПО предоставляет больше прав конечному пользователю. Например, возможность модифицировать программу и распространять ее копии. В настоящее время существует множество лицензий с открытым исходным кодом, мы рассмотрим их чуть позже.
3.3. Public domain software ПО в общественном достоянии, т.е программа выходит из под контроля автора, и каждый может использовать программу в любой форме, не противоречащей закону.
4.1. Commercial software Коммерческое ПО, т.е. то, которое распространяется на возмездной основе (плата за лицензию или за экземпляр программы). Коммерческим ПО могут выступать как проприетарные ПО, так и ПО с открытым исходным кодом.
4.2. Freeware Бесплатное ПО, которое распространяется на безвозмездной основе, обычно содержит ограничения для пользователей и скрывает исходный код.
4.3. Free software Следует выделить данный вид, чтобы объяснить разницу с бесплатным ПО. Free software — это свободное ПО, разновидность ПО с открытым исходным кодом, которое может распространяться на возмездной основе.
4.4. Shareware Условно-бесплатное ПО, которое имеет период бесплатного использования программы или предоставляет в бесплатное использование только ограниченный набор функций. Пользователь может получить доступ ко всем функциям на какой-либо срок после оплаты.
4.5. Adware ПО с размещением рекламы, при использовании которого пользователь просматривает рекламу, проплаченную рекламодателем правообладателю.
Каким же образом можно защитить ПО? Существует несколько правовых режимов охраны программ, набор способов варьируется в зависимости от той или иной юрисдикции, в которой происходит регистрация правообладания. В России набор следующий:
1.1. Коммерческая тайна или секрет производства (ноу-хау) Секретом производства могут считаться любые сведения об интеллектуальной и профессиональной деятельности, которые неизвестны третьим лицам. Срок охраны не ограничен, пока сведения не перестанут быть конфиденциальными. Коммерческой тайной могут быть защищены исходный код, подготовительные материалы, архитектура и даже негативный опыт (неудачи).
2.1. Авторское право По желанию ПО может быть зарегистрировано в Роспатенте. В рамках авторского права защищаются, как правило, исходный код и объектный код. Срок авторского права действует в течение жизни автора и 70 лет после его смерти.
3.1. Патентное право Такой вид охраны позволяет защитить те формы представления программ, которые невозможно защитить авторским правом (например, элементы интерфейса, логика функционирования и т.д.). Срок действия зависит от вида объекта патентования. Сам процесс довольно длительный и сложный. Патентное право в большинстве случаев используется вкупе с авторским правом.
4.1. Товарный знак В качестве товарного знака может быть зарегистрировано наименование программы, графическое изображение. Такой вид охраны больше связан с рекламным продвижением. Узнаваемый бренд продукта способствует продвижению его на рынке.
5.1. Договорное право Именно к этому режиму охраны и относятся лицензионные соглашения, которые заключаются между лицензиаром (правообладателем) и лицензиатом (приобретающий право). Лицензией сопровождается использование любой программы, кроме разработанных на заказ. Заказное ПО сопровождается отдельным видом документации.
Технические средства защиты программы Технология, которая вшивается в саму программу посредством дополнительной разработки. Взлом такой защиты является правонарушением. Каждая лицензия как и любой договор имеет определенную структуру и должна содержать обязательные данные.
Предмет договора, способы использования предмета договора, объем лицензии (однопользовательская лицензия, лицензия с ограничением количества пользователей, лицензия, привязанная к количеству процессоров и прочее), срок лицензии, территория действия, право сублицензирования и распространения третьим лицам — все это обычно отражается в лицензиях.
Формат проприетарных лицензий и лицензий с открытым исходным кодом одинаковый. Отличаются только условия и объем прав.
Развитие IT-отрасли несоизмеримо по масштабам с другими сферами нашей жизни. Каждый разработчик вносит свой вклад ежедневно. Чтобы делиться результатами своей работы, совместно развивать технологии, давать доступ к свободному изучению, исправлению и модифицированию своего продукта, существуют лицензии с открытым исходным кодом (open source license). Данный формат ПО существенно отличается от ПО в общественном достоянии. Ведь несмотря на то, что автор предоставляет исходный код, его права охраняются лицензией. Так как свободы, которые разные авторы готовы предоставить, отличаются, существует большое количество видов лицензий с открытым исходным кодом. Мы рассмотрим наиболее распространенные.
GNU GPLv3 (General Public License | ||
Лицензия делает исходный код доступным для изучения и модификации и допускает распространение исходной или измененной программы без уплаты каких-либо лицензионных платежей. Однако плата за предоставление экземпляра программы или сопутствующих услуг допустима. | ||
Разрешения | Условия | Ограничения |
---|---|---|
|
|
|
MIT (Massachusetts Institute of Technology) | ||
Короткая и простая лицензия, которая требует только сохранения авторских прав и лицензионных уведомлений. При распространении первоначальной версии программы с MIT-лицензией должны сохраняться все данные об авторском праве в тексте исходного кода. А модифицированная версия программы может распространяться с любой лицензий и без открытого исходного кода. | ||
Разрешения | Условия | Ограничения |
---|---|---|
|
|
|
Apache License 2.0 | ||
Лицензия позволяет создавать производные произведения и распространять программу в первоначальном или измененном виде, в формах исходного кода и объектного кода. К дальнейшим модификациям можно применить лицензии с открытым кодом или проприетарные лицензии, при условии, что к коду, который написан на основе исходного кода с лицензией Apache, будет добавлен файл с указанием текста лицензии и перечислением всех библиотек с данной лицензией. | ||
Разрешения | Условия | Ограничения |
---|---|---|
|
|
|
GNU AGPLv3 (Affero General Public License) | ||
Лицензия позволяет создавать производные произведения и распространять программу в первоначальном или измененном виде, в формах исходного кода и объектного кода. К дальнейшим модификациям можно применить лицензии с открытым кодом или проприетарные лицензии, при условии, что к коду, который написан на основе исходного кода с лицензией Apache, будет добавлен файл с указанием текста лицензии и перечислением всех библиотек с данной лицензией. | ||
Разрешения | Условия | Ограничения |
---|---|---|
|
|
|
LGPL (Lesser General Public License) | ||
Исходный код библиотеки и его модификации должны предоставляться с этой же лицензией или GNU GPLv3. Лицензия допускает случаи соединения кода с LGPL-лицензией с бОльшей частью кода с проприетарной лицензией. | ||
Разрешения | Условия | Ограничения |
---|---|---|
|
|
|
MPL (Mozilla Public License) | ||
Лицензия применяется к файлам программы. Если создается или изменяется файл, который содержит первоначальный код или ранее сделанные модификации к нему, то такой файл должен быть лицензирован на условиях MPL. Код, лицензированный MPL-лицензией, можно использовать при создании проприетарных коммерческих продуктов, при условии, что он является меньшей частью программы. | ||
Разрешения | Условия | Ограничения |
---|---|---|
|
|
|
BSD-2 и BSD-3 (Berkeley Software Distribution license) | ||
Обе эти лицензии схожи с MIT-лицензией. Между собой они отличаются лишь тем, что лицензия BSD-3 запрещает использовать название и участников программы в модифицированных версиях без их письменного согласия. Обе лицензии позволяют использовать исходный код и бинарный код в своем продукте, распространяемым под любой другой лицензией, при соблюдении некоторых условий. | ||
Разрешения | Условия | Ограничения |
---|---|---|
|
|
|
Лицензии с открытым исходным кодом отличаются также степенью детализации документации, так как были созданы разными организациями для разных целей. Кто-то хотел продвинуть эту философию в массы, как создатель GPL-лицензии, а кто-то создавал лицензию под конкретный продукт, как Mozilla.
Можно также лицензировать открытой лицензией данные и медиа-файлы, документацию и разработанные шрифты. Разрешается применение разных лицензий к разным фрагментам продукта.
Для разработки продуктов наши front-end разработчики используют фреймворки и библиотеки с MIT-лицензией, такие как React, Angular, Redux. Back-end разработчики используют, в основном, фреймворки, лицензированные Apache License 2.0 (Apache Camel, Spring и т.д), и фреймворки с MIT-лицензией (Laravel, Symfony). Это позволяет нам использовать, модифицировать и распространять разрабатываемые продукты, открывая исходный код или скрывая его, с любой удобной лицензией.