GNU General Public License
GPL была написана Ричардом Столлмэном для использования с программами как часть проекта GNU. Она базируется на сходных лицензиях, использовавшихся для ранних версий GNU Emacs, GDB (отладчика GNU) и Коллекции компиляторов GNU (GCC), унифицирует и обобщает их.
Лицензия GPL предоставляет получателям компьютерных программ следующие права:
- свободу запуска программы, с любой целью;
- свободу изучения того, как программа работает, и её модификации (предварительным условием для этого является доступ к исходному коду);
- свободу распространения копий;
- свободу улучшения программы, и выпуска улучшений в публичный доступ (предварительным условием для этого является доступ к исходному коду).
Вступление от FSF
Стандартная Общественная Лицензия GNU (GNU General Public License, GNU GPL) — это свободная copyleft лицензия для программного обеспечения (ПО) и других видов произведений.
Большинство лицензий на программное обеспечение и другие произведения спроектированы так, чтобы лишить вас свободы делиться ими и изменять их. Стандартная Общественная Лицензия GNU, напротив, разработана с целью гарантировать Ваше право распространять и вносить изменения во все версии программного обеспечения — для уверенности, что ПО останется свободным для всех пользователей. Мы, Фонд Свободного Программного Обеспечения (Free Software Foundation), используем GNU GPL для большей части нашего программного обеспечения; эта лицензия применяется также к любым другим произведениям, чьи авторы используют её. Вы можете использовать эту лицензию и для своего ПО.
Когда мы говорим о свободном ПО, мы говорим о свободе, а не цене. Наши лицензии спроектированы так, чтобы удостовериться в Вашем праве распространять копии свободного ПО (и взимать за это плату по своему желанию), чтобы Вы получали исходный код или могли получить его при желании, чтобы Вы могли изменять ПО или использовать его части в новых свободных программах, и чтобы Вы знали что Вы можете это сделать.
Для защиты Ваших прав, нам необходимо ограничивать других в возможности отказать Вам в Ваших правах или просить Вас отказаться от них. Поэтому если Вы распространяете копии свободного ПО или изменяете его, то на Вас ложатся некоторые обязанности: обязанности уважать свободу других.
Например, если Вы распространяете копии свободного ПО, бесплатно или по определённой цене, Вы должны предоставлять получателям те же свободы, которые получили сами. Вы должны быть уверены, что они, также как и Вы, получили или могут получить исходный код. И Вы должны донести до них эти условия, чтобы они знали свои права.
Разработчики, использующие GNU GPL, защищают Ваши права с помощью следующих двух шагов: (1) заявляют авторские права на ПО, и (2) предоставляют Вам эту лицензию, дающую Вам законное право копировать, распространять и/или изменять его.
Для защиты разработчиков и авторов GPL чётко объясняет, что нет никакой гарантии, распространяемой на свободное ПО. Для удобства пользователей и авторов, GPL требует чтобы модифицированные версии обозначались как «изменённые», таким образом проблемы и ошибки изменённых версий не будут ошибочно приписаны авторам оригинала.
Некоторые устройства спроектированы так, чтобы запретить пользователю установку или запуск изменённых версии ПО, хотя производитель может это делать. Это абсолютно несовместимо с нашей целью — защитой пользовательских прав изменять ПО. Подобные злоупотребления систематически происходят в сфере продуктов индивидуального использования, в которой это особенно неприемлемо. Именно поэтому мы разработали данную версию GPL чтобы запретить подобную практику на этом рынке. Если подобные проблемы возникнут в других областях, мы, ради защиты свободы пользователей, готовы расширить действие лицензии на эти новые области в будущих версиях GPL.
Наконец, каждой программе постоянно угрожают софтверные патенты. Государства не должны допускать ограничение патентами разработки и использования ПО на компьютерах общего назначения, но т.к. они это делают, мы хотим избежать опасности наложения патентов на свободные программы, что сделает их, фактически, частной собственностью. Для предотвращения этого, GPL гарантирует, что патенты не могут быть использованы с целью сделать программу несвободной.
Особенности
GNU GPL требует распространения с двоичными файлами (в том числе неизменными) исходного кода или письменного обязательства его предоставить (своего или чужого; способы зависят от версии лицензии). Так как это требование непривычно для многих пользователей и разработчиков, и потому не всегда очевидно при прочтении лицензии, то слишком поздно узнав о нём, они могут быть не готовы к его выполнению, и считать его завышенным.
Совместимость
Использование копилефта накладывает определённые ограничения на объединение работ под GPL и другими свободными (в первую очередь, копилефтными) лицензиями в производных работах.
GPL v3 была сделана совместимой с лицензией Apache License, однако с MPL и её производными она несовместима. Работы под MPL часто одновременно лицензируются и под GPL и LGPL (пример: код Mozilla Firefox), что частично решает проблему.
Известным примером несовместимости GPL с другой лицензией является невозможность включения файловой системы ZFS, выпущенной Sun Microsystems под CDDL, в ядро Linux, выпущенном под GPL v2.
Совместимые лицензии
- GNU General Public License version 3
- GNU General Public License version 2
- GNU Lesser General Public License version 3
- GNU Lesser General Public License version 2.1
- GNU Affero General Public License version 3
- GNU All-Permissive License
- Apache License Version 2.0
- Artistic License 2.0
- Berkeley Database License (aka the Sleepycat Software Product License)
- Boost Software License
- Modified BSD license
- CeCILL version 2
- The Clear BSD License
- Cryptix General License
- eCos license version 2.0
- Educational Community License 2.0
- Eiffel Forum License version 2
- EU DataGrid Software License
- Expat License
- FreeBSD license
- Freetype Project License
- License of the iMatix Standard Function Library
- Independent JPEG Group License
- License of imlib2
- Intel Open Source License
- ISC License
- NCSA/University of Illinois Open Source License
- License of Netscape Javascript
- OpenLDAP License Version 2.7
- Public Domain
- License of Python 2.0.1 and newer versions
- License of Python 2.1.1
- License of Python 1.6a2 and earlier versions
- License of Ruby
- SGI Free Software License B version 2.0
- Standard ML of New Jersey Copyright License
- W3C Software Notice and License
- WTFPL Version 2
- X11 License
- XFree86 1.1 License
- License of ZLib
- Zope Public License version 2.1
- Zope Public License version 2.0
Исключения
Некоторые программы имеют дополнительные условия, разрешения, исключения из конкретных условий лицензионного соглашения. Поскольку это порождает множество вопросов к FSF они начали их коллекционировать. Посмотреть их можно тут
Законотворчество
В настоящее время соответствие GPL законодательству Российской Федерации до конца ещё не определено, отсутствуют законодательные акты или разъяснения арбитражных судов по применимости данной лицензии в России и её соответствие законодательству, в особенности в части передачи прав и безвозмездной основы такой передачи. Между тем, данная область достаточно интенсивно обсуждается в настоящее время.
- Письмо от 05.05.2009 N Д05-2235 Минэкономразвития РФ, 2009-05-05, По вопросу о правомерности использования субъектами малого бизнеса свободного программного обеспечения, распространяемого под лицензией GNU GPL различных версий
- СВОБОДНЫ ЛИ В РОССИИ «СВОБОДНЫЕ ЛИЦЕНЗИИ»? Сергей Середа, 2009-02-24, анализ FOSS с точки зрения современного гражданско-правового и налогового законодательства РФ
- Лицензионные договоры и Российское законодательство М. Брауде-Золотарев, Г. Гребнев, П. Протасов, А. Ралько, Е. Сербина, 2008, о соответствии распространенных, в том числе свободных, лицензионных договоров российскому законодательству.
- Открытое программное обеспечение: проблемы лицензирования и доказательства легальности Сергей Середа, 2008-08-10, анализ правового статуса FOSS в контексте современного законодательства РФ и правоприменительной практики
- Как украсть Linux? Ася Власова, 2008-06-24, о FOSS-лицензиях и их применении в России
- Нелицензионный Linux Илья Шпаньков, 2007-04-09, о доказательстве легальности GNU/Linux при малой её известности
- Правовой статус GPL в России Елена Тяпкина, 2002-04-09
История
GPL v3
В 2005 году Эбен Моглен и Ричард Столлмэн написали черновик третьей версии GPL. В разгоревшейся затем 7 апреля 2005 года в Филадельфии дискуссии Столлмэн сделал несколько заявлений, касающихся патентов на ПО и DRM.
В 2006 году Free Software Foundation начал двенадцатимесячную консультацию о возможных изменениях в GPL. Этот процесс координируется Фондом свободного программного обеспечения, Правовым центром свободы программного обеспечения и Европейским фондом свободного программного обеспечения. Целью консультаций является создание новой версии лицензии с учётом рекомендаций и опыта всех заинтересованных сторон, но с сохранением приверженности принципам свободного ПО.
Первый черновик был опубликован 16 января 2006 года.
Тем не менее, 25 января 2006 года Линус Торвальдс публично заявил, что ядро Linux, используемое в операционной системе GNU/Linux, скорее всего, будет по-прежнему распространяться по лицензии GPL версии 2. (В отличие от многих других GPL-программ, Linux распространяется на условиях только второй версии GPL, а не «версии 2 или более поздней»).
В своём сообщении в почтовую рассылку для Linux-разработчиков Линус Торвальдс, автор ядра Linux, говорит о том, что ОС Solaris может инициировать переход ядра на новую готовящуюся версию лицензии на свободное программное обеспечение — GNU GPL v3.
«Если Sun действительно собирается выпустить OpenSolaris под GPLv3, это может стать хорошей причиной для перехода Linux на новую лицензию» — заявил Торвальдс.
«Не думаю, что GPL v3 — такая же хорошая лицензия, как и GPLv2, но с другой стороны, я прагматик, и, если мы можем избежать ситуации с существованием двух ядер, распространяющихся под разными лицензиями, и с вызванными этим разногласиями, я по крайней мере вижу причину для перехода на GPL v3», — пояснил свою позицию главный разработчик Linux-ядра.
До этого Торвальдс уже выражал своё недовольство новой версией лицензии GNU GPL, однако после появления последнего чернового варианта GPLv3 стал лучше относиться к этому проекту. Несмотря на это, сам он до сих пор отдаёт предпочтение GPL v2.
Компании, распространяющие GPL v3-ПО, не могут предъявлять судебные претензии к пользователям GPL v3-продуктов.
Окончательная версия GPL v3 была опубликована 29 июня 2007. Черновой вариант перевода можно прочитать тут.
19 ноября 2007 была выпущена GNU Affero General Public License v3 — GPLv3 с изменениями на основе Affero General Public License version 1, выпущенной в 2002 году Affero Inc. на основе GNU GPLv2. Данная лицензия добавляет возможность получения исходного кода пользователям программы, взаимодействующим с ней только через сеть.
GPL v2
В 1990 году стало очевидным, что требуется менее ограничивающая лицензия, которая могла бы использоваться для некоторых библиотек ПО; когда версия 2 GPL была выпущена в июне 1991 года, вместе с ней была введена в обращение GNU Library General Public License, также получившая номер 2, для обозначения того, что эти две лицензии являются взаимодополняющими. Номера версий разошлись в 1999 году, когда была выпущена LGPL версии 2.1, которая была переименована в Lesser General Public License для уточнения её местоположения в философии GNU.
GPL v1
Лицензии-прототипы содержали части, подобные частям GPL, но были специфичными для каждой программы. Целью Столлмэна являлось создание единой лицензии, которая могла бы использоваться для любого проекта, делая таким образом возможным совместное использование кода различными программами. Такой лицензией и стала первая версия GNU GPL, выпущенная в январе 1989 года.
Ссылки
- GNU General Public License version 1
- GNU General Public License version 2
- GNU General Public License version 3
- Сравнительный анализ основных copyleft-лицензий
- Официальный сайт, посвящённый разработке версии 3 GPL: Текущий черновик, Обоснования (Rationale)
- GPL v3 — The changes from draft 1 to draft 2
- Тезисы выступления Фёдора Зуева «GNU GPL как юридический вездеход»
Виды лицензий
Лицензия на программное обеспечение — это правовой инструмент, определяющий использование и распространение программного обеспечения, защищённого авторским правом. Обычно лицензия на программное обеспечение разрешает получателю использовать одну или несколько копий программы, причём без лицензии такое использование рассматривалось бы в рамках закона как нарушение авторских прав издателя. По сути, лицензия выступает гарантией того, что издатель ПО, которому принадлежат исключительные права на программу, не подаст в суд на того, кто ею пользуется.
Abandonware (от англ. abandon — «покинуть, оставить» и software — «программное обеспечение») — программное обеспечение, которое больше не выставляется на продажу и не поддерживается компанией-производителем, и от которого производитель больше не получает доходов. Как правило, это бывшие коммерческие программы, которые по ряду причин перестают поставлять на рынок. Их распространяет обычно владелец авторских прав на бесплатной основе, но с жёстким обязательством запрета продавать и даже без права дальнейшего бесплатного тиражирования.
Этот термин не имеет юридической силы, и многое abandonware не является общественным достоянием, и по законам большинства государств права распространения данного программного обеспечения продолжают принадлежать компании-изготовителю — такое abandonware не может легально распространяться без разрешения правообладателя. Однако часто правообладатель не занимается преследованием их самовольных распространителей, поскольку они не являются ему конкурентами и не наносят материального ущерба, превышающего расходы на преследование.
Во многих случаях принадлежность прав на abandonware-программы не ясна и выяснение надлежащего правообладателя само по себе требует значительных затрат. В некоторых случаях какая-либо компания или сайт получает разрешение от производителя на распространение такой программы. Чаще всего Abandonware распространяется пиратами.
Adware (от англ. advertisement — «реклама» и software — «программное обеспечение») — программное обеспечение, которое можно использовать бесплатно сколько угодно времени, но при его использовании пользователю принудительно показывается реклама. Часто разработчики ПО рекламируют таким способ свои же программы, более функциональные и платные. Кроме того, к adware относят те программы, которые без ведома пользователя при установке меняют домашнюю страницу в браузере и поисковый сервис, установленный по умолчанию, рекламируя таким образом свои сервисы. Стоит, однако, отметить, что такие программы могут быть очень полезными в плане функциональности, а некоторые даже весьма популярны среди пользователей по всему миру.
Базовое назначение Adware — это неявная форма оплаты за использование программного обеспечения, осуществляющаяся за счёт показа пользователю Adware-программы рекламной информации (соответственно рекламодатели платят за показ их рекламы рекламному агентству, рекламное агентство — разработчику Adware программы).
Некоторые программы Adware при деинсталляции не удаляют рекламный модуль.
Антивирусные программы часто классифицируют Adware как Spyware.
Термином adware называют также вредоносное ПО, показывающее рекламу (чаще всего — в интернет-браузере).
Beerware — это вид лицензии программного обеспечения, которая предусматривает, что пользователи могут бесплатно пользоваться ПО и его исходными кодами, однако, если пользователь встретит автора программы, то он должен купить ему кружку пива. Такая шуточная модель лицензирования фактически означает, что вы просто можете свободно использовать программу, без необходимости покупать лицензию. Однако, все же не забудьте поблагодарить автора, если вы его встретите.
Betaware — предварительная (тестовая) бета-версия коммерческого или некоммерческого ПО. Можно использовать бесплатно, но часто ограничивается периодом тестирования.
Careware, charityware (от англ. care — «забота» и software — «программное обеспечение») — вид условно-бесплатного программного обеспечения shareware. Автор данного вида ПО требует, чтобы оплата за него шла на благотворительные цели либо напрямую автору, либо по указанному адресу. Также известны случаи, когда автор давал пользователям право пользоваться своей программой при условии, что те должны прекратить жаловать на трудности и на свою жизнь.
Это нетрадиционные условия использования программ, предполагающие скорее не продажу, а обмен программного продукта на что-либо ценное для автора или выполнение какого-либо другого условия. Как правило, такой обмен необязателен (ваш «товар» расценивается скорее как знак внимания), и вы можете пользоваться программным обеспечением Careware так же, как Freeware.
CDware — ПО на компакт-дисках, распространяемое в рекламных целях.
Commercial software (в переводе с англ. — «коммерческое программное обеспечение») — программное обеспечение, созданное с целью получения прибыли от его использования другими, например, путём продажи экземпляров. Защищено различными законами.
Разработчик коммерческого ПО не предусматривает даже пробное или ограниченное его использование. Другими словами, установить программу можно лишь после полной оплаты. Такой подход крайне редко используется в мире программного обеспечения, поскольку он не даёт пользователю возможности протестировать программу перед её покупкой.
Множество людей ошибочно считают коммерческое и свободное ПО противоположностями. Ведь свободным ПО считается с того момента, как автор предоставляет права на свободную модификацию, распространение и извлечение прибыли со своего продукта. Из этого следует, что свободные программы вполне могут быть и коммерческими продуктами.
Противоположностью свободного программного обеспечения является проприетарное программное обеспечение, которое также может быть как коммерческим, так и бесплатным .
Crippleware — ключевые возможности программы удалены. Нет ограничений на время использования. После оплаты предоставляется полнофункциональная версия.
Demoware (Demo) — демонстрационная версия коммерческого программного обеспечения, распространяемая бесплатно (shareware) и имеющая большое число ограничений функциональности, по сравнению с основной версией. Основная цель — не пробное использование, а демонстрация возможностей. Заметно более ограничено по сравнению с trialware.
Наиболее популярные виды ограничений:
Ограничение времени работы программы, количества запусков, количества уровней (в играх).
Отсутствие ряда функциональных возможностей.
Блокирование доступа к важным функциям, например сохранению файла.
Добавление дополнительной информации к сохраняемым файлам, например подписи (водяных знаков) в программах редактирования изображения и видео.
В соответствии с лицензией, после окончания тестового периода необходимо приобрести или удалить программу. После покупки программы пользователь получает код, снимающий ограничения, либо отдельную полноценную версию программы.
Также к demoware относятся прототипы программ, которые не имеют реальной функциональности, а лишь демонстрируют, как программа будет работать в будущем. Они служат для показа концепции программы заказчикам или инвесторам.
Donateware, Donationware (от англ. donation — «пожертвование» и software — «программное обеспечение») — это модель лицензирования, при которой пользователю поставляется полностью функционирующее программное обеспечение с возможностью сделать пожертвование разработчику. Размер пожертвования может быть фиксированным или устанавливаться пользователем на основании индивидуального восприятия ценности программного обеспечения.
Так как в модели donationware поставляется полностью функционирующее программное обеспечение и пожертвование является дополнительной возможностью, то технически это тип бесплатного программного обеспечения. Однако, модель donationware также похожа на условно-бесплатное программное обеспечение, но в отличие от последнего, оплата в котором может ожидаться, пожертвование не является обязательным условием использования. Важно также отметить, что само пожертвование не является покупкой программного обеспечения, как в условно-бесплатном программном обеспечении. Как правило, пожертвования принимаются через официальные сайты этих программ, и никак не отображаются в интерфейсе ПО.
Free software (в переводе с англ. — «свободное программное обеспечение») — это ПО, которое отличается исключительно широкими правами, предоставляемыми пользователям. Приверженцы свободного ПО, как правило, могут бесплатно пользоваться им в течении неограниченного периода времени, а также распространять его каким угодно образом, и менять его исходный код (совершенствовать). Для свободного ПО создаются специальные лицензии, чтобы регулировать права и обязанности авторов и пользователей. GNU General Public License — это универсальная общественная лицензия, которая используется для множества свободных программ.
Свободное и бесплатное ПО (Freeware) имеют ряд существенных отличий. Конечно, у этих двух видов программного обеспечения есть и одна общая черта — отсутствие оплаты за использование, однако, зачастую по лицензии Freeware пользователи не имею права распространять программы, дарить их, копировать, модифицировать (совершенствовать), давать право другим лицам на их распространение, а также выполнять ряд других действий, которые допускаются при использовании свободного программного обеспечения. Зачастую, но не всегда, свободное ПО от бесплатного отличается тем, что оно предоставляется вместе с исходными кодами.
Freeware (от англ. free — «бесплатный» и software — «программное обеспечение») — программное обеспечение, лицензионное соглашение которого не требует каких-либо выплат правообладателю. Freeware обычно распространяется в бинарном виде, без исходных кодов и является проприетарным ПО.
Важно отличать Freeware от свободного программного обеспечения, которое предоставляет каждому помимо права на использование программного обеспечения, право модификации и ряд других прав. Freeware может распространяться без исходных текстов (кодов) и содержать ограничения на коммерческое использование, модификацию и т.д.
В отличие от условно-бесплатного программного обеспечения (Shareware), Freeware не предполагает никакой платы разработчику и соответственно, никаких дополнительных услуг, таких как улучшенные версии, за эту плату не предполагается.
Существует также способ распространения ПО, занимающий среднее положение между shareware и классическим freeware, когда некая программа выпускается в двух вариантах: платная полная версия и бесплатная облегчённая. Но при этом, в отличие от большинства shareware-программ, использование которых по окончании ознакомительного срока нелегально, здесь никаких ограничений по времени использования бесплатная версия не имеет, а ограничения накладываются на какие-либо «продвинутые» возможности программы, а иногда также воспрещается её использование в коммерческих целях.
Некоторые бесплатные программы содержат в себе рекламу различного характера. По лицензии пользователь может использовать такую программу бесплатно, однако она является носителем рекламы, и поэтому не может иметь статус Freeware. Такое программное обеспечение именуется Adware.
GNU General Public License- открытое лицензионное соглашение GNU. GNU расшифровывается как «GNU’s not UNIX» — это рекурсивный акроним придуманный Ричардом Столлманом, известным идеологом открытого и свободного программного обеспечения. Последняя на сегодняшний день версия GPL, которая вышла в 2007 году. Изменения, внесенные в лицензию, были призваны оградить пользователей лицензии от судебных исков связанных с патентами, теперь создатели программы не могу подать в суд на пользователя. GPL 3.0 запрещает применять лицензию к программному обеспечению, которое запрещено «обходить» некоторыми законами и директивами (Digital Millennium Copyright Act и the European Union Copyright Directive). То есть, нельзя выпустить под лицензией любое ПО, попадающее под действие этих директив. Таким образом, GPL 3.0 заботится о том, чтобы любое ПО, выпущенное под ее лицензией, можно было свободно модифицировать, обходить или изменять.
GPL предоставляет получателям компьютерных программ следующие права, или «свободы»:
свободу запуска программы с любой целью;
свободу изучения того, как программа работает, и её модификации (предварительным условием для этого является доступ к исходному коду);
свободу распространения копий как исходного, так и исполняемого кода;
свободу улучшения программы, и выпуска улучшений в публичный доступ (предварительным условием для этого является доступ к исходному коду).
В общем случае распространитель программы, полученной на условиях GPL, либо программы, основанной на таковой, обязан предоставить получателю возможность получить соответствующий исходный код.
Guiltware — разновидность nagware. В программе содержится явное упоминание, что автор не получил за нее денег. Может и не предусматривать регистрации.
Hostageware — программы с функциональными, временными и количественными ограничениями. Разблокирование — после оплаты.
Linkware — автор программы просит указывать ссылку на сайте пользователя, (если есть) на свой сайт.
Liteware — «облегченный» вариант соответствующей коммерческой версии. Не ограничено временем использования, но ограничено функционалом.
Nagware (от англ. nag — «надоедливое» и software — «программное обеспечение», также известен как begware, annoyware) — модель лицензирования компьютерных программ, использующее навязчивое напоминание о необходимости регистрации программы за определенную плату. Обычно это делается в виде выскакивающего сообщение, когда пользователь запускает программу, или периодически во время использования приложения. Это сообщение может появляться в виде окна заслоняющего часть экрана или окна сообщений, которые можно быстро закрыть. Некоторые nagware-программы оставляют сообщение на определённый период времени, заставляя пользователя ждать перед продолжением работы программы.
Целью, как правило, является то, что пользователь будет настолько недоволен сообщениями, что зарегистрирует или купит программу, чтобы избавиться от этих сообщений.
Поскольку речь идет о платном программном обеспечении, то Nagware может одновременно иметь статусы Trialware, Demoware и Commercialware.
Open source software (в переводе с англ. — «открытое программное обеспечение») — программное обеспечение с открытым исходным кодом. Исходный код таких программ доступен для просмотра, изучения и изменения, что позволяет пользователю принять участие в доработке самой открытой программы, а также использовать код для создания новых программ и исправления в них ошибок — через заимствование исходного кода, если это позволяет лицензия, или через изучение использованных алгоритмов, структур данных, технологий, методик и интерфейсов (поскольку исходный код может существенно дополнять документацию, а при отсутствии таковой сам служит документацией). «Открытая» лицензия не требует, чтобы открытое ПО предоставлялось бесплатно. Тем не менее, многие из наиболее успешных проектов открытого ПО — бесплатны.
Подавляющее большинство открытых программ является одновременно свободными. Определения открытого и свободного ПО не полностью совпадают друг с другом, но близки, и большинство лицензий соответствуют обоим.
Отличие между движениями открытого ПО и свободного ПО заключается в основном в приоритетах. Сторонники термина «open source» делают упор на эффективность открытых исходников как метода разработки, модернизации и сопровождения программ. Сторонники термина «free software» считают, что именно права на свободное распространение, модификацию и изучение программ являются главным достоинством свободного открытого ПО.
Orphanware — разновидность abandonware, когда автора нельзя разыскать.
Postcardware, cardware — форма распространения ПО, в рамках которой автор распространяет свою программу указывая, что будет рад, если пользователи, получившие её, вышлют ему почтовую открытку или электронное письмо (emailware) со словами благодарности. Эти письма используются авторами для рекламы своих работ. Подобно другим подобным полушутливым формам распространения, эта форма не является жёстко-контролируемой. Тем не менее есть случаи, когда программа распространяется в пробном режиме и только после того, как автор получит открытку пользователь сможет использовать её в полной мере.
Proprietary software (проприетарное программное обеспечение, от англ. proprietary — «частное, патентованное, в составе собственности» и software — «программное обеспечение») — программное обеспечение, являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного кода недостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное.
Рассматриваемое понятие не связано с понятием коммерческого программного обеспечения.
Public domain — свободные программы. Без ограничений на модификацию и использование. Не охраняются авторским правом.
Registerware — для получения и/или использования программы требуется предоставить информацию о себе (заполнить анкету).
Requestware — автор просит пользователя что-то сделать в обмен на использование программы (послать открытку или электронное письмо с благодарностью, внести пожертвования на благотворительные цели и т. п.). Разновидности: postcardware, careware.
Shareware (в переводе с англ. — «условно бесплатное программное обеспечение») — тип программного обеспечения, которое не является бесплатным или свободным, и предполагает оплату за его использование.
Сейчас под shareware чаще всего понимают тип, способ или метод распространения проприетарного ПО на рынке (то есть на пути к конечному пользователю), при котором испытателю предлагается ограниченная по возможностям (неполно функциональная или демонстрационная версия), сроку действия (триал-версия, от англ. trial — пробный) или версия с встроенным блокиратором-напоминанием о необходимости оплаты использования программы. В лицензии также может быть оговорён запрет на коммерческое или профессиональное (не тестовое) её использование. Иногда незарегистрированная программа спустя некоторое время (например, 30 дней) прекращает запускаться. Иногда становится недоступной часть функций. Иногда функциональность остаётся в полном объёме, но пользователю время от времени показывается напоминание о том, что он пользуется незарегистрированной версией.
Trialware, Trial (разновидность demoware) — программное обеспечение, лицензионное соглашение которого предусматривает бесплатное использование программы без каких либо ограничений в функциональности только лишь в течении пробного периода. Возможно наличие экрана напоминания о том, что нужно купить лицензию. По истечении пробного периода программа отказывается работать полностью.
А с самим лицензионным программным обеспечением — вы можете ознакомиться в нашем каталоге, или проконсультироваться с нашими менеджерами.
Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта

