Новые информационные технологии и программное обеспечение
  RSS    

20231229 200x300 0d249f2d3676e05c1a28a375dff09c2a



Основные положения наиболее распространённых открытых лицензий.

Для начала - что такое лицензия на программное обеспечение? Дело в том, что программу трудно отнести к материальному объекту, поскольку она слишком легко и дёшево может быть растиражирована. Как следствие,её распространение сильно отличается от прочих товаров.

Купив, скажем, утюг, вы становитесь его собственником и, в частности, можетеотдать/продать кому-то ещё. Тогда у вас утюга уже не будет (т.е. спрос сохраняется на прежнем уровне, и производитель может оставаться спокойным).Программа же - она как идея. Если у вас есть одна и вы поделитесь ею с кем-то ещё, то их станет две... Естественно, такое положение дел не могло устроить разработчиков, которые заинтересованы в том, чтобы программы покупались именно у них. Поэтому и появились лицензии - особый вид соглашения, ограничивающего права пользователя на получаемый им программный продукт.

Традиционно в лицензиях на коммерческие продукты содержатся ограничения на использование программы (число инсталляций/процессоров/пользователей и т. д.), на распространение и на доступ к "внутренностям" программы (её декомпиляцию). То есть первоначальное назначение лицензии заключается в защите коммерческих прав и интеллектуальной собственности разработчика программы.Разработчики свободного ПО, желающие распространять свои программы, не создавая для пользователя никаких ограничений, решили бороться за свободу своих детищ тем же оружием, которое использовалось для ограничения этой свободы - лицензиями. Но, в противоположность коммерческим лицензиям, здесь явно указывалось право пользователя распространять программы любым способом, использовать в любых целях, модифицировать код и т. д. Наиболее известной свободной лицензией является разработанная в FSF (Free Software Foundation) лицензия GNU GPL (General Public License). Однако помимо неё существует масса других лицензий, в которых и попытаемся разобраться хотя бы в общих чертах.

GNU GPL2 (GNU General Public License).
Это детище Ричарда Столлмана (Richard Stallman), пришедшее в 1991 году на смену 1-й версии, имеет чётко поставленную задачу - не допустить "закрытия" программ, которые первоначально были выпущены как свободные. GPL предоставляет право свободно использовать, модифицировать и распространять программу, при обязательном условии, что вместе с ней будут распространяться и её исходные коды, включая все сделанные изменения, и по той же самой лицензии. Допускается не включать исходные коды в дистрибутив при условии, что их можно будет свободно получить в дальнейшем (например, скачав с ftp-сервера). Формально лицензия не требует от разработчика или дистрибьютора распространять программу бесплатно, но в свете обязательности предоставления исходных кодов взимание платы за "сборку" в какой-то степени теряет смысл. Здесь нужно сказать, что с GPL прочно связано ещё одно понятие -Copyleft. Это положение (в противоположность Copyright), согласно которому распространитель (т.е. правообладатель) программного продукта не вправе ограничивать свободу дальнейшего распространения, модификации, использования.

GNU LGPL (Lesser GPL)
"Ограниченная" GPL, регламентирующая права на программные библиотеки. Содержит ряд пунктов, допускающих компоновку данной библиотеки с программами, распространяемыми по другим лицензиям. Разработчик библиотеки (или её модификации) вправе перевести её на лицензию GPL, однако обратная процедура уже будет невозможна.

