- Лицензии открытого кода: краткое руководство
- Список одобренных лицензий для открытого ПО
- Android от А до Я: Что такое открытый исходный код и открытое ПО (open source)
- ⚖ Что такое лицензирование ПО и как оно работает?
- Сергей Кравченко
- Классификация лицензий
- Терминология и факторы
- Лицензии Open Source
- Лицензия общественного достояния
- Разрешающая лицензия FOSS (GNU/LGPL)
- Copyleft
- Лицензии на проприетарное ПО
- Условно бесплатная или некоммерческая лицензия
- Собственная лицензия
- Коммерческая тайна
- Таблица сравнения лицензий
- Способы составления лицензии
- Заключение
Лицензии открытого кода: краткое руководство
Все лицензии на программное обеспечение делятся на две больших группы: несвободные (проприетарные) и свободные. У этих категорий есть существенные различия, которые определяют права использования. Открытый исходный код распространяется на основе открытой лицензии. В этой статье мы разберем, какие существуют виды открытых лицензий и что они означают.
Открытая лицензия позволяет свободно и совместно использовать, модифицировать программное обеспечение.
То есть исходный код таких программ полностью доступен. Именно лицензии описывают, что можно делать с этим кодом, а что нет.
В некоторых случаях есть небольшие ограничения, например, разработчики должны сослаться на предыдущих создателей или сохранить принцип открытости при последующем распространении программы.
На схеме показана детализация категорий программ. Изображение с сайта www.gnu.org
Список одобренных лицензий для открытого ПО
Такой список составила организация по продвижению открытого ПО Open Source Initiative. В него вошли несколько популярных подтвержденных лицензий.
1. GNU, General Public License (GPL). В сообществе программистов это одна из ключевых лицензий, которая используется при написании открытого ПО. Ее создал программист, основатель движения открытого ПО и проекта по разработке свободного ПО GNU ( The GNU Project ) Ричард Столлман.
Пользователь имеет право распространять ПО под этой лицензией, участвовать в его разработке или изменять различными способами. Но есть такое правило: любые изменения программы, сделанные пользователем и распространенные им, должны иметь исходный код этих изменений.
Например, под этой лицензией распространяется ядро Linux, MySQL, Asterisk и многие CMS-системы (системы управления содержимым): MovableType, MODx, WordPress, Joomla, Drupal, osCommerce.
2. Apache License 2.0. Гибкая лицензия, которая имеет четкие права. Плюс в том, что они могут применяться к копирайтам и патентам. Некоторые из доступных прав: права безвозмездны, вечны, не эксклюзивны и глобальны. Если вы распространяете код, вы должны указать имя разработчика.
3. BSD (Berkeley Software Distribution). В этой лицензии не такие строгие правила, как в GPL. Разработчики должны выполнить несложные условия: указывать в документации, что в продукте используются разработки создателей оригинального программного обеспечения и не использовать имена (или названия) создателей этого ПО в рекламных целях без письменного согласия.
BSD-лицензий существует несколько видов. Наиболее используемые New BSD/Modified BSD и Simplified BSD/FreeBSD. Лицензия New BSD разрешает распространять ПО с любой целью, не дает гарантий и не несет ответственности за последствия использования. Есть пункт в виде специального разрешения: нельзя использовать имена участников вашего проекта. Между этими лицензиями единственное отличие: в Simplified BSD не ограничено использование имен.
Например, компания Apple использует преимущественно лицензии BSD.
4. GNU Lesser General Public License (LGPL). Появилась в рамках проекта GNU. Дает больше прав, чем GPL. Главное отличие в том, что она позволяет использовать продукты LGPL в проектах, которые распространяются под другими лицензиями.
Один из известных продуктов, выпускаемый под этой лицензией, – офисный пакет OpenOffice.org.
5. MIT license (Massachusetts Institute of Technology). Очень короткая и достаточно свободная лицензия. Она разрешает использовать, копировать и модифицировать программное обеспечение на ваше усмотрение. ПО можно предоставлять бесплатно или даже продавать. Ограничений нет. Но есть ограничение в том, что ваше ПО должно сопровождаться лицензионным соглашением.
Программное обеспечение, которое лицензировано MIT, можно использовать в закрытых продуктах. Лицензия схожа с BSD. Но в MIT можно использовать название продукта и имена создателей в рекламных целях. Под MIT распространяются X Window System (X11) и Ruby on Rails.
6. Mozilla Public License 2.0. Содержит в себе черты BSD и GPL. Исходный код, скопированный или измененный под лицензией MPL, должен быть лицензирован по правилам MPL. Лицензия позволяет объединить его в одной программе с проприетарными (несвободными) файлами.
7. Common Development and Distribution License. Эта лицензия позволяет совмещать открытый и закрытый код, защищенный авторскими правами. Файлы можно совмещать с файлами, которые находятся под другими открытыми или проприетарными (несвободными) лицензиями.
8. Eclipse Public License. Лицензия наиболее подходит для бизнес-ориентированного свободного ПО и базируется на лицензии CPL. У нее более гибкие правила отказа на авторские права.
По мнению разработчика свободного программного обеспечения Сергея Матвеева стоит использовать лицензии семейства GNU GPL. «Мне важно, чтобы мой труд был свободным ПО, чтобы он принес пользу обществу, чтобы никто не смог сделать мое ПО не свободным или использовать его в помощь несвободному, так как это обесценило мой вклад, – объясняет эксперт. – Многие говорят, что не хотят использовать GPL, потому-что хотят свободны, абсолютного отсутствия ограничений. В таком случае подходит только public domain: общественное достояние, где ПО действительно перестает что-то требовать или ограничивать».
С полным списком одобренных лицензий можно ознакомиться на сайте Open Source Initiative.
Источник
Android от А до Я: Что такое открытый исходный код и открытое ПО (open source)
Открытое программное обеспечение (open-source software) предназначено для свободного доступа к исходному коду для всех желающих. Существуют разные лицензии с разными условиями использования от GPL (GNU General Public License) и до более лояльной Apache License. Первая разрешает бесплатное распространение при условии использования этой же лицензии для последующей продукции. Вторая не требует обязательного распространения готового продукта и открытости исходного кода. Android использует обе. Внутри продолжение рассказал об открытом исходном коде и открытом ПО.
Ядро Linux, которое используется в ОС, попадает под действие GPL. Это означает, что все изменения исходного кода должны быть доступны общественности после официального выхода софта. На практике это должно выглядеть следующим образом: такие производители как HTC, Samsung, Motorola, выпуская новое устройство, обязаны делать открытый доступ к исходному коду с моменты выпуска этого устройства. В большинстве своем производители железа немного затягивают с этим.
Исходный код для ОС Android как правило попадает под действие Apache License. Каждый может загрузить исходный код и изменить его, при этом нет необходимости делать код доступным для всех. По этой причине Android не могут изменить или усовершенствовать HTC Sense или MotoBlur. Несмотря на то, что подобная ситуация не нравится многим пользователям, она не может быть изменена в силу коммерческих причин. Если бы производители делали доступными все свои секреты, то отпала бы финансовая причина создавать различные инновации для опережения соперников в конкурентной борьбе. Таким образом, использование более лояльной лицензии является полностью оправданным. Выпуск новых устройств регулярно подтверждает это.
Источник
⚖ Что такое лицензирование ПО и как оно работает?
Сергей Кравченко
Лицензия на программное обеспечение является юридическим документом, регулирующим использование и/или перераспределение продукта. Другими словами, лицензионное соглашение (licence agreement) – это договор между автором и пользователем, который прилагается к ПО в виде текстового документа, для защиты интеллектуальной собственности разработчика и ограничения претензий.
Для разработчика лицензионное соглашение в первую очередь защищает право собственности и доход, полученный от распространения ПО. Для пользователя лицензионное соглашение может служить основанием правомерности использования программного обеспечения.
Лицензионные соглашения могут быть общими и распространяться на всех пользователей, например, EULA . Другие соглашения более специфичны для конкретного пользователя, они могут включать частные соглашения между разработчиком и пользователем.
Классификация лицензий
Условно все лицензии на ПО можно разделить на две большие группы: свободного и несвободного использования.
Подчеркиваем: свободными называются только продукты с открытым исходным кодом , которые любой желающий может свободно использовать, копировать, изучать и изменять любым способом. Предполагалось, что люди будут добровольно улучшать его дизайн, но фактически свободное ПО стало играть заметную роль в индустрии, только когда им заинтересовались корпорации и вложили средства в разработку. Скажем, среди заметных контрибьюторов ядра GNU/Linux вы найдете не только RedHat, но и IBM, Google и даже Microsoft.
Стоит также отметить, что не любое открытое ПО является свободным: доступ к исходному коду (на определенных условиях) могут предоставлять даже создатели коммерческих продуктов. Пример – коммерческая ОСРВ QNX Neutrino, большая часть исходных текстов которой открыта правообладателем в рамках проекта Foudry27.
Стандарты, определения и лицензии свободного ПО довольно сильно различаются в зависимости от организаций, поддерживающих его развитие и распространение. Среди них:
- инициатива Open Source ( OSI )
- Фонд свободного программного обеспечения ( FSF )
Мы не будем тут подробно останавливаться на истории , организациях и фигурах, которые внесли основной вклад в развитие движения Open Source.
Обычно без явного принятия лицензии проприетарное программное обеспечение использовать нельзя.
Проприетарное ПО в свою очередь делится на коммерческое и условно бесплатное. Коммерческое, как следует из названия, распространяется за деньги или по бартеру, а условно бесплатное распространяется бесплатно, но, возможно, с определенными ограничениями: например, без права копирования, изменения, передачи, декомпиляции, доступа к некоторым функциям и т. д.
Терминология и факторы
При определении характеристик лицензирования также часто используются следующие критерии:
- связывание лицензионного кода с кодом под другой лицензией, например, когда код предоставляется в виде библиотеки;
- право на распространение кода третьим лицам;
- право на модификацию кода;
- возможность выдачи патента;
- частное использование – может ли модификация использоваться в частном порядке, например, для внутреннего использования корпорацией;
- сублицензирование – может ли измененный код распространяться под другой лицензией, например, авторским правом;
- использование товарных знаков, связанных с кодом.
Эти характеристики часто прописывают в лицензионном соглашении как свободного, так и проприетарного ПО, во избежание разногласий между правообладателем и пользователем.
Спектр лицензирования свободного программного обеспечения по Дэвиду А. Уиллеру
Лицензии Open Source
- возможность запускать программу для любых целей;
- возможность изучать и изменять программы, что предполагает доступ к исходному коду;
- возможность распространять копии;
- возможность распространять модифицированные копии.
Несмотря на обилие видов и функций лицензий Open Source их можно условно свести к 3 категориям.
Лицензия общественного достояния
По многим причинам компании вынуждены проявлять осторожность при внедрении программного обеспечения, являющегося общественным достоянием, в проекты или другие важные приложения.
- Являющееся общественным достоянием ПО может не всегда соответствовать лучшим методам кодирования или не соответствовать стандартам безопасности.
- Программное обеспечение, не подпадающее под определенные условия лицензирования, не всегда является кодом общественного достояния. Стоит убедиться, что оно действительно является общественным достоянием, прежде чем копировать, повторно использовать или распространять его.
- Бернская конвенция гласит, что все произведения, за редким исключением, должны быть защищены авторским правом в течение по крайней мере 50 лет после смерти автора, но стороны свободны обеспечить более длительные сроки.
Если подытожить, то любое ПО, созданное разработчиком, по умолчанию является его авторским произведением и может быть передано в разряд общественного достояния только путем явного, активного отказа от авторских прав.
Разрешающая лицензия FOSS (GNU/LGPL)
Разрешительная лицензия на программное обеспечение имеет минимальные ограничения и предполагает отказ от предоставления гарантий.
Варианты разрешительных лицензий включают различия в требованиях к сохранению уведомлений и авторских прав на программное обеспечение.
Copyleft
Копилефт – это практика предоставления права свободно распространять и изменять интеллектуальную собственность с требованием, чтобы те же права сохранялись в производных произведениях, созданных на основе этой собственности.
Поскольку включенное в новый проект исходное программное обеспечение допускало модификации и распространение, это может быть не лучшей вариант для разработчиков, поскольку полученный код также должен содержать лицензию с copyleft, включая доступность исходного кода.
Одними из самых популярных среди лицензий Open Source лицензий являются GPLv3 и его надстройка LGPLv3 . GNU GPL – это копилефтная лицензия, и требует, чтобы исходные коды производных работ были открытыми под ней же. Она позволяет распространять продукт за деньги, но только при условии предоставления исходников.
Чтобы не вдаваться в подробности совместимости лицензий приведем ссылку на таблицу совместимости лицензий GNU .
Лицензии на проприетарное ПО
Лицензии на проприетарное ПО условно делятся на 3 основные группы по типу ограничений: условно бесплатная, собственная лицензия и коммерческая тайна.
Классификация типу ограничений и монетизации:
- бессрочная/срочная лицензия:
- плавающая лицензия;
- лицензия по подписке;
- лицензия со счетчиком;
- лицензия на функцию;
- пробная лицензия;
- лицензия на проект;
- лицензия на устройство;
- лицензирование пользователей;
Разберем немного подробнее основные различия этих лицензий.
Условно бесплатная или некоммерческая лицензия
Такие лицензии подразумевают, что ПО распространяется бесплатно, но с рядом ограничений. Например, может быть ограничен срок использования продукта или доступ к его функциям. Возможны варианты, когда лицензия подразумевает полностью бесплатное использование для определенных целей, например, образовательных или только для личного некоммерческого использования. При таком подходе за пользователем может сохраняться право на копирование, но он ограничен правом на модификацию или сублицензирование.
Собственная лицензия
Коммерческое программное обеспечение или программное обеспечение – вид лицензирования, когда издатель сохраняет права на модификации и распространение за собой, оставляя тем самым пользователям лишь право на ограниченное использование ПО за определенную плату. Это основной вид лицензирования коммерческого ПО.
Коммерческая тайна
Это вид интеллектуальной собственности, включающий формулы, методы, процессы, конструкции, инструменты, шаблоны или компиляции информации, которые имеют неотъемлемую экономическую ценность, поскольку они обычно не известны или не могут быть легко определены другими, а владелец принимает разумные меры, чтобы держать их в секрете. Исходный код такого ПО держится в секрете и патентуется.
По сути ПО подпадающее под коммерческую тайну не относится напрямую к лицензированию, так как распространяется строго внутри компании и не предполагает соглашения с пользователем за ее пределами. Тем не менее некоторые виды распространяемого проприетарного ПО или их элементы могут подпадать под определение коммерческой тайны, что должно отображаться в лицензионном соглашении.
Таблица сравнения лицензий
Способы составления лицензии
Вне зависимости от того, составляете вы лицензию вручную, используете готовый текст типовой лицензии какой-либо алгоритм для подбора лицензии, стоит учитывать следующие моменты:
- разрешение и условия использования, копирования и модификации;
- ограничения;
- права интеллектуальной собственности;
- гарантии или отказ от гарантий;
- условия распространения и сублицензирования;
- указание авторства.
Все эти моменты стоит учесть при выборе или составлении лицензии и явно в ней указать.
При выборе лицензии для своего продукта обязательно учитывайте лицензии всех библиотек и материалов, которые вы в нем использовали. Согласование лицензий может быть сложным процессом, требующим особого внимания.
Работая в команде, обязательно обсудите выбор лицензии с ответственными коллегами перед релизом. В сложных случаях стоит обратиться к юристу, специализирующемуся на авторском праве в вашей юрисдикции или юрисдикции потенциальных пользователей. Хотя чаще всего лицензии прилагаются на английском, в случае, если потенциальные пользователи им не владеют, стоит приложить перевод текста на понятный для пользователя язык.
Заключение
Составление или подбор лицензионного соглашения для распространения ПО – это не простая формальность, а важный этап в заключительном цикле разработки, предшествующий выпуску продукта. Какой бы вид лицензии вы ни выбрали для своего кода, рекомендуем подойти к этому внимательно и ответственно. От вашего выбора будут зависеть особенности использования продукта и возможности сторонних разработчиков внести вклад в проект.
Источник