Найдено тут: http://www.permlug.org/node/3770/
Оригинал перевода: http://www.fsf.org/licensing/licenses/quick-guide-gplv3.html
Gim, 19.03.2008 — 02:57
Автор Бретт Смит
После полутора лет консультаций с общественностью, тысячи замечаний и четырех выпусков, третья версия GNU General Public License (http://www.fsf.org/licensing/licenses/gpl.html) была наконец опубликована 29 июня. Хотя было много дискуссий о лицензии с момента выхода первого выпуска, немногие говорили о преимуществах, которые она дает разработчикам. Мы опубликовали это руководство, чтобы заполнить этот пробел. Мы начнем с короткого напоминания о принципах свободного программного обеспечения, «копилефта», и целях GPL. Затем мы рассмотрим основные изменения вошедшие в лицензию, чтобы увидеть, как они способствуют достижению этих целей, и какую пользу разработчики могут извлечь из неё.
Никто не должен ограничивать использование программного обеспечения. Есть четыре свободы, который должен иметь каждый:
Когда программа дает пользователю все перечисленные свободы, мы называем ее свободным программным обеспечением.
Разработчики, которые пишут программное обеспечение, могут выпускать его под лицензией GNU GPL. Если они это делают, то программное обеспечение становится и навсегда остается свободным, независимо от того, кто вносит изменения или распространяет программу. Мы называем это «копилефт»: программное обеспечение защищено авторским правом, но вместо того, чтобы использовать это право для ограничения пользователей как проприетарное программное обеспечение, мы используем его для того, чтобы быть уверенными, что любой пользователь будет иметь положенные ему свободы.
Мы обновили GPL для того, чтобы принципы «копилефта», заложенные в неё, не могли быть подорваны с юридической или технологической стороны. Последняя версия защищает пользователей от следующих трех угроз:
В третье издание GPL также включен ряд улучшений для того, чтобы сделать лицензию проще для понимания и использования. Но даже со всеми изменениями GPLv3 не является радикально новой лицензией, напротив, это развитие предыдущей версии. Несмотря на то, что текст был изменен, большинство изменений просто поясняет то, что было заявлено в GPLv2. С учетом этого рассмотрим главные изменения в GPLv3 и обсудим, какие преимущества дает новая лицензия пользователям и разработчикам.
Вероятно вы знакомы с техническими средствами защиты авторских прав (DRM) на DVD и прочих носителях. Также возможно вы знакомы с законами, объявляющими незаконным создание средств для обхода этих ограничений, в частности такими законами являются Digital Millennium Copyright Act и European Union Copyright Directive. Никто не должен иметь возможности запрещать вам писать любой код, что вы хотите, и GPLv3 защищает это ваше право.
Всегда было возможно использовать GPL код для написания ПО, осуществляющего DRM. Однако, если кто-либо использует так код под третьей версией GPL, третий пункт говорит о том, что такая система не будет считаться эффективным технологическим средством защиты. Это означает то, что если вы взломаете DRM, то у вас будет право распространять такое ПО, и вы не попадете под угрозу DMCA и подобных законов.
Как обычно, GNU GPL не ограничивает разработчиков в написании ПО, она просто не даёт одним ограничивать других.
TiVo-изация — это попытка ограничения свободы пользователей: право на улучшений вашего ПО становится бессмысленным, если ни один из ваших компьютеров не позволяет вам делать это. GPLv3 предотвращает TiVo-изацию, обязывая поставщиков обеспечивать вас любой информацией, необходимой для установки измененного ПО на компьютер. Это может быть как простой набор инструкций, так и особые данные, такие как криптографические ключи или информация о том, как обойти проверку на целостность в аппаратном обеспечении. Конечно, инструкции будут различаться в зависимости от устройства, но, не зависимо от запрашиваемых данных, вы должны иметь право получить их.
Это требование имеет ограниченную область действия. Поставщики все еще имеют право использовать криптографические ключи для любых целей, и они должны будут только раскрыть ключ, если вам понадобится изменить GPL ПО на их устройстве. Проект GNU сам использует GnuPG для удостоверения целостности всего ПО на ftp-сервере, и такие меры только на благо пользователям. Третья редакция GPL не запрещает использовать криптографические методы, наша цель не в этом. Просто никто не должен лишать вас прав, предоставляемых лицензией — делается это через патенты, технологии или еще как-либо.
Через 17 лет после выпуска GPLv2 законы о патентах в отношении ПО значительно изменились, и свободные лицензии разработали новые ответные стратегии. GPLv3 также отражает эти изменения. Всякий раз, когда кто-нибудь передает ПО, защищенное GPLv3, он должен обеспечить каждого получателя любыми патентными лицензиями, необходимыми для изучения прав, предоставляемых GPL. Более того, если какая-либо лицензия будет использовать набор патентов чтобы препятствовать этому, то такая лицензия будет аннулирована.
Что это дает пользователям и разработчикам? Теперь они могу работать с приложениями под GPLv3, не беспокоясь о том, что ненадежный партнер когда-нибудь подаст на них в суд, основываясь на нарушении патента.
Если вы нашли какой-нибудь код и хотите присоединить его к GPL проекту, GPLv2 говорит о том, что лицензия на этот код не должна иметь других ограничений кроме ограничений GPLv2. Пока выполняется это условие, лицензия считается GPL-совместимой.
Однако, некоторые лицензии имеют требования, не являющиеся действительно ограничивающими, так как с ними несложно согласиться. Например, некоторые лицензии не разрешают вам использовать определенные торговые марки. По сути это не является ограничением: даже если бы этого условия и не было, вы бы все равно не имели права использовать торговые марки. Такие лицензии также всегда считались GPLv2 совместимыми.
GPLv3 теперь явно разрешает использовать код с ограничениями такого рода. Эти новые условия должны разрешить споры о том, какие лицензии считаются GPL-совместимыми, почему и что вы можете делать с GPL-совместимым кодом.
Для большей ясности того, какие лицензии являются GPL-совместимыми, перечислим лицензии, с которыми совместима новая GPL v3. В первую очередь это The Apache License 2.0. Множество отличного свободного ПО со сложившимися сообществами распространяется под этой лицензией. Мы надеемся, что изменения в GPL способствуют лучшему сплочению и обмену опытом среди сторонников свободного ПО. Ниже приведена диаграмма, иллюстрирующая насколько совместимы между собой различные свободные лицензии.
Стрелки, ведущие от одной лицензии к другой, показывают, что первая лицензия совместима со второй. Это свойство транзитивно, таким образом, ISC лицензия совместима с GPLv3. GPLv2 совместима с GPLv3 если программа позволяет вам выбрать «любую последующую версию» GPL, что и было причиной распространения много ПО под лицензией GPL. Эта диаграмма не претендует на полноту (для более полного списка лицензий, совместимых с GPL v2 и v3, смотрите страницу лицензий на сайте FSF), а просто иллюстрирует тот факт, что GPLv3 совместима почти со всем, с чем совместима GPLv2, и даже больше.
Также обсудим нововведения третьей версии GNU Affero GPL. Оригинальный Affero GPL был создан для того, чтобы все пользователи веб-приложений имели возможность получить исходный код. Третья версия расширяет эту цель: она относится ко всем сетевым приложениям, так что она применима и таким программам, как игровые сервера. Также новая версия является более гибкой, так что если кто-либо захочет использовать AGPL код в приложении без сетевого интерфейса, их задача состоит лишь в соблюдении условий GPL. Благодаря совместимости этих лицензий, разработчики интерактивных сетевых приложений получают возможность создавать свои «копилефт» программы, основываясь на всей мощи кода, созданного на условиях GPL.
Одним из основных требований GPL является не только распространение бинарного кода, но и предоставление доступа к исходным кодам. GPLv2 давала несколько способов для этого, и GPLv3 сохраняет их с некоторыми расширениями. Она также дает вам новые способы распространения кода в случае, если вы передаете объектный код по сети. Например, когда вы размещаете бинарные коды на веб или ftp сервере, вы можете просто указать способ, как можно получить исходный код с какого-либо сервера. Благодаря новому положению, выполнение этого требования становится легче для некрупных распространителей, которые вносят лишь небольшие изменения в большой объем кода.
Новая лицензия также делает проще распространение кода через BitTorrent. Во-первых, люди, просто закачивающие или хранящие программу на торренте, освобождаются от требований лицензии о передаче ПО. Во-вторых, кто бы ни пользовался торрентом, он может предоставить лишь ссылку другим пользователям торрента на общедоступный сервер, где выложены исходные коды.
Благодаря нововведениям GPL сохраняет все правила передачи исходных кодов, не добавляя излишней сложности для пользователей.
Меньше кода для распространения: новая система исключает библиотеки
Обе версии GPL требуют от вас предоставления всех исходных кодов, необходимых для сборки программы, включая библиотеки, установочные скрипты и так далее. Они также исключали из этого списка системные библиотеки: вы не обязаны предоставлять исходники для компонентов ОС, например библиотеки C.
GPLv3 внесла некоторые поправки в то, что считается системными библиотеками: к ним были добавлены некоторые программы, не относящиеся напрямую к ОС, но такие, что наверняка есть у всех пользователей. К таким, например, относятся стандартные библиотеки таких популярных ЯП как Python и Ruby.
Это новое определение позволяет вам совмещать GPL программы с GPL-несовместимыми системными библиотеками, такими как OpenSolaris' C library, и распространять их вместе. Эти изменения значительно упрощают поставку такого рода ПО.
В GPLv2 много сказано о распространении — когда вы делитесь программой с кем-нибудь, вы распространяете её. Лицензия ничего не говорит о том, что понимается под распространением, так как этот термин взят из законов авторского права Соединенных Штатов. Мы расчитывали, что за определением обратятся именно туда. Однако, позже мы обнаружили, что схожий термин применяется и в законах других стран, но в разных значениях. Поэтому судья из такой страны может истолковать GPLv2 не так, как это было бы сделано в Соединенных Штатах.
GPLv3 использует новый термин «передача» и дает определение ему. «Передача» имеет тот же смысл, что мы подразумевали под «распространением», однако теперь мы прямо поясняем это в лицензии, чтобы люди могли легко понять, что мы имели в виду. Помимо этого в третьей версии были внесены небольшие изменения, также способствующие её применению по всему миру.
По условиям GPLv2, если вы нарушили лицензию каким-либо образом, вы автоматически навсегда теряете права. Единственный способ возврата — обращение к владельцу прав. Пока сильная защита от нарушений слишком затратна, такой подход вызывал излишние сложности, когда кто-либо непредумышленно выходил за рамки правил. Запрос ко всем держателям прав за формальным восстановлением лицензии слишком тягостный и затратный процесс: обычный GNU/Linux дистрибутив использует работу тысяч людей.
GPLv3 предлагает отсрочку за хорошее поведение: если вы нарушили лицензию, вы получите свои права как только прекратите нарушение, если только правообладатель не свяжется с вами в течение 60 дней. После получения такого сообщения вы можете полностью восстановить свои права, если вы до этого не нарушали условий и прекратили незаконное использование в 30-дневный срок. В противном случае, вы можете обсудить с правообладателями конкретные случаи нарушения и таким образом восстановить права.
Демократичность GPL всегда было одной из главных целей FSF Compliance Lab и других групп, оказывающих влияние на лицензию. Внесенные изменения лишь подтверждают этот факт и дают нарушителям стимул к исправлению и соблюдению прав.
Некоторые изменения могут показаться именно для вас не такими важными. Ничего страшного. Программные проекты различны, и каждый из них предоставляет свои требования к лицензии. Но преимущество новой лицензии в том, что большинство изменений помогут конкретно вам в вашей работе.
Взятые вместе, все изменения представляют собой нечто большее: мы сделали «копилефт» лучше. Он делает больше для свободы пользователей, но также он предоставляет большую свободу для совместной деятельности внутри сообщества свободного ПО. Однако обновление лицензии — лишь часть работы: для того, чтобы люди могли пользоваться преимуществами новой лицензии, разработчики должны использовать GPLv3 как лицензию для своих проектов. Если вы выпустите своё ПО под новой лицензией, все кто работает с ним — пользователи, другие разработчики, распространители и даже юристы — только выиграют. Мы надеемся, что вы используете GPLv3 в следующем релизе вашего проекта.
Если вы хотите узнать больше про обновление вашего проекта до GPLv3, в FSF Compliance Lab будут рады сотрудничать с вами. На нашем сайте вы можете найти базовые рекомендации по использованию лицензии, и FAQ с основными вопросами относительно неё. Если вы испытываете затруднения, свяжитесь с нами, и мы постараемся помочь вам. Вместе, мы сможем защитить свободу всех пользователей.