BSD
Пожалуй, самая простая и демократичная открытая лицензия, занимающая всего несколько строк. Её смысл сводится к тому, что "делайте с программой всё, что хотите, только не говорите, будто это вы еёнаписали". То есть единственное предъявляемое ею требование - сохранение уведомлений об авторских правах. Таким образом, лицензия BSD не подпадает под понятие Copyleft, поскольку не запрещает ограничивать свободу этого или производных продуктов. Сторонники GPL часто критикуют BSD за то, что она позволяет любому "украсть" разработку. Действительно, если хорошая программа распространяется под BSD-лицензией, то существует ненулевая вероятность, что какая-нибудь крупная корпорация возьмёт этот код и будет распространять программу как закрытую под коммерческой лицензией. Очевидно, что у такой компании будет гораздо больше маркетинговых возможностей по продвижению и продаже программы - большинство пользователей могут дажеи не догадываться, что существует такая же программа, но абсолютно бесплатная. К тому же лицензия BSD не обязывает делиться с сообществом модифицированным кодом.Формально всё это никоим образом не ущемляет прав разработчика открытой версии - он остаётся автором и владельцем кода и может его по-прежнему развивать и распространять, как ему вздумается. То есть все возражения против BSD сводятся, по сути, к апелляции к морали.Впрочем, это личное право разработчика - поступать со своим детищем так, как ему вздумается.

Apache
Достаточно либеральная, и в то же время хорошо проработанная лицензия (чувствуется "рука мастера" - первоначально к ней приложили руку юристы корпорации IBM). Позволяет модифицировать и распространять ПО как в открытых кодах, так и в двоичном виде. Помимо прав на сам программный продукт (на его использование, модификацию,распространение), лицензия регламентирует и вопросы, связанные с сопутствующими патентами - они также должны передаваться вместе с программой. Предусмотрена контрмера на случай судебных претензий к разработчику ПО, распространяемого под лицензией Apache, - в этом случае лицо, предъявившее такие претензии, автоматически теряет переданные ему права в отношении программы или сопутствующих патентов.

Artistic
Под этой лицензией распространяются такие программы, как Razor, Perl (этот проект использует слегка модифицированную версию) и ряд других. Изменённый продукт может распространяться только в случае публикации в доступном виде модифицированных исходных кодов либо при условии, что все изменённые файлы будут переименованы. В принципе позволяетиспользовать программный продукт в коммерческих программах. FSF не очень жалует эту лицензию за туманность её формулировок и относит её к несовместимым с GPL (за исключением модифицированной лицензии, под которой распространяется Perl).

CDDL (Common Development and Distribution License)
Лицензия, разработанная в Sun Microsystems. Требует распространения программы вместе с правами на все сопутствующие патенты и только в исходных кодах, с обязательным уведомлением обо всех сделанных изменениях. В двоичном виде допускается распространение по другой лицензии, при условии, что это не ограничивает свободу доступа к исходному коду. Как и в лицензии Apache, предусмотрен отзыв всех
переданных прав на ПО и патенты в случае судебных претензий к разработчику или распространителю. В настоящее время под этой лицензией распространяется, в частности, OpenSolaris. Впрочем, как пишет в своём блоге Джонатан Шварц, президент компании Sun, рассматривается перевод OpenSolaris на двойную лицензию CDDL/GPL3 (когда последняя будет опубликована), чтобы обеспечить совместимость с GPL и тем самым получить преимущества от взаимного обмена кодом с Linux. Характерной особенностью практически всех свободных лицензий (да и коммерческие зачастую "грешат" этим) является обязательное указание раздела, касающегося отказа от ответственности. То есть разработчик лицензируемой программы явно указывает, что не несёт никакой ответственности за ошибки в работе программы, за ущерб вследствие неправильной работы ПО, и т. д. Для открытых программ, которые легко могут модифицироваться без ведома разработчика, такое положение является вполне естественным и понятным. Ну и, с другой стороны, зачем брать на себя какую-то ответственность, если это зачастую не приносит никакой прибыли? Помимо представленных, есть масса других лицензий (организацией OSI одобрено более 60), порой охватывающих разработки одной компании, или даже одну-единственную программу. К таким можно отнести лицензии IBM, Apple, Eclipse Public License, Qt Public License, открытые лицензии Intel, Jabber, Zope, и т. д. Нужно заметить, что есть ещё и лицензии на документацию (наиболее распространённой является опять-таки лицензия GNU - FDL (Free Documentation License)). Так что выбирать есть из чего.

