пятница, 13 января 2012 г.

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, она не может быть переведена на коммерческую лицензию. Что понятно, иначе многие «свободные» разработки давно уже были бы растащены и закрыты, а всякие жадные до денег компании зарабатывали бы на них и даже не думали делиться кодом со «свободной» общественностью.
Программы могут распространяться на любых носителях, выкладываться на ftp-сервера для скачивания и т. д. При этом к программе должна прилагаться копия GPL — она может быть встроена в программу или идти отдельным файлом, в любом случае в программе должна присутствовать ссылка на лицензию, под которой она распространяется. Также должны присутствовать: информация об авторах и копирайтах, отказ от гарантий.
Обычно вся эта информация размещается в диалоге «О программе», также она должна присутствовать в начале каждого файла с исходным кодом… обо всем этом подробно написано в самом конце лицензии, в разделе «Как применить данные условия к Вашим Новым Программам».
Удалять вышеперечисленную информацию из оригинальной версии программы, равно как и изменять ее, запрещается. А вот в модифицированной версии кроме всего вышеперечисленного и отметки о внесенных изменениях могут быть прописаны дополнительные условия, установленные «переразработчиками». Эти дополнения должны помочь в вопросах совместимости GPL с другими свободными лицензиями, подробная информация о них содержится в 7-ом пункте GPL3.
При разработке свободного программного обеспечения не должны быть использованы софтверные патенты, т. к. это автоматически делает программу несвободной, превращает ее в частную собственность. Либо патент не должен запрещать свободное использование и модификацию программы, т. е. не должен противоречить принципам GPL.
Софтверный патент — это патент на какое-либо программное решение. Запатентована может быть любая мелочь, например, компания Amazon запатентовала «покупку одним кликом», теперь они могут подать в суд на любую компанию, которая случайно повторит эту элементарную технологию. В США таким образом запатентован практически каждый шаг в создании программы, написать программу и не нарушить при этом чьи-нибудь авторские права практически невозможно. Microsoft активно пользуется таким положением вещей, заявляя, что использование свободного ПО незаконно. Недавно «мелкомягкие» сменили позицию и заявили, что не будут преследовать пользователей свободного ПО за нарушение авторских прав — при условии что те получают софт от поставщиков, работающих с Microsoft. Эта открытая попытка нажиться на пользователях свободного ПО противоречит принципам свободы, прописанным в GPL.
GPL3 гарантирует, что патенты не могут быть использованы с целью «закабалить» свободную программу. Исходный код программы должен быть доступен для копирования, бесплатно и с соблюдением всех условий GPL, в любом случае — даже если распространитель передает ПО, сознательно полагаясь на патентную лицензию. Несогласным с таким положением вещей предлагается просто перестать распространять программу. Это правило работает во всех подобных ситуациях. Если какие-либо посторонние обязательства не позволяют вам распространять программу в соответствии с требованиями GPL — вы должны вовсе отказаться от ее распространения.
В GPL3 расставлены все точки над "i" в том, что качается технических средств защиты авторских прав (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 в этом плане более демократична.


Источник: 
 http://it.vahu.ru 
Related Posts Plugin for WordPress, Blogger...

Комментариев нет:

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