Свободный софт можно бесплатно использовать и распространять с любой целью, адаптировать под себя, улучшать и публиковать свои версии — эти права закрепляются с помощью свободных лицензий. В этой статье рассмотрим основные виды таких лицензий, их особенности и совместимость.
- Каким был бы мир без свободного ПО
- Как зародилось свободное ПО
- Что такое свободное ПО
- GNU General Public License
- GNU General Public License v2
- GNU Lesser General Public License (LGPL)
- MIT (X11 License)
- BSD
- GNU General Public License v3
- GNU Affero General Public License
- Дополнительные материалы
Материал подготовил Гавриил Максютенко, активный участник сообщества GNOME. Любит изучать непопулярные языки программирования – Nim , Vala , Clojure , F# , Pharo (Smalltalk), Gleam , начал писать свой язык, похожий на Smalltalk. Опыт работы с АСУТП, веб- и десктоп-приложениями, ERP . Также благодарим за участие в проверке статьи Андрея Ситника, ведущего фронтенд-разработчика в Evil Martians .
Каким был бы мир без свободного ПО
Проведем воображаемый эксперимент: представим себе мир без свободного ПО. Весь код хранится в закрытых репозиториях, а значит, программисты не могут просто и бесплатно использовать накопленный опыт IT-индустрии. Компании, занимающиеся разработкой, вынуждены приобретать платный софт: это требует дополнительных затрат и в конечном счете сказывается на качестве и цене продуктов.
Чтобы сэкономить, они начинают писать свои библиотеки: на IT-сленге это называется «велосипедить». Вместо того чтобы объединить усилия и разрабатывать одну качественную библиотеку, компании создают миллионы одинаковых библиотек разной степени проработанности. Стать программистом в таких условиях куда сложнее, ведь настоящий продакшн-код впервые можно увидеть только устроившись на работу.
В общем, мир без свободного ПО сильно отличался бы от нашего: качество продуктов, подготовка специалистов и темпы развития индустрии были бы гораздо хуже. В этой статье мы поговорим о феномене свободного ПО и типах свободных лицензий, а также узнаем, какую лицензию выбрать, чтобы сделать свой продукт открытым.
Как зародилось свободное ПО
Когда персональные компьютеры только начали распространяться, многие пользователи не задумывались, что у программ может быть владелец, а у него — лицензия на эту программу. Все просто передавали программы друг другу, копируя дискеты. Сегодня это называется пиратством.
Корпорации, разумеется, были против. Один из наиболее известных случаев — открытое письмо Билла Гейтса , в котором он обвиняет пользователей BASIC в воровстве, утверждая, что большинство из них не покупали BASIC, а просто копировали его друг у друга.
Однако многие программисты считали, что у пользователей ПО должны быть все права на его изучение и изменение. По аналогии с покупкой автомобиля: купив машину, вы можете посмотреть как устроен двигатель, починить или изменить его, дать покататься друзьям. Одним из лидеров движения за свободное программное обеспечение был Ричард Столлман: он решил создать собственную лицензию, которая будет обладать полной юридической силой, но в то же время гарантировать возможность оставлять софт открытым. Так Столлман создал первую свободную лицензию GNU GPL — General Public Licence. В 1989 году он выпускает первую программу под этой лицензией — редактор кода GNU Emacs, который популярен до сих пор. Про незаурядную личность Ричарда Столлмана в блоге Хекслета есть отдельная статья.
Так зародилось движение за свободное ПО и свободные лицензии. По сути оно стало борьбой против авторского права, которое не дает права владения продуктом, несмотря на то, что пользователь за него заплатил. Сегодня и корпорации оценили пользу свободного ПО: почти каждая большая компания имеет свой открытый репозиторий. Именно благодаря этому у нас есть такие библиотеки, как React (Facebook/Meta) или Protobuf (Google).
Список репозиториев с открытым ПО «большой пятерки»:
- Facebook/Meta
- Apple
- Amazon
- Netflix
Что такое свободное ПО
Свободное ПО — это софт с открытой лицензией. Есть разные виды лицензий, но все они гарантируют следующие свободы:
- Свобода использования в любых целях, включая коммерческие. Вы не можете сказать, что ваша лицензия работает только в определенной стране или для определенной группы населения.
- Свобода распространения. Любой человек может распространять и даже продавать продукт со свободной лицензией.
- Свобода изменения. Вы можете изменять код продукта, например, исправить в нем баг или добавить нужную вам функцию. Также эта свобода подразумевает агрегацию. Можно собрать коллекцию свободного программного обеспечения, использовать ее в собственном приложении (например, пакеты React и Material UI), а затем продавать его.
- Свобода распространения измененной версии. Это сумма пунктов 2 и 3, которая подразумевает, что вы можете форкнуть (скопировать) проект, если автор не согласен принять ваше изменение.
Все свободные лицензии объединяют эти четыре пункта. Некоторые свободы подразумеваются неявно, например, чтобы иметь возможность изменить код, у вас должен быть доступ к исходному коду.
Свободные лицензии делятся на обычные (разрешительные) и вирусные — обоим типам применимы все четыре свободы.
Разрешительные лицензии позволяют использовать исходный код в проприетарном ПО, вносить в него изменения и сделать исправленную версию закрытой.
- Проприетарное ПО — несвободное программное обеспечение (от proprietary — частное, патентованное, в составе собственности). Такое ПО является частной собственностью авторов или правообладателей, его авторы не дают пользователям реальных прав на изучение и изменение купленного софта, сохраняют за собой монополию на его использование, копирование и модификацию, полностью или в существенных моментах. Обычно проприетарным называют любое несвободное ПО, включая полусвободное.
Вирусную лицензию выбирают, если автор хочет, чтобы все производные продукты с участием его кода распространялись под той же свободной лицензией. То есть, добавив в свой проект код под вирусной лицензией, он будто заражает этой лицензией весь проект. Слово «вирусная» здесь не имеет негативной окраски, наоборот — вирусные лицензии более свободные, так как они гарантируют, что код с ними не будет закрыт.
Ниже разберем примеры вирусных и невирусных лицензий.
GNU General Public License

