Что такое код gpl
Мир лицензий: Часто задаваемые вопросы про лицензии GNU GPL
Недавно я написал статью под названием Мир лицензий: разбираемся с GNU GPL, в которой постарался осветить мир gpl-лицензий, историю и различия в версиях. Статья вызвала большой резонанс, возникло много вопросов, споров. Чтобы немного прояснить ситуацию с GPL, я решил перевести часть официального GPL FAQ. В нем затрагиваются многие вопросы и разъясняются некоторые позиции лицензии. Надеюсь, данный перевод несколько прояснит ситуацию с GPL.
В дальнейшем я продолжу цикл публикаций про лицензии описанием BSD, Apache, MIT и других свободных и не очень лицензий. Кроме того, постараюсь затронуть вопрос лицензий в нашей стране. А пока, предлагаю почитать данный перевод.
Почему GPL разрешает пользователям публиковать модифицированные ими версии?
Ключевым моментом свободного ПО является возможность пользователей свободно объединяться. Абсолютно нормально, когда пользователям разрешено открыть доступ к их исправлениям ошибок и улучшениям ПО для других пользователей.
Существуют другие альтернативы GPL, которые требуют, чтобы измененные версии прошли через автора оригинала. И пока автор продолжает заниматься поддержкой эта схема может работать на практике, но если автор приостановит свою деятельность (более или менее) или не будет удовлетворять всем нуждам пользователей, то эта схема рухнет. Существует и еще одна практическая проблема: эта схема не позволяет пользователям помогать друг-другу.
Иногда контроль над модификациями предлагается как предотвращение коллизий между разными версиями сделанными пользователями. По нашему опыту можно сказать, что эти коллизии не являются существенной проблемой. Множество версий Emacs было сделано вне проекта GNU, но пользователи могут их различить. GPL требует от создателя версии указать свое имя для нее, для того, чтобы отличить версию от других версий и защитить репутацию других разработчиков.
Требует ли GPL, чтобы исходный код измененной версии был выложен для обозрения?
GPL не требует от вас, что бы опубликовывали модифицированную версию или любую ее часть. Вы свободны делать модификации и использовать их в частном порядке, никогда не выпуская их. Это так же применимо к организациям (включая компании); организации могут создавать модифицированные версии и использовать их внутри, никогда не публикуя вне своей структуры.
Но, если вы выпускаете модифицированную версию публично в любом виде, GPL требует от вас сделать исходные коды модифицированной версии доступными для пользователей программы под GPL.
Таким образом, GPL позволяет выпускать модифицированные программы только в определенном порядке, и ни в каком другом; но решение о выпуске остается за вами.
Если я знаю что, у кого-то есть копия GPL-программы, могу я потребовать передать ее мне?
Нет. GPL разрешает ему создавать и распространять копии программы, если он того захочет. Он так же имеет право не распространять программу, если такого его желание.
Разрешает ли мне GPL продавать копии программ за деньги?
Да, GPL разрешает каждому делать это. Право продавать копии — это часть определения свободного ПО. За исключением одной особой ситуации, нет никакого лимита на цену, которую вы можете устанавливать. (Исключение составляют случаи, когда исходные коды поставляются отдельно (по запросу) от программы).
Позволяет ли мне GPL устанавливать цену на скачивание программы с моего сайта?
Да. Вы можете установить любую цену за распространение программы. Если вы распространяете бинарники через загрузку, вы обязаны предоставить «эквивалентный доступ» к загрузке исходных кодов, установив цену за скачивание исходных кодов не выше чем цену за скачивание бинарников.
Позволяет ли мне GPL требовать ото всех, кто получил мою программу заплатить мне и/или уведомить меня?
Нет. На самом деле, такое требование делает программу не свободной. Если люди обязаны платить за полученную копию программы или если они обязаны кого-то уведомить, то программа не свободна. Смотрите определение свободного ПО.
GPL — это лицензия свободного ПО и поэтому разрешает людям использовать и распространять ПО без обязанности платить кому-то за это.
Позволяет ли мне GPL распространять модифицированные или бета версии под NDA?
Нет. GPL говорит, что ваши модифицированные версии должны содержать все свободы указанные в GPL. Поэтому, любой получатель копии вашей версии от вас имеет права распространять копии (модифицированные или нет) этой версии. Вы не можете распространять никакую версию, которая содержит в основе большие запреты.
Что означает, когда говорят что две лицензии «совместимы»?
В случае совмещения двух программ (или их частей) в более крупной работе, вам необходимы разрешения на использование обеих программ. Если лицензии двух программ разрешают это, то они совместимы. Если нет возможности удовлетворить обе лицензии вместе, они считаются несовместимыми.
Для некоторых лицензий имеет значение способ комбинации. Они могут разрешать линковать два модуля вместе, но не разрешать совмещения их кодов в один модуль.
Если вы хотите просто установить две раздельные программы в одной системе, не имеет значения, совместимы ли их лицензии, потому что это не означает совмещение их в одной работе.
Что означает, когда говорят, что лицензия «совместима с GPL»?
Это означает, что другая лицензия и GNU GPL — совместимы; вы можете совмещать код, выпущенный под другой лицензией с кодом, выпущенным под GNU GPL в одной более крупной работе.
Все версии GNU GPL разрешают делать такие комбинации в частном порядке; они так же разрешают распространение таких комбинаций под той же самой GNU GPL версией. Другая лицензия совместимая с GPL также разрешает это.
GPLv3 совместима с большим количеством лицензий, чем GPLv2: это позволяет вам создавать комбинации кода, у которых есть особые типы дополнительных требований, которых нет в самом GPLv3. Секция 7 содержит больше информации об этом, включая список разрешенных дополнительных требований.
Я хотел бы выпустить программу, написанную мной под GNU GPL, но я также хотел бы использовать тот же код в несвободном ПО.
Выпуск несвободного ПО имеет этическую окраску, но юридически нет препятствий для того, что бы вы могли это сделать. Если вы владелец прав на код, вы можете выпустить его под разными лицензиями в любое время.
Может ли разработчик программы, выпустивший ее ранее под лицензией GPL, в дальнейшем ограничить ее использование?
Нет, поскольку пользователи уже получили права на использование программы под GPL и эти права не могут быть отняты.
Почему original BSD license несовместима с GPL?
Потому что она содержит особое требование, которого нет в GPL; а именно, требование касающиеся рекламирования программы. Секция 6 GPLv2 говорит:
«Вы не можете требовать от пользователя дополнительных условий нарушающих права данные в этом документе.»
GPLv3 говорит подобное в секции 10. Рекламная оговорка содержит такие ограничения, и поэтому несовместима с GPL.
Исправленная BSD-лицензия не содержит рекламной оговорки, что исправляет проблему.
Рассмотрим ситуацию: Х выпустил v1 продукта под GPL. Y распространил v2 с изменениями, основанными на v1. Х хочет переделать v2 в не-GPL-лицензию. Требуется ли Х-у согласие Y?
Да. От Y требовалось выпустить его версию под GNU GPL, как результат того, что она была основана на v1. Ничего не требует от Y соглашаться на то, чтобы выпустить его код под другой лицензией. Наоборот, Х должен получить разрешение Y перед выпуском кода под другой лицензией.
Могу я выпустить модифицированную версию GPL-программы в только бинарном виде?
Нет. Основной принцип GPL это то, что все модифицированные версии должны быть свободным ПО, что означает, в частности, что исходные коды модифицированного ПО должны быть доступны пользователям.
Могу я выложить бинарники на моем сайте, а исходные коды на другом?
Да. Секция 6(d) позволяет это. Впрочем, вы обязаны обеспечить четкие инструкции для людей, чтобы те могли получить коды, и вы должны позаботиться о том, что исходные коды будут доступны столько же, сколько распространяется бинарный код.
Вкратце о лицензиях Open Source
Многие разработчики и дизайнеры хотят опубликовать свои работы в виде открытых проектов. Они хотят иметь возможность делиться своим кодом. Сообщество open-source с каждым днём всё прочнее стоит на ногах. Открытые программы существуют для любых видов задач, каких вы только можете себе вообразить. А многие веб-разработчики используют свободное ПО как фундамент для своей работы (WordPress, Drupal и многие другие CMS открыты, свободны и бесплатны).
Но ситуация такова, что лицензий open-source существует великое множество, и подчас нелегко понять что на самом деле они означают. Какие права получают разработчики, когда выбирают ту или иную открытую лицензию? Попробуем хотя бы в общих чертах разобраться.
Что такое лицензирование?
В двух словах: лицензирование даёт определённые полномочия сторонним лицам на использование вашего продукта.
Лицензирование является прекрасной альтернативой простой передаче продукта в общественное достояние или предоставлению разрешения в каждом конкретном случае. Выпустив на публику свой продукт, вы лишаетесь всех прав на него и никто вам ничем не обязан. В особо клинических случаях этот шаг чреват судебными тяжбами, если ваша программа причинила кому-то вред. А во втором случае, вы будете тратить больше времени на выдачу разрешений, чем на саму разработку.
Лицензии open-source предоставляют людям возможность внести свой вклад в проект не спрашивая ни у кого специального разрешения. Они также защищают вас как автора, что гарантирует хотя бы наличие вашего имени в списках разработчиков. Это также обезопасит вашу работу от кражи другими лицами.
GNU General Public License
Лицензия GNU GPL одна из самых часто используемых лицензий для open-source проектов. GPL гарантирует широкий диапазон прав разработчикам, которые работают над открытыми проектами. Она позволяет пользователям легально копировать, распространять и модифицировать ПО. Это означает, что вы можете:
Копировать программное обеспечение.
Копировать на свои серверы, на серверы клиентов, на собственный компьютер, да и вообще куда угодно. Также нет никаких ограничений на количество сделанных копий.
Распространять программное обеспечение по своему усмотрению.
Можете сделать прямую ссылку на своём сайте. Можете записывать на болванки и дарить друзьям. Можете распечатать исходники программы, сделать из них самолётики и пускать с крыши дома.
Зарабатывать на распространении программного обеспечения.
Если вы хотите продавать бесплатное ПО – нет проблем. Но вы обязаны приложить к нему лицензию GPL, в которой разъясняется тот факт, что это ПО вообще-то бесплатное. Многие зарабатывают на технической поддержке, почтовой рассылке дисков и т.п.
Делать какие угодно модификации ПО.
Если вы хотите добавить или убрать какой-то функционал программы – нет никаких преград для этого. Если вы хотите использовать часть кода в своём проекте, вы имеете на это право. Условие состоит лишь в том, что проекты, основанные на GPL должны и дальше распространяться под этой лицензией.
Использовать GPL очень легко. Необходимо лишь внести необходимую информацию в исходный код своей программы и приложить к нему копию GPL.
GNU Lesser General Public License
От GNU появилось много производных лицензий. Самая популярная из них – LGPL. Она даёт несколько больше прав, чем стандартная GPL. Обычно используется для лицензирования библиотек, которым нужно работать в связке с не-GPL и с не-открытыми программами. Так как GPL требует, чтобы ПО с участками GPL также распространялось под GPL, разработчики не могут использовать код под GPL-лицензией для разработки проприетарного коммерческого ПО. LGPL даёт такое право.
Лицензия BSD
Существует целое семейство BSD-лицензий, которые накладывают гораздо меньше ограничений на распространение продукта, чем строгая GPL. Среди всей палитры BSD-лицензий, существуют 2 наиболее используемые: New BSD/Modified BSD и Simplified BSD/FreeBSD. Обе GPL-совместимы и одобрены в качестве свободных лицензий влиятельной организацией Open Source Initiative.
Лицензия New BSD разрешает неограниченное распространение с любой целью, не даёт никаких гарантий и не несёт никакой ответственности. Лицензия содержит также положение, ограничивающее использование имён участников проекта для подтверждения работы без специального разрешения. Говоря нормальным языком, “делайте с кодом что хотите, но не говорите, что это вы его написали”. Основное различие между New BSD и Simplified BSD в том, что последняя не включает в себя пункт этого “специального разрешения”.
MIT License
Лицензия MIT, наверное, самая короткая и самая обобщённая из всех популярных лицензий open-source. Её положения более либеральны, чем в других лицензиях. Основные положения выглядят следующим образом:
Данная лицензия разрешает, безвозмездно, лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми “Программное Обеспечение”), использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
Вышеупомянутый копирайт и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
Что всё это значит:
Вы можете использовать, копировать и модифицировать программное обеспечение как вам угодно. Никто не может препятствовать вам использовать такое ПО в своих проектах, копировать столько раз, сколько нужно и модифицировать так, как вы хотите.
Вы можете предоставлять своё ПО бесплатно, а можете и продавать его. Нет никаких ограничений по этому поводу.
Единственное ограничение состоит в том, что ваше ПО должно сопровождаться лицензионным соглашением.
Проще говоря, каждый может делать всё, что нужно до тех пор, пока продукт сопровождается лицензией.
Лицензия Apache
Лицензия Apache, версия 2.0, даёт набор чётких прав. Эти права могут быть применимы как к копирайтам, так и к патентам. Так как многие лицензии могут быть применимы только к копирайтам или только к патентам, гибкость лицензии Apache имеет в определённых случаях очевидное преимущество.
Вот основные положения:
Права вечны
Как только они вам предоставлены, вы можете использовать их всегда.
Права глобальны
Если права выданы в одной стране, то они распространяются и во всех других странах. Например, если вы живёте в США, а оригинальная лицензия была выдана в Индии, вы всё равно не ограничены в использовании кода (ничего не могу сказать про Украину, Россию и Белоруссию, у нас всё очень зыбко).
Права дарованы безвозмездно
Плата за пользование ни в коем случае не взимается.
Права не эксклюзивны
Вы можете использовать работу, как и любой другой.
Права неотъемлемы
Никто не может отобрать у вас права. Другими словами, вам не стоит беспокоится о том, что однажды, создав некий потрясающий код, кто-то скажет вам: “Извини, но ты больше не можешь его видеть”.
У распространения кода также есть специальные требования, в основном они касаются упоминания имён разработчиков.
Creative Commons
Лицензия Creative Commons (CC) не совсем open-source лицензия, так как она обычно используется в мультимедиа и дизайн-проектах. Существует широкое множество CC-лицензий и каждая из них даёт определённые права. У CC есть 4 основных положения, которые могут быть использованы по одиночке или в комбинации друг с другом. Вот они:
Атрибуция (указание авторства) – BY
Эта лицензия позволяет другим распространять, перерабатывать, исправлять и развивать произведение, даже в коммерческих целях, при условии указания автора произведения. Это наиболее свободная лицензия, с точки зрения того, что могут делать с произведением пользователи.
Копилефт – SA
Эта лицензия позволяет другим модифицировать, исправлять и развивать произведение даже в коммерческих целях при условии указания авторства и лицензирования производных работ на аналогичных условиях.
Некоммерческое использование – NC
Работа может модифицироваться, распространятся и т.д., но только для некоммерческих нужд. Понятия “коммерческий” и “некоммерческий” немного расплывчаты. Например, некоторые могут интерпретировать “некоммерческий” как синоним фразы “не для продажи”. Другие могут могут предположить, что они не имеют права на использование даже там, где просто есть реклама. В общем, “коммерческий” означает какую-либо материальную выгоду.
Без производных – ND
Это значит, что вы можете копировать и распространять лицензированную работу, но не имеете права модифицировать её или создавать собственные работы на основе оригинала.
Как уже было сказано, эти составляющие можно комбинировать. Наиболее жёсткая лицензия — “С указанием авторства – Некоммерческая – Без производных” (BY-NC-ND). Это наиболее хороший вариант для того, чтобы освободить свою работу, но сохранить над ней контроль. А наименее жёсткая лицензия — “С указание авторства” (BY) означает, что люди могут использовать вашу работу до тех пор, пока указывают ваше авторство.
Лицензии CC разработаны для дизайнерской работы, а не для разработки ПО, но ничто не мешает использовать её в обеих случаях. Просто внимательно пройдитесь по всем пунктам и выберите то, что вам по душе.
Вот шесть наиболее часто используемых лицензий мира open-source. На самом деле их намного больше, некоторые источники уверяют, что около 60-ти. Многие практически дублируют друг друга с некоторыми небольшими оговорками, что создаёт сложности в их выборе и использовании. Open Source Initiative работает над тем, чтобы сократить их количество до приемлемого. Я же считаю, что на все случаи жизни хватило бы и четырёх: GPL, LGPL, BSD и CC. Рекомендую вам более подробно ознакомиться с каждой из них, а если вы заинтересовались использовать эти лицензии в своём бизнесе, как это делают IBM, Google и сотни других крупных компаний, обязательно проконсультируйтесь со своим юристом. В постсоветских странах, насколько мне известно, нет никакой правовой защиты open-source лицензий, по крайней мере не было ни одного судебного прецедента. С другой стороны, юристы OSI (Open Source Initiative) гарантируют защиту ваших прав по каждой из указанных лицензий.
Поправка от tarzanasg:
«Некоммерческое использование – NC» и «Без производных – ND» к open source не относятся. Применение этих условий делает лицензию и тексты с медиафайлами собственническими.
Статья:GNU GPL 3 человеческим языком
GNU GPL 3 человеческим языком
23 сентября 2008 г.
Интеллектуальная собственность — не хрен собачий, помните об этом. © Артемий Лебедев
Удивительное дело, практически все коммерческие лицензии, главная цель которых — связать пользователя по рукам и ногам, написаны четким и понятным языком. А самая либеральная в мире лицензия 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.
Софтверный патент — это патент на какое-либо программное решение. Запатентована может быть любая мелочь, например, компания 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 v3|третьей версии 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 в этом плане более демократична.
Автор не претендует на кристально ясное понимание всех условий GPL3 =) Если вы обнаружили в тексте неточность или какой-то важный момент упущен — пишите, тыкайте автора носом в ошибки и они будут исправлены =)