Кому и зачем всё это надо
Казалось бы, ну есть какая-то программа, ну не берут денег за то, что я пользуюсь ею... Ну вот и славненько! Какая мне разница, что именно там за лицензия? С точки зрения обычного пользователя, так оно и есть. По большому счёту рассмотренные лицензии не являются так называемыми EUL (End User License), т.е. они не столько регламентируют права конечного пользователя, сколько права разработчиков и распространителей, которые будут использовать данную программу в своих продуктах или предоставлять услуги на основе данного продукта. Системный администратор в какой-то мере тоже является конечным пользователем. То есть его деятельность направлена не на модификацию и распространение той или иной программы, а на соответствующую её настройку и дальнейшее сопровождение. Конечно, зачастую настройка связана с модификацией продукта, но поскольку результат этой модификации редко выходит за пределы "личного" использования, то вопросы лицензирования здесь тоже особого значения не имеют. А вот для разработчиков (даже если разработка заключается в сборке готовых программ и библиотек в один дистрибутив) вопросы лицензирования приобретают большое значение. Как вы видите, большинство открытых лицензий достаточно либеральны, и особых проблем с использованием "покрываемых" ими продуктов возникнуть не должно. Единственное, нужно не забывать о вопросах совместимости разных лицензий. Например, вы не можете распространять свою программу под лицензией, не требующей открывать исходный код, если она основана или включает в себя программный продукт, распространение которого требует соблюдения открытости. Парадоксально, но лицензию QPL (Qt Public License), под которой распространяется библиотека Qt, Free Software Foundation относит к несовместимым с GPL. Впрочем, разработчикам KDE, похоже, удалось обойти эту формальность. Кстати говоря, проблемы совместимости послужили причиной возникновения ещё одной особенности - двойного лицензирования. Некоторые производители, желая обеспечить более широкие возможности использования своей программы, выпускают её под несколькими лицензиями. В качестве примера можно привести PC-BSD, распространяющуюся под лицензиями GPL и BSD. Или, например, MySQL, оторая выпускается под GPL и под коммерческой лицензией. Однако помимо прямой роли лицензий на те или иные программы нельзя забывать и о косвенных последствиях. Ведь это непосредственным образом влияет на желание программистов заниматься разработкой открытых программ и их распространением. С этой точки зрения лицензии, соответствующие "Copyleft", такие как GPL, должны быть более привлекательны для разработчиков, поскольку гарантируют, что никто не сможет воспользоваться результатами их труда в своих целях. Кроме того, "обратная связь" в виде обязательного предоставления сообществу модифицированных исходных кодов способствует более быстрому развитию программы, поскольку подобный обмен кодом позволяет использовать наилучшие варианты. С другой стороны, лицензии в стиле BSD более удобны для дистрибьюторов, поскольку позволяют использовать такие программы и в коммерческих разработках.

Ссылки:
1. Лицензия GNU GPL2 - http://www.gnu.org/licenses/gpl.html
2. Лицензия GNU LGPL - http://www.gnu.org/copyleft/lesser.html
3. Черновик GNU GPL3 - http://gplv3.fsf.org/draft
4. Лицензия Apache - http://apache.org/licenses/LICENSE-2.0
5. Лицензия Artistic - http://www.perl.com/pub/a/language/misc/Artistic.html
6. Лицензия Sun CDDL - http://www.sun.com/cddl/cddl.html
7. Страница Open Source Initiative (OSI) со ссылками на большинство открытых лицензий - http://www.opensource.org/licenses/artistic-license.php

Настоящая статья публикуется в соответствии с принципом "как есть" (а не "как пить дать"), что означает возможность наличия в ней ошибок и заблуждений, хотя автор и стремился этого избежать.

Оставьте свой комментарий!

Добавить комментарий


 

Самое читаемое:

Быстрый поиск

Инструкции к программам

Инструкции к программам

Сайт "Новые Информационные Технологии" содержит лишь справочные данные из открытых источников. Мы НЕ Рекламируем и НЕ Рекомендуем покупать или использовать ВСЕ упомянутые на сайте программы, оборудование и технологии