Первая лицензия GNU General Public License до сих пор остается одной из самых популярных.
Допустим, перед нами стоит задача: сделать нашу программу свободной. Для этого нужно заявить, что она является общественным достоянием, и отказаться от авторских прав. Но тогда кто угодно может взять нашу программу, нанять штат разработчиков, добавить в нее новый функционал и продавать, закрыв исходные коды. Значит, нам нужно сделать лицензию, которая дает гарантию, что код под ней всегда будет оставаться открытым.
Именно это и делает GNU GPL. Лицензия является вирусной, то есть при добавлении кода под GNU GPL в проект, ваш код «заражается» и обязан быть выпущен под GNU GPL или другой совместимой лицензией (да, некоторые лицензии совместимы между собой, то есть код с разными лицензиями может быть объединен в одном проекте, но об этом поговорим чуть позже).
В лицензии GNU GPL есть два основных пункта:
- Исходный код должен либо распространятся с бинарными файлами программы, либо должно быть письмо с пояснением, как их запросить.
- Если код под GPL попадает в проект, то весь проект также автоматически станет GPL. Полная версия лицензии на английском
Существуют вторая и третья версии GNU GPL, про них мы тоже поговорим.
GNU General Public License v2
Основным нововведением второй версии стал принцип «свобода или смерть». Если в результате каких-либо обстоятельств, например, по решению суда, на автора ПО накладывается ограничение на распространение исходных текстов программы, то ему также запрещается распространять и бинарные версии. Если какое-либо государство вследствие патентов или авторского права наложит ограничения на распространение программы, выпущенной под GNU GPL v2, автор вправе полностью запретить ее распространение на территории этого государства. Простыми словами: либо код распространяется с исходниками, либо никак.
Также v2 уточняет: если вы решили распространять программу с инструкцией о запросе исходников, то все, кто получил программу от вас и распространяют ее дальше, обязаны также прикладывать эту инструкцию. В такой инструкции будет указан ваш email-адрес, на который можно отправить запрос, а вы в ответ пришлете исходные коды.
GNU Lesser General Public License (LGPL)

