⚖ Что такое лицензирование ПО и как оно работает?
Рассказываем о классификации лицензий и даем практические советы по лицензированию программного обеспечения.
Лицензия на программное обеспечение является юридическим документом, регулирующим использование и/или перераспределение продукта. Другими словами, лицензионное соглашение (licence agreement) – это договор между автором и пользователем, который прилагается к ПО в виде текстового документа, для защиты интеллектуальной собственности разработчика и ограничения претензий.
Для разработчика лицензионное соглашение в первую очередь защищает право собственности и доход, полученный от распространения ПО. Для пользователя лицензионное соглашение может служить основанием правомерности использования программного обеспечения.
Лицензионные соглашения могут быть общими и распространяться на всех пользователей, например, EULA. Другие соглашения более специфичны для конкретного пользователя, они могут включать частные соглашения между разработчиком и пользователем.
Классификация лицензий
Условно все лицензии на ПО можно разделить на две большие группы: свободного и несвободного использования.
Подчеркиваем: свободными называются только продукты с открытым исходным кодом, которые любой желающий может свободно использовать, копировать, изучать и изменять любым способом. Предполагалось, что люди будут добровольно улучшать его дизайн, но фактически свободное ПО стало играть заметную роль в индустрии, только когда им заинтересовались корпорации и вложили средства в разработку. Скажем, среди заметных контрибьюторов ядра GNU/Linux вы найдете не только RedHat, но и IBM, Google и даже Microsoft.
Стоит также отметить, что не любое открытое ПО является свободным: доступ к исходному коду (на определенных условиях) могут предоставлять даже создатели коммерческих продуктов. Пример – коммерческая ОСРВ QNX Neutrino, большая часть исходных текстов которой открыта правообладателем в рамках проекта Foudry27.
Стандарты, определения и лицензии свободного ПО довольно сильно различаются в зависимости от организаций, поддерживающих его развитие и распространение. Среди них:
Мы не будем тут подробно останавливаться на истории, организациях и фигурах, которые внесли основной вклад в развитие движения Open Source.
Обычно без явного принятия лицензии проприетарное программное обеспечение использовать нельзя.
Проприетарное ПО в свою очередь делится на коммерческое и условно бесплатное. Коммерческое, как следует из названия, распространяется за деньги или по бартеру, а условно бесплатное распространяется бесплатно, но, возможно, с определенными ограничениями: например, без права копирования, изменения, передачи, декомпиляции, доступа к некоторым функциям и т. д.
Терминология и факторы
При определении характеристик лицензирования также часто используются следующие критерии:
- связывание лицензионного кода с кодом под другой лицензией, например, когда код предоставляется в виде библиотеки;
- право на распространение кода третьим лицам;
- право на модификацию кода;
- возможность выдачи патента;
- частное использование – может ли модификация использоваться в частном порядке, например, для внутреннего использования корпорацией;
- сублицензирование – может ли измененный код распространяться под другой лицензией, например, авторским правом;
- использование товарных знаков, связанных с кодом.
Эти характеристики часто прописывают в лицензионном соглашении как свободного, так и проприетарного ПО, во избежание разногласий между правообладателем и пользователем.
Лицензии Open Source
FSF предлагает 4 критерия соответствия «свободного программного обеспечения»:
- возможность запускать программу для любых целей;
- возможность изучать и изменять программы, что предполагает доступ к исходному коду;
- возможность распространять копии;
- возможность распространять модифицированные копии.
Несмотря на обилие видов и функций лицензий Open Source их можно условно свести к 3 категориям.
Лицензия общественного достояния
По многим причинам компании вынуждены проявлять осторожность при внедрении программного обеспечения, являющегося общественным достоянием, в проекты или другие важные приложения.
- Являющееся общественным достоянием ПО может не всегда соответствовать лучшим методам кодирования или не соответствовать стандартам безопасности.
- Программное обеспечение, не подпадающее под определенные условия лицензирования, не всегда является кодом общественного достояния. Стоит убедиться, что оно действительно является общественным достоянием, прежде чем копировать, повторно использовать или распространять его.
- Бернская конвенция гласит, что все произведения, за редким исключением, должны быть защищены авторским правом в течение по крайней мере 50 лет после смерти автора, но стороны свободны обеспечить более длительные сроки.
Если подытожить, то любое ПО, созданное разработчиком, по умолчанию является его авторским произведением и может быть передано в разряд общественного достояния только путем явного, активного отказа от авторских прав.
Разрешающая лицензия FOSS (GNU/LGPL)
Разрешительная лицензия на программное обеспечение имеет минимальные ограничения и предполагает отказ от предоставления гарантий.
Варианты разрешительных лицензий включают различия в требованиях к сохранению уведомлений и авторских прав на программное обеспечение.
Copyleft
Копилефт – это практика предоставления права свободно распространять и изменять интеллектуальную собственность с требованием, чтобы те же права сохранялись в производных произведениях, созданных на основе этой собственности.
Поскольку включенное в новый проект исходное программное обеспечение допускало модификации и распространение, это может быть не лучшей вариант для разработчиков, поскольку полученный код также должен содержать лицензию с copyleft, включая доступность исходного кода.
Одними из самых популярных среди лицензий Open Source лицензий являются GPLv3 и его надстройка LGPLv3. GNU GPL – это копилефтная лицензия, и требует, чтобы исходные коды производных работ были открытыми под ней же. Она позволяет распространять продукт за деньги, но только при условии предоставления исходников.
Чтобы не вдаваться в подробности совместимости лицензий приведем ссылку на таблицу совместимости лицензий GNU.
Лицензии на проприетарное ПО
Лицензии на проприетарное ПО условно делятся на 3 основные группы по типу ограничений: условно бесплатная, собственная лицензия и коммерческая тайна.
Классификация типу ограничений и монетизации:
- бессрочная/срочная лицензия:
- плавающая лицензия;
- лицензия по подписке;
- лицензия со счетчиком;
- лицензия на функцию;
- пробная лицензия;
- лицензия на проект;
- лицензия на устройство;
- лицензирование пользователей;
Разберем немного подробнее основные различия этих лицензий.
Условно бесплатная или некоммерческая лицензия
Такие лицензии подразумевают, что ПО распространяется бесплатно, но с рядом ограничений. Например, может быть ограничен срок использования продукта или доступ к его функциям. Возможны варианты, когда лицензия подразумевает полностью бесплатное использование для определенных целей, например, образовательных или только для личного некоммерческого использования. При таком подходе за пользователем может сохраняться право на копирование, но он ограничен правом на модификацию или сублицензирование.
Собственная лицензия
Коммерческое программное обеспечение или программное обеспечение – вид лицензирования, когда издатель сохраняет права на модификации и распространение за собой, оставляя тем самым пользователям лишь право на ограниченное использование ПО за определенную плату. Это основной вид лицензирования коммерческого ПО.
Коммерческая тайна
Это вид интеллектуальной собственности, включающий формулы, методы, процессы, конструкции, инструменты, шаблоны или компиляции информации, которые имеют неотъемлемую экономическую ценность, поскольку они обычно не известны или не могут быть легко определены другими, а владелец принимает разумные меры, чтобы держать их в секрете. Исходный код такого ПО держится в секрете и патентуется.
По сути ПО подпадающее под коммерческую тайну не относится напрямую к лицензированию, так как распространяется строго внутри компании и не предполагает соглашения с пользователем за ее пределами. Тем не менее некоторые виды распространяемого проприетарного ПО или их элементы могут подпадать под определение коммерческой тайны, что должно отображаться в лицензионном соглашении.
Таблица сравнения лицензий
Способы составления лицензии
Вне зависимости от того, составляете вы лицензию вручную, используете готовый текст типовой лицензии какой-либо алгоритм для подбора лицензии, стоит учитывать следующие моменты:
- разрешение и условия использования, копирования и модификации;
- ограничения;
- права интеллектуальной собственности;
- гарантии или отказ от гарантий;
- условия распространения и сублицензирования;
- указание авторства.
Все эти моменты стоит учесть при выборе или составлении лицензии и явно в ней указать.
При выборе лицензии для своего продукта обязательно учитывайте лицензии всех библиотек и материалов, которые вы в нем использовали. Согласование лицензий может быть сложным процессом, требующим особого внимания.
Работая в команде, обязательно обсудите выбор лицензии с ответственными коллегами перед релизом. В сложных случаях стоит обратиться к юристу, специализирующемуся на авторском праве в вашей юрисдикции или юрисдикции потенциальных пользователей. Хотя чаще всего лицензии прилагаются на английском, в случае, если потенциальные пользователи им не владеют, стоит приложить перевод текста на понятный для пользователя язык.
Заключение
Составление или подбор лицензионного соглашения для распространения ПО – это не простая формальность, а важный этап в заключительном цикле разработки, предшествующий выпуску продукта. Какой бы вид лицензии вы ни выбрали для своего кода, рекомендуем подойти к этому внимательно и ответственно. От вашего выбора будут зависеть особенности использования продукта и возможности сторонних разработчиков внести вклад в проект.