Некоторое время назад я обнаружил набор скриптов, помогающих собирать операционную систему GNU из исходников. К моему сожалению, в исходниках не содержалось указание на лицензию, под которой они распространяются. Я написал их автору, что отсутствие указания лицензии делает скрипты проприетарными, а это противоречит духу проекта GNU. Ответа я не получил…
Не опускайте лицензию и копирайт в своих исходных текстах, если, конечно, вы их кому-то предоставляете. Я регулярно заглядываю в открытые исходники и часто вижу, как их авторы допускают ошибки, касающиеся авторских прав и лицензирования. И хотя я не юрист, а лишь осведомлённый дилетант, позволю себе здесь рассказать о часто встречающихся проблемах с лицензиями на исходные тексты программ. Моя цель не руководство к действию дать, а поднять наболевшую проблему наверх. Это важно, если мы хотим оставаться в рамках закона и при этом быть защищены. Это нужно, чтобы открытые исходники и свободные программы не были лишь набором слов, а реальным инструментом в достижении наших целей.
Ещё двадцать лет назад понятия свободного программного обеспечения и открытых исходных текстов были неведомы чуть менее чем всем пользователям компьютеров, да что там говорить, самим программистам. Linux, BSD, OpenOffice, Gimp были диковинкой и вызывали удивление. Но Мир изменился. Опубликованным исходникам нет счёта, и мало кому из, по крайней мере, программистам, нужно объяснять, что это такое. Мир изменился, но люди нет. Невежество и чванство никуда не делись. Изучая чужие разработки в исходниках, не перестаю замечать, как много проектов игнорируют необходимость указания лицензии и копирайта.
Почему указание лицензии важно? Лицензия даём нам, как пользователям программ, так и программистам, изучающим чужие исходные тексты и использующим их в своих программах, чётко обозначенные права (разрешения) и ограничения (запреты). Отсутствие же лицензии означает одно: вам не предоставлено никаких прав, вообще.
Лицензии бывают разные. Часть из них являются лицензиями свободных программ, часть нет. Некоторые из них совместимы между собой, некоторые нет. Я очень рекомендую вам прочитать указанное руководство от проекта GNU.
Свобода программы подразумевает следующие четыре свободы:
Некоторые думают, что отсутствие лицензии означает передачу в общественное достояние (Public Domain). И что вы можете делать с исходниками всё, что вам заблагорассудится. Это совсем не так. Для вас это означает абсолютно противоположные вещи.
Если лицензия не указана, то ни одна из свобод вам не предоставлена. Вам вообще не предоставлено никаких прав. Представьте себе, свободный доступ к исходникам не означает, что вы можете с ними что-либо делать. Даже изучать! Тем более вы не можете их копировать, использовать как-либо, например, компилировать и запускать полученный код, заимствовать из них исходный текст в свои разработки, передавать кому-то ещё.
Передача в Public Domain осуществляется явно посредством специальной лицензии, например, Unlicense, CC0.
Если лицензия указана, вы обязаны её изучить, так как благодаря ей вы получаете определённые права на программный код. Обычно текст лицензии содержит перечисление того, что вы можете делать с данной программой, например, использовать, изменять, распространять, продавать. Большинство таких лицензий относятся к категории свободных.
Однако в лицензии могут быть указаны запреты, например, нельзя изменять, нельзя распространять изменённую версию, нельзя продавать, нельзя использовать с определёнными целями. Большинство программ с такими лицензиями не являются свободными. И нужно быть с ними очень осторожными.
Итак, будьте осведомлены и не будьте невеждами.
Давайте разберём типовые ошибки авторов программ, и поджидающие у их пользователей проблемы.