Эта лицензия менее «свободна» и в основном используется для программных библиотек. LGPL не гарантирует конечному пользователю полную свободу использования программного обеспечения. Только свободу модификации для компонентов, лицензированных по LGPL, но не для каких-либо проприетарных компонентов.
Коммерческое ПО может линковаться с библиотекой, выпущенной под LGPL, и при этом оно не будет «заражено» GPL и может оставаться закрытым.
Это позволяет использовать свободные библиотеки в закрытом ПО, все преимущества свободной библиотеки сохраняются. Например, если компания сделает свое изменение в этой библиотеке, она будет обязана его опубликовать. Таким образом библиотека продолжает развиваться большими коммерческими компаниями, которые в то же время могут использовать ее в закрытых продуктах.
MIT (X11 License)

Эту лицензию разработали в Массачусетском технологическом институте специально для системы X11 Windows System, которая повсеместно используется в Linux-десктопах уже 37 лет. Поэтому ее также называют X11 License.
Чтобы продукт распространялся под лицензией MIT, достаточно приложить текст этой лицензии и распространять продукт вместе с ним.

Полный текст MIT. Для сравнения: текст третьей версии GNU GPL состоит из 2567 слов.
Здесь видно важнейшее отличие от GPL — возможность использовать ПО под лицензией MIT в закрытом коде. MIT позволяет внести изменения в проект и сделать исправленную версию закрытой. Такие лицензии еще называют разрешительными. По итогу данная лицензия разрешает все, если ее текст приложен к продукту и в нем упомянут оригинальный автор.
Под лицензией MIT выпущено множество известных продуктов: PuTTY, Mono, Ruby on Rails, JQuery, Wayland и, конечно же, X Window System.
BSD

У университета Беркли тоже есть своя лицензия — Berkeley Software Distribution License. Текст лицензии является общественным достоянием, это позволяет любому модифицировать его, создавая свою лицензию на основе BSD. Такие лицензии называют «лицензии типа BSD».
Например, общественная лицензия Microsoft добавляет запрет на изменение лицензии в случае, если код распространяется в виде исходников. Есть также NetBSD, FreeBSD, OpenBSD, DragonFly BSD, но самой используемой считается «модифицированная версия BSD», также известная как «BSD с тремя пунктами». Дело в том, что изначальная версия из четырех пунктов (англ. «four-clause BSD») содержала неудачный пункт о необходимости подстановки копирайта университета Беркли.

Каждый, кто пользовался BSD, заменял Беркли на свой вариант организации или собственное имя. Известен случай, когда из-за этого пункта приходилось упоминать 75 других организаций. Также этот пункт делал BSD несовместимой с GPL, так как GPL запрещает добавлять новые ограничения, помимо перечисленных в ней самой. После двухлетней дискуссии было принято решение об удалении пункта о рекламе. Теперь в лицензии только три пункта:

Трехпунктовая BSD довольно похожа на MIT, но в MIT явно указаны разрешения на сублицензирование, слияние, публикацию и продажу. Тем не менее эти свободы подразумеваются и в BSD, их можно отнести к «использованию» или «распространению». Можно сказать, что выбор между MIT и BSD — исключительно дело вкуса.
GNU General Public License v3

GPL третьей версии создавалась дольше предыдущих версий, а во время ее утверждения шли бурные споры. Подробно об изменениях GPL v3 можно узнать из официальной статьи GNU.
Вот три главных нововведения:
Борьба с тивоизацией
Часто производители намеренно ограничивают функциональность устройств или же выпускают дорогую и дешевую версии продукта, которые различаются лишь программно. Примером тивоизированных устройств с ограниченным функционалом являются смартфоны iPhone, на которых запрещено копирование программ и ограничен доступ к файловой системе. Android имеет схожие проблемы.
Одна из целей GPLv3 — закрыть подобную лазейку, то есть пресечь тивоизацию. Если компания использовала свободное ПО под GNU GPL v3 в своем устройстве, лицензия позволяет владельцу устройства запросить исходные коды.
«Тивоизация — опасная попытка урезать свободу пользователей: право изменять свои программы станет бессмысленным, если ни один из ваших компьютеров не даст вам это делать. GPL v3 останавливает тивоизацию, требуя, чтобы распространитель предоставлял вам любые сведения и данные, необходимые для установки измененных программ на устройство»
Запрет на дискриминационные патентные соглашения
Со временем Microsoft и другие корпорации нашли способ ограничивать свободу пользователей: они открывают исходный код, но для работы с ним необходимо купить патент. GNU GPL v3 запрещает такую практику.
Обход цифровой защиты
Закон об авторском праве цифрового тысячелетия и Директива об авторском праве Европейского союза делают преступлением написание ПО, целью которого является обход цифровых защит. Этот пункт отменяет действие этих законов, разумеется, если сама цифровая защита лицензирована GPL v3. По сути этот пункт гарантирует, что ваше ПО под GPL v3 не смогут использовать в создании цифровых защит.
GNU Affero General Public License
Эта лицензия была разработана Фондом свободного программного обеспечения на основе GNU General Public License и Affero GPL, чтобы решить проблему облачных сервисов. Она обязывает сервер, на котором исполняется модифицированная программа, предоставлять доступ к исходному коду.
Совместимость лицензий
Чтобы использовать части программного обеспечения, выпущенные под разными свободными лицензиями, эти лицензии должны быть совместимы между собой.
GNU-сообщество делит лицензии на 3 общих класса — неограничительные, промежуточные и лицензии с авторским левом.
К неограничительным относятся MIT и BSD — этот класс лицензий дает возможность вносить изменения, закрывать код и в целом почти не накладывает ограничений. Этим пользуются, например, Apple и Sony, их продукты работают на модифицированных версиях системы BSD.
К промежуточным относится LGPL. Такие лицензии разрешают использование в закрытом коде, но обязывают публиковать любые вносимые изменения.
Программы, выпущенные под лицензиями с авторским левом , навсегда останутся свободными, независимо от того, кто и как их распространяет. Если целью авторского права является наложение ограничений на пользователя, то авторское лево наоборот гарантирует выполнение всех четырех свобод.
Правила совместимости этих лицензий:
- Все неограничительные лицензии совместимы между собой, так как они не накладывают никаких ограничений на способ распространения, ничто не мешает распространять их под несколькими лицензиями такого же типа.
- Лицензии с авторским левом несовместимы между собой, так как их сутью является гарантия, что любые модификации будут распространяться на тех же условиях. Исключением является GPL v3, которая совместима с v2. Но это односторонняя совместимость, то есть проект на GPL v2 нельзя смешивать с v3, но проект на v3 можно смешать с v2.
- Код под неограничительной лицензией, смешанный с кодом под авторским левом, лицензируется под авторским левом.
Общая картина такая:

Комбинирование в одном проекте кода проприетарной лицензии с пользовательским левом все же возможно, но необходима мощная изоляция как минимум на уровне процессов, разрешение на обмен данными только через бинарный протокол.
Примеры: Android, где используется ядро Linux (GPL v2), или драйвера Nvidia на Linux, которые могут поставляться бинарным блобом (англ. Binary Large Object — двоичный большой объект). Это возможно благодаря кольцам ядра Linux, отделяющим пространство пользователя от пространства, в котором выполняется код ядра.
Последним вариантом соблюдения совместимости является перелицензирование. Это сложный процесс, который требует согласия 95% участников. В этом случае ПО перевыпускается под новой, более подходящей лицензией, а старые версии остаются при этом неизменны.
Заключение
Этот обзор должен помочь с выбором подходящей лицензии. Главное — это решить, какую степень свободы вы хотите дать вашим пользователям.
Если вы рассматриваете «возможность запрещать» как одну из свобод и хотите дать пользователям возможность применять ваш продукт в коммерческих целях, вам подойдет одна из разрешительных лицензий (MIT, BSD).
Если же вы хотите, чтобы на свободу вашего продукта ничто не могло повлиять, то GPL или другая лицензия с сильным авторским левом — ваш выбор.
Информацию из этой статьи также стоит учитывать при использовании чужого свободного ПО: помните о «заразности» лицензий с авторским левом, проверяйте, что взятый вами код находится под совместимой лицензией. Мы рекомендуем полностью прочитать текст выбранной лицензии, прежде чем применять ее.
Дополнительные материалы
- Лицензия mongoDB
- Суд Oracle с Google
- Amazon скопировал ElasticSearch
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях
Какие ограничения накладывает эта лицензия
В разделе использована статья GNU GPL 3 человеческим языком

Удивительное дело, практически все коммерческие лицензии, главная цель которых — связать пользователя по рукам и ногам, написаны четким и понятным языком. А самая либеральная в мире лицензия GPL, гарантирующая всем и каждому свободу использования, распространения и модификации программного обеспечения, напичкана такими формулировками, что сам черт ногу сломит и без поллитра не разберется. Парадоксальная ситуация! Попробуем разобраться что здесь к чему.
GNU General Public License — это свободная лицензия для программного обеспечения, разработанная Фондом Свободного Программного Обеспечения (Free Software Foundation). Если коммерческие лицензии запрещают распространять и изменять программное обеспечение, то GNU GPL, наоборот, разрешает и даже гарантирует право пользователя на свободное использование, распространение и модификацию программ. Большая часть программного обеспечения Free Software Foundation распространяется под лицензией GNU GPL. Любой автор может использовать эту лицензию для своего ПО.
GPL дает вам множество прав:
* запускать и использовать свободные программы в любых целях
* распространять копии свободного ПО
* получить вместе с программой ее исходный код
* модифицировать программу или использовать ее часть при разработке нового свободного ПО
… и накладывает всего одну обязанность:
* делиться с общественностью измененными версиями программ. Даже если вы переписали две строчки кода, вы обязаны предоставить другим свободный доступ к программе и ее исходному коду. Вместе с измененной программой пользователи получают полный комплекс прав на ее использование, распространение, модификацию и т. д.
GPL3 — это идеальная лицензия для обычных пользователей, она попросту отмахивается от них и концентрируется на программистах и распространителях. Для того чтобы получить программу и пользоваться ею даже не обязательно читать и принимать лицензию. Передача ПО соседу Васе из рук в руки также не требует принятия лицензии. А вот если вы собираетесь изменить что-то в программе или заняться ее распространением — вам уже придется ознакомиться с текстом лицензии, осознать и принять все условия. В противном случае все ваши действия по модификации и распространению ПО будут считаться незаконными.
Однако и здесь есть свои послабления. Если вы модифицируете программу исключительно для собственных нужд и не собираетесь распространять ее — вам не обязательно делиться со всей Сетью своим кодом. Передача «свободного» ПО через peer-to-peer сети фактически приравнивается к простой передаче ПО от пользователя к пользователю. Соответственно, распространять GPL-софт через торрент теперь можно без предоставления исходного кода, достаточно просто оставить ссылку на общедоступный сервер, где этот код выложен. Это нововведение, которого не было в GPL2.
«Свободное» ПО — не значит «бесплатное». Вы можете распространять копии свободного ПО за деньги, но при этом вы обязаны передать покупателю весь комплекс прав: право на свободное распространение программы, исходный код программы, право на модификацию программы и использование ее элементов в собственных разработках и т. д. Так что на практике взимание платы за свободное ПО не имеет смысла, в абсолютном большинстве случаев софт, распространяемый под лицензией GNU GPL, бесплатен. Плату если и берут, то за пересылку, носители информации, обслуживание, помощь в настройке и установке и т. д.
Авторские права на свободное ПО принадлежат его разработчикам. При этом авторы не дают никаких гарантий на свои программы и не несут ответственности за проблемы, возникшие в результате их использования. Модифицированные версии программ должны помечаться как «измененные», также должна проставляться дата внесения изменений. Это делается с целью защиты авторов, чтобы им не приписывали чужие ошибки. Программа, созданная на основе «свободного» кода, должна распространяться также на условиях GPL, она не может быть переведена на коммерческую лицензию модификаторами и прочими «третьими лицами». Что понятно, иначе многие «свободные» разработки давно уже были бы растащены и закрыты, а всякие жадные до денег компании зарабатывали бы на них и даже не думали делиться кодом со «свободной» общественностью. Правообладатели имеют право перелицензировать свою программу (т. е. выпустить ее под другой лицензией, в том числе и коммерческой), но при этом они не могут отозвать лицензии у тех, кто уже успел получить программу под GPL.
Программы могут распространяться на любых носителях, выкладываться на ftp-сервера для скачивания и т. д. При этом к программе должна прилагаться копия GPL — она может быть встроена в программу или идти отдельным файлом, в любом случае в программе должна присутствовать ссылка на лицензию, под которой она распространяется.
Также должны присутствовать: информация об авторах и копирайтах, отказ от гарантий.
Обычно вся эта информация размещается в диалоге «О программе», также она должна присутствовать в начале каждого файла с исходным кодом… обо всем этом подробно написано в самом конце лицензии, в разделе «Как применить данные условия к Вашим Новым Программам».
Удалять вышеперечисленную информацию из оригинальной версии программы, равно как и изменять ее, запрещается. А вот в модифицированной версии кроме всего вышеперечисленного и отметки о внесенных изменениях могут быть прописаны дополнительные условия, установленные «переразработчиками». Эти дополнения должны помочь в вопросах совместимости GPL с другими свободными лицензиями, подробная информация о них содержится в 7-ом пункте GPL3.
При разработке свободного программного обеспечения не должны быть использованы софтверные патенты, т. к. это автоматически делает программу несвободной, превращает ее в частную собственность. Либо патент не должен запрещать свободное использование и модификацию программы, т. е. не должен противоречить принципам GPL.
Софтверный патент — это патент на какое-либо программное решение. Запатентована может быть любая мелочь, например, компания Amazon запатентовала «покупку одним кликом», теперь они могут подать в суд на любую компанию, которая случайно повторит эту элементарную технологию. В США таким образом запатентован практически каждый шаг в создании программы, написать программу и не нарушить при этом чьи-нибудь патенты практически невозможно. Microsoft активно пользуется таким положением вещей, заявляя, что использование свободного ПО незаконно. Недавно «мелкомягкие» сменили позицию и заявили, что не будут преследовать пользователей свободного ПО за нарушение авторских прав — при условии что те получают софт от поставщиков, работающих с Microsoft. Эта открытая попытка нажиться на пользователях свободного ПО противоречит принципам свободы, прописанным в GPL.
GPL3 гарантирует, что патенты не могут быть использованы с целью «закабалить» свободную программу. Исходный код программы должен быть доступен для копирования, бесплатно и с соблюдением всех условий GPL, в любом случае — даже если распространитель передает ПО, сознательно полагаясь на патентную лицензию. Несогласным с таким положением вещей предлагается просто перестать распространять программу. Это правило работает во всех подобных ситуациях. Если какие-либо посторонние обязательства не позволяют вам распространять программу в соответствии с требованиями GPL — вы должны вовсе отказаться от ее распространения.
В GPL3 расставлены все точки над «i» в том, что каcается технических средств защиты авторских прав (DRM) и законов, запрещающих создание средств для обхода этих ограничений (Digital Millennium Copyright Act и European Union Copyright Directie).
DRM (Digital Rights Management, управление цифровыми правами) — это технологии, защищающие аудио-, видео — и прочий контент от копирования и бесконтрольного распространения копий через Интернет. Защищенный таким образом фильм на DVD, игру или музыкальный диск можно воспроизвести, но затруднительно скопировать (или скопировать-то можно, но невозможно воспроизвести нелегальную копию). Обход и взлом защиты является противозаконным, взломанный или нелегально приобретенный контент считается «нечистым» и может не воспроизводиться проигрывателями. DRM-технологиями не только защищают файлы и диски, иногда их встраивают в средства воспроизведения (например, карманные цифровые плееры). DRM — крайне неудобная штука, причем в первую очередь она причиняет неудобства честным пользователям. Например, в некоторых моделях портативных видеокамер имеется ограничение на создание цифровых копий — записав ролик, вы не сможете сделать копию для своих знакомых. К счастью, DRM-технологии и связанные с ними законы цветут махровым цветом в основном в США, но и нам нужно держать ушки на макушке — с 1.01.2008 вступила в силу IV часть Гражданского Кодекса РФ, предусматривающая защиту DRM.
По американским законам создание и распространение ПО, предназначенного для обхода и взлома DRM, считается преступлением. Последняя версия GPL делает оговорку: программа, выпущенная под данной лицензией, не может считаться средством технической защиты от копирования (даже если фактически им является). А пользователь имеет право писать любой код, какой считает нужным (в том числе и средства для обхода защиты) и отключать любые неугодные ему функции (в том числе и ту, которая отвечает за ограничение доступа). Поэтому если кто-либо напишет под GPL3 программу для защиты контента, в случае взлома ему останется только пенять на себя. «Взломщик» может спокойно распространять ПО, он не подпадает под действие DMCA и прочих подобных законов. В пункте номер 3 третьей версии GPL написано открытым текстом: «при передаче вами лицензированного произведения, вы отказываетесь от каких-либо юридических полномочий запрещать обход технических средств… и вы отказываетесь от любых намерений ограничить работу или модификацию произведения…»
GPL3 запрещает «тивоизацию». Термин «tivoization» был придуман Ричардом Столлменом, и применяется в тех случаях, когда в устройство на уровне железа встроен DRM, из-за чего на нем можно запустить только софт, подписанный обладателем секретного цифрового ключа. В результате производитель может изменить ПО на устройстве, а пользователь — нет.
Началось все с цифрового видео-плеера марки TiVo, где в качестве софта использовалась Linux. Внешне все требования GPL2 соблюдались — исходный код был доступен, его можно было получить и усовершенствовать, однако после обратной загрузки новая версия ПО просто не могла работать, ее блокировали встроенные DRM-механизмы. Поэтому последняя версия GPL требует вместе с исходным кодом предоставлять все используемые ключи и цифровые сертификаты. Право пользователя на изменение GPL-софта не должно быть ограничено никакими технологиями. Производители техники, на которой установлен свободный софт, обязаны обеспечивать пользователей любой информацией, необходимой для установки измененного ПО.
Больше всего споров и возмущений вызывает именно этот пункт GPL3. Линус Торвальдс, первый и основной разработчик ядра Linux, не согласен с требованием «поставлять вместе с исходным кодом все ключи, требуемые для его запуска». По его мнению, ядро должно быть доступно для любого использования — включая применение на компьютерах, не разрешающих замену ПО без санкции производителя. Так что Linux пока остается на GPL2.
За нарушение условий «свободной» лицензии тоже можно поплатиться, правда, не так жестоко как в случае с коммерческими лицензиями — вы просто теряете все права, которые дает GPL, начиная с права пользования программой. Чтобы оказаться «вне закона» достаточно начать распространять или модифицировать «свободное» ПО непрописанным или запрещенным в лицензии образом (например, скрывать код модифицированной вами программы, запрещать дальнейшим пользователям его изучение и т. д.). Предъявить вам претензии по поводу нарушения лицензии может конкретный обладатель авторских прав на программу, с которой вы «нехорошо» обошлись. Впрочем, GPL достаточно лояльна по отношению к нарушителям и действует по принципу «исправленному — верить».
Если в течение 30 дней после получения уведомления от обладателя авторских прав вы исправите положение и перестанете нарушать лицензию — ваши права будут полностью восстановлены. Если вы проявите сознательность и ликвидируете нарушение, не дожидаясь письма от авторов программы, а они так и не соизволят уведомить вас об уже исправленном нарушении в течение 60 дней — ваши права также считаются полностью восстановленными. Если ни вы, ни правообладатели не проявляете никакого беспокойства по поводу нарушения лицензии… что ж, на нет и суда нет. Но помните, что формально вы — злостный нарушитель, лишенный прав, и вас могут припереть к стенке в любую минуту.
Полное и окончательное прекращение ваших прав никак не повлияет на тех пользователей, которые получили программу от вас, они могут и дальше спокойно пользоваться ею и всеми правами, которые предоставляет им GPL. Вы же сами получить новые права лицензиата на ту же самую программу уже не сможете. В то же время вы не отвечаете за соблюдение лицензии пользователями, которые получили программу от вас. В случае нарушения с ними будут разбираться правообладатели (поскольку именно они и предоставляют права лицензиата, а распространитель предоставляет только саму программу), вас эти «разборки» никак не затронут.
Как распространитель программы, вы не вправе требовать от пользователей выплачивать вам лицензионные платежи или как-то иначе заставлять их расплачиваться за возможность пользоваться правами, предоставляемыми GPL. Эти права передаются «бэзвозмездно», то есть даром (при этом сама программа, как уже говорилось выше, не обязана быть бесплатной). В общем, вы не имеете права ограничивать право других пользоваться их правами.
Фонд Свободного ПО может время от времени выпускать новые версии GPL. Пользователь должен руководствоваться той версией лицензии, которая указана в программе или любой последующей версией. Если конкретный номер версии не оговаривается, вы можете выбрать любую из опубликованных на данный момент версий GPL, на свой вкус. При этом ваш личный выбор следовать более поздней версии лицензии, чем та, которая принята авторами программы, не налагает на этих самых авторов никаких дополнительных обязательств.
Сравнивая две последние версии GPL сложно сказать, что такого есть во второй, чего нет в третьей. Проще, наоборот, перечислить чего нет в GPL2. Вторая версия GPL вышла в 1991 году и просуществовала практически без изменений почти 15 лет. За это время появилось множество новых технологий и типов ПО, которые она не охватывает. Здесь нет ни слова о DRM и «тивоизации», peer-to-peer сетях и многом другом.
Патентам уделено минимум внимания, в те времена они еще не представляли серьезной опасности для развития свободного ПО. В GPL 2 говорится только о недопустимости приобретения кем-то исключительных прав на использование программного обеспечения и регистрации их в Патентном ведомстве.
«Обладатель исключительных прав обязан предоставить любому лицу права на использование программного обеспечения либо не приобретать исключительных прав вообще».
«В том случае если распространение и/или использование Программы в отдельных государствах ограничено соглашениями в области патентных или авторских прав, первоначальный правообладатель, распространяющий Программу на условиях настоящей Лицензии, вправе ограничить территорию распространения Программы, указав только те государства, на территории которых допускается распространение Программы без ограничений…»
Вот и все, что можно увидеть здесь на тему патентов, в то время как в третьей версии GPL этому посвящен целый раздел, который так и называется — «Патенты». В нем больше не рассматриваются аспекты патентных условий, основным требованием является отсутствие каких бы то ни было претензий. Новая лицензия призвана исключить возможность патентования модифицированной версии ПО, защищенного GPL, и последующее судебное преследование тех, кто «незаконно» ею воспользуется.
При этом нарушение условий в GPL2 карается более жестко. Нарушитель автоматически теряет все предоставляемые лицензией права навсегда. Единственный способ обрести их снова — обратиться к правообладателю. Если учесть, что обычный Linux дистрибутив использует работу тысяч людей, можно представить, сколько времени займет процесс восстановления лицензии с рассылкой запросов ко всем держателям прав. Третья версия GPL в этом плане более демократична.
НЕофициальные переводы GPL2 и GPL3 на русский:
http://sphynkx.livejournal.com/1571.html (еще один вариант перевода GPL3, чуть понятней предыдущего)
Официальный текст GNU GPLv3 на английском:
Статья «Краткое руководство по GPLv3» Бретт Смит: