- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF80:Дегустация свободы
Материал из Linuxformat.
GPL 3: ПЕРВОЕ ЧТЕНИЕ
Дегустация свободы
Содержание |
На суд общественности вынесена новая версия GNU General Public License Ричарда Столмена
(Richard Stallman). Грэм Моррисон пробует документ на вкус и ожидает вспышки дебатов.
Благодаря Владетелю Столмену многие оценили разницу между правом на свободу выражения (free as in speech) и бесплатным пивом (free as in beer). Linux меняет отношение человека к работе на компьютере, предоставляя всю полноту власти пользователю. Но ещё важнее то, что Linux бросает вызов нашим представлениям о программном обеспечении и о том, как сбалансировать права его пользователей и нужды его создателей.
Просветительский процесс подкрепляется GPL, той самой лицензией, под которой выпущено большинство программ с открытым исходным кодом, и той самой лицензией, которую Линус Торвальдс избрал для ядра Linux. Это решение – союз ядра Linux и GPL, защищающей философию открытости – мы принимаем как должное. Но на этот раз Столмен, стоящий за GPL, намерен пойти дальше, а Линус рискует остаться в стороне.
Новая GNU
- Свобода использования программы для любой цели.
- Свобода изучения принципа действия программы и изменения её в соответствии со своими нуждами.
- Свобода распространения копий программы для помощи своим ближним.
- Свобода усовершенствования программы и публикации своих усовершенствований на благо всего Сообщества.
Вы, наверное, поняли из постоянного, подобно заклинанию, употребления слова «свобода», что эти слова взяты из определения свободного программного обеспечения по версии Фонда Свободного ПО (Free Software Foundation, FSF).
FSF является держателем GPL и гарантом её соблюдения. Фонд был основан Столменом в 1985 г. как очаг распространения философии свободного ПО, от найма программистов для разработки программ с открытым исходным кодом до написания свободной лицензии универсального применения. С 1985 г. FSF постоянно набирала силу, росла вместе с Linux, и, подобно Linux, теперь весьма влиятельна.
Но с момента принятия второй версии GPL в 1991 г. прошло целых 15 лет. В то время web-серверов просто не было, как не было и технологий DRM.
По мере развития технологий в GPL начали проявляться слабые места – или новые возможности, в зависимости от точки зрения: например, лазейка для ASP (application service providers, поставщиков цифровых услуг). ASP-приложения работают только в сети, а значит, пользователь не загружает их вовсе. Во время разработки GPL2 такой сценарий не предусматривался (идея Apache ещё только блеснула в мозгу Брайана Белендорфа), а ведьон означает, что поскольку нет бинарных дистрибутивов (серверные приложения не компилируются, они только интерпретируются браузером), то нет и объектного кода, а есть только исходный. Любой создатель ASP, решившийся опубликовать своё приложение по GPL2, рискует тем, что конкуренты воспользуются его программой и, расширив функциональность, не вернут Сообществу ничего взамен. Это идёт вразрез с желанием FSF, которой очень хочется, чтобы Google и Amazon смогли опубликовать свои исходные коды, не опасаясь конкурентов.
В наши дни на повестке дня FSF стоят две стратегические задачи – патенты и DRM (Digital Rights Management), система защиты авторских прав (или, по расшифровке FSF, Digital Restrictions Management, система цифровых запретов). FSF убеждает своих членов объявить бойкот дискам HDDVD и Blue-ray, утверждая, что эти диски являются «атакой на свободное ПО, поскольку свободное ПО может никогда не прочесть эти диски. Коммерческие интриги ограничивают развитие технологий и должны быть признаны незаконными». Времена меняются и, чтобы поспеть за ними, универсальная лицензия должна меняться тоже.
Вот в таком горниле идей мы нашли первую редакцию GPL-3. Третья Генеральная Общественная Лицензия GNU написана не только для устранения проблем, обнаруженных в GPL2, но и как попытка достойно встретить вызовы будущего. Первая редакция была вывешена на виртуальной доске объявлений в январе, и с тех пор повсюду не утихают дебаты – от списков рассылки ядра Linux до коридоров власти Red Hat и IBM.
Как это выглядит?
Эта лицензия затронет всех нас, даже при том, что разработчики ядра Linux не самые горячие её приверженцы, и именно поэтому так важно принять участие – время пришло! Рассмотрим главные различия между второй версией и первым вариантом третьей. Документ состоит из 19 разделов плюс преамбула. Если вы рассчитывали, что новая версия будет написана простым и понятным языком, то вы будете разочарованы. Эбен Моглен (Eben Moglen) – генеральный юрисконсул FSF и соавтор Столмена по первой редакции лицензии – утверждает, что эта сложность неизбежна при защите прав обладателя лицензии. Терминология по сравнению со второй версией лицензии определённо изменилась в сторону юридической специфики – но сущность и цели в основном сохранились.
Избегая вулканов
Преамбула
Обе редакции GPL начинаются со следующего утверждения: «Когда мы говорим о свободном ПО, мы имеем в виду свободу, а не цену». Оно расставляет акценты и проясняет намерения GPL, рисуя окружение сплошь из извергающихся вулканов и монстров, рыщущих за добычей – именно таков ландшафт, на фоне которого GPL вынуждена выживать и приспосабливаться к вечно-изменчивому облику ПО. Тон высказываний сдержан, но ощущается некоторая снисходительность: «Разработчики, пользующиеся GNU GPL, защищают ваши права в две ступени: (1) утверждают авторское право на программное обеспечение и (2) предоставляют вам настоящую Лицензию, дающую законное право копировать, распространять и/или модифицировать данное программное обеспечение».
Два главных вражины FSF предъявлены в конце преамбулы (чтоб далее в лицензии их отдубасить): это DRM и патенты. Судите сами, вот строчки из соответствующих параграфов: «…GPL гарантирует, что программное обеспечение, находящееся под её защитой, не будет подвергнуто, и не может подвергать другое программное обеспечение, цифровым запретам, обход которых запрещён» и «…GPL объявляет, что любой патент должен быть лицензирован для всеобщего свободного использования или не лицензирован вообще». Однако!
О декодировании
(1) Исходный код
В данном разделе начинается детальный разбор прав разработчиков и пользователей. Первое замеченное отличие от версии 2 – разграничение исходного и объектного кодов, проведённое в первом параграфе первого раздела: «Понятие «исходный код» произведения [программы] означает предпочтительную форму для внесения модификаций в нее. Понятие «объектный код» означает любую форму представления программы, кроме исходного кода».
Это важно, так как разъясняет зависимость объектного кода от исходного – вещь, очевидная для большинства из нас, но не столь очевидная для большинства рядовых пользователей – и проект лицензии развивает эту мысль: если вы поставляете объектный код, то должны сделать доступным исходный, а также уведомить пользователя о его праве доступа к исходному коду. Этой политики придерживалась и вторая версии GPL, но здесь даётся точное определение, а не намёк.
Ограничение прав
(3) Система цифровых запретов Во втором разделе, «Основные полномочия», ничего нового нет, зато третий – целиком новый: в GPL2 раздел под названием «Система цифровых запретов» отсутствует.
Такое определение принято в пику корпоративному термину – «система цифровых прав». FSF понимает значение слова «права» здесь как «…пропаганда, предпринятая с целью вынудить вас рассматривать вопрос с точки зрения тех немногих, что налагают ограничения, игнорируя права множества тех, на кого ограничения налагаются». Если дерзкая замена слова «права» на «запреты» не прояснит для вас отношения FSF к DRM, то уже с первой строки третьего раздела сомнения отпадут.
«Как лицензия свободного программного обеспечения, настоящая Лицензия всячески осуждает попытки технически ограничить свободу пользователей копировать, модифицировать и распространять работы, защищённые авторским правом».
Под DRM обычно подразумевается использование цифровых ключей, встроенных в программы для предоставления определённых функций (обычно, медиа-содержимого) исключительно покупателям.
По условиям текущей версии GPL продавец может раскрыть исходный код, но не обязан раскрывать цифровые ключи. В GPL3 Столмен и Ко делают попытку заставить продавца вместе с исходным кодом приложения предоставлять исходный код генератора ключей. Слова «любое из положений лицензии должно рассматриваться в свете этого специального заявления о намерениях лицензиара» предоставляют FSF широчайшую свободу действий в достижении своих целей.
Мнение Линуса Торвальдса в отношении DRM полностью противоположно. В 2003 г. он писал в список рассылки ядра Linux: «Я считаю, что DRM нисколько не мешают Linux!». Линус хотел быть прагматичным, защищая право любого человека использовать Linux так, как он пожелает.
Но первая редакция GPL3 вызвала бурное обсуждение в том же самом списке рассылки, и Линус по-прежнему в гуще дебатов.
Выражения неточны?
(5) Распространение модифицированных версий исходных кодов
Не дав вам и дух перевести, следующий раздел принимается за ASP, упомянутых выше. Раздел 5[2], «Распространение модифицированных версий исходных кодов», вызвал почти столько же комментариев, сколько DRM, но так как формулировки в этом разделе помягче, особой поляризации мнений не произошло. FSF планирует скорее убеждать ASP-разработчиков, чем подчинять их своей воле, и стимулировать их переход на GPL3 Собственно говоря, на web-сайте FSF и во всём Интернете была высказана изрядная доза критики по поводу расплывчатости формулировок этого раздела. Например, в конце раздела (с) GPL делает попытку принудить ASP-разработчиков открыто объявлять о том, какое программное обеспечение GPL они использовали и какие изменения в него внесли: «Если интерфейс предоставляет список пользовательских команд или опций, наподобие меню, то команда отображения данной информации должна бросаться в глаза в этом списке. В противном случае, модифицированная программа должна отображать данную информацию при загрузке – за исключением случаев, когда Программа работает в интерактивном режиме и не может отображать такую информацию при загрузке».
Понятия «меню» и «загрузочный экран» могут быть истолкованы весьма широко. Не нужно быть юристом, чтобы найти множество способов уклониться от предоставления информации об используемом чужом программном коде.
Далее в этом разделе проект пытается ещё более ограничить поставщиков, использующих чужой код: «…если вы распространяете эти программы в сочетании с защищённым (Лицензией) программным обеспечением, независимо от формы сочетания, то вся совокупность должна подчиняться настоящей Лицензии, чьи правила должны быть распространены на всю программу, и, следовательно, на любую её часть».
Другими словами, если вы выполняете приложение GPL3 через сеть, то должны предоставить не только исходный код, но и все модификации, предпринятые для расширения функциональности. Это должно помочь фирмам, обеспокоенным возможным использованием раскрытого исходного кода конкурентами и возможными модификациями без ведома первичного правообладателя.
О патентах
(6) Распространение без исходного кода
Проект лицензии охватывает распространение без исходных текстов, и условия лицензии в основном те же, что в разделе 3 второй версии, с одним существенным отличием. Тут, наконец, в предпоследнем параграфе, выступает на сцену второй враг FSF: «Распространение сопутствующих исходных кодов в соответствии с этим разделом должно осуществляться в общедоступном формате, не быть обременено патентом,и не должно требовать специального пароля или ключа для распаковки, просмотра или копирования».
Не обременено патентом? Гораздо проще записать это в проекте документа, чем выполнить для любой разработки с открытым исходным кодом; но формулировка не означает, что вы должны выискивать, не нарушает ли ваша работа чьих-либо патентов – это принимается как данность.
В документе, разъясняющем многие изменения в новом проекте, FSF пишет, что у неё нет желания проводить столь же жёсткую политику против патентов, как против DRM.
Смелый шаг
(11) Лицензирование патентов
Фактически FSF хочет добиться, чтобы вы включали в исходный код разрешения использовать сопутствующие патенты. Это мощный шаг вперёд, его детали уточняются в разделе 11, где разработчикам предлагается обеспечить лицензию на любые патенты, которые могут потребоваться для работы с программным обеспечением «… любому, получившему любую версию программы, предоставлять, для любых версий защищаемой (Лицензией) программы, в полном объёме все виды деятельности, разрешённые или подразумеваемые настоящей Лицензией, такие, как инсталляция, эксплуатация и распространение экземпляров программы и использование её результатов».
Основное желание FSF – добиться вашего отказа от контроля, если вы владеете патентом на существенную часть функциональности в любом исходном коде программы, которую вы распространяете под GPL-3. «Данная патентная лицензия неэксклюзивная, не подразумевающая отчислений и всемирная, и распространяется на все патенты, которыми вы обладаете или на которые обладаете правом сублицензирования, на момент распространения защищаемой программы или в будущем».
Если вы подумали, что таким образом GPL хочет дистанцироваться от исходного кода и любых проблем с патентами, вы окажетесь правы. Патентные тяжбы становятся прибыльным бизнесом, и очень важно уберечь свободное ПО от погружения в трясину судебных разбирательств.
Последний параграф 11 раздела предельно проясняет суть дела. «Если вы распространяете защищаемую программу, заведомо связанную с лицензией на патент, то вы должны принять меры для защиты пользователей программы от возможных юридических преследований, от которых ваша лицензия защищает вас». Это выглядит переложением ответственности за судебные преследования на распространителя. Применительно к Linux это могут быть, например, Red Hat или Novell, но они уже сейчас предоставляют подобные юридические гарантии.
Драчка!
Что же в новом проекте не нравится Линусу? Его последний протест, направленный в список рассылки ядра Linux, касается той самой строчки в разделе 6, о том, что исходный код не должен требовать «специального пароля или цифрового ключа для распаковки, просмотра или копирования».
Вот слова Линуса: «Я считаю безумием требовать от людей опубликовать свои секретные ключи, например. Я не могу на это пойти. И я сомневаюсь в том, что конверсия GPL3 коснётся ядра, так как лично я не собираюсь перелицензировать свои коды».
Как известно, отношение Линуса к вопросу DRM в GPL3 многим показалось неправильным, но сомнений нет – переход ядра Linux под GPL3 может состояться только в случае значительного смягчения позиции, занятой авторами в отношении DRM.
Позже Линус уточнил свою позицию – DRM должны регулироваться медиа-лицензией, так как они касаются музыки, а не программного обеспечения. «Причина, по которой GPL2 оказалась столь успешной в противостоянии с авторскими правами ограничительного типа, заключается в том, что она делала доступным «интересный материал» на условиях, которые запрещали ограничения доступа к нему в дальнейшем… Я считаю, что тема анти-DRM гораздо ближе к лицензиям Creative Commons (CC), чем к лицензиям на ПО».
Любопытно, что Линус ввел в дебаты тему СС-лицензий, если учесть, что в февральском интервью Столмен отверг их все…
Ваше слово
Теперь у вас наверняка сложилось мнение о важнейших аспектах первого чтения новой GPL и некоторых наиболее спорных её вопросах. Если вы серьёзно настроены принять участие в обсуждении GPL3, обратите внимание на те разделы, которых мы здесь не коснулись, включая раздел 8 (Прекращение действия), раздел 9 (Не контракт) и раздел 12 (Свобода или смерть программы).
В FSF хотят, чтобы перемены, предлагаемые в новой версии, со всеми мыслимыми последствиями и политическими уклонами, обсуждались в кафе и столовках, на электронных досках объявлений и в списках рассылок Сообщества свободного ПО. На сайте FSF GPL3 (http://gplv3.fsf.org) можно найти исчерпывающие сведения по данному вопросу и страничку для комментариев по поводу различных аспектов первой редакции. Страничка эта сделана весьма хитроумно: цвет фона отдельных слов или предложений лицензии меняется по мере накопления примечаний к ним – от бледно-жёлтого у мало комментируемых мест, через красный до чёрного. Пестрее всех, естественно, разделы о DRM.
Если вас не устраивает направление, в котором движется GPL-3 – выскажите своё мнение. Комментарии будут обсуждены и приобщены к делу. Пусть Сообщество узнает вашу точку зрения – еще не поздно все изменить!
ЧТО ГОВОРЯТ В СООБЩЕСТВЕ
Разработчики свободного ПО могут остаться и с GPL 2, если захотят. Итак – кто за старую версию, а кому больше нравится GPL 3?
Решение команды ядра Linux пока не принято и, как мы обсудим на стр. 55, разработчики вполне могут остаться на 2-й версии. Ядро может вообще не перейти на GPL 3, если FSF не смягчит своё отношение к DRM. Однако другие проекты не столь категоричны.
Отзывы команды Debian – общепризнанного ценителя свободы ПО – чрезвычайно позитивны. Брэнден Робинсон (Branden Robinson), лидер проекта Debian, сказал: «Изменения, большие и малые, впечатляют. Короче, мне это нравится». Слышны и другие одобрительные голоса, включая весьма неожиданный от Sun Microsystems, о возможности издания её почтенной ОС Solaris по GPL 3. Джонатан Шварц (Jonathan Schwartz), президент Sun, записал в своём сетевом дневнике: «…нам нужно сделать всё возможное для эффективного взаимодействия между Linux и OpenSolaris. (Зачем изобретать велосипед с технологиями вроде DTrace и ZFS – или Grub и Xen?)». Возможность включения технологий Solaris в другие проекты GPL 3 – несомненно, весомое приобретение, это серьёзный повод для Линуса подумать о переходе на новую лицензию.
Труд разработчиков зависит от инструментов, которыми они пользуются, но пока рано говорить, перейдут ли проекты вроде Qt на GPL3. В данный момент трудно понять, как Qt, доступную на множестве частных и встроенных платформ, можно совместить с жёсткой позицией, занятой в отношении DRM и патентов.
Диапазон программ, распространяемых по новой лицензии, не особо изменится. Пользователи будут надёжнее защищены от лицензионных судебных тяжб (вспомните случай с SCO), но могут столкнуться с трудностями в получении мультимедиа-проигрывателей, доступных в других ОС. Будем реалистами – пользователи не собираются отказываться от HD-DVD или Blue-ray только потому, что FSF считает их подрывом свободы. Это всё равно, что стоять зимой на улице, когда ваши друзья в домашнем тепле наслаждаются просмотром трилогии «Звёздные войны» в версии с высоким разрешением.
В GPL3 – ЧЕРЕЗ ПИВНУЮ
Вам не до всяких там лицензирований? Помните: именно сейчас обсуждаются три ключевых вопроса…
- Система цифровых прав/запретов
Действие DRM основывается на зашифрованном компоненте для определения персональных прав пользователя. В основном DRM используются в загружаемых музыкальных файлах, когда ваши личные данные в зашифрованном виде заносятся в сам файл, в плейер и компьютер.
FSF и Ричард Столмен считают этот метод контрпродуктивным и хотят убедить разработчиков ПО никогда не использовать DRM в GPL-коде. Они планируют добиться этого требованием предоставить «…любые шифровальные или авторизационные коды, необходимые для инсталляции и/или эксплуатации исходного кода программы», как указано в первом разделе проекта GPL3. То есть если разработчики используют шифрование для обеспечения DRM в своих приложениях, то обязаны также публиковать исходные коды генераторов цифровых ключей.
В результате каждый сможет создать собственные ключи, что сильно затруднит применение DRM. Это может нанести ущерб Linux-компаниям вроде Tivo, которые, соблюдая требования телекомпаний, работают с зашифрованным ТВ- контентом.
- Патенты
Отношение к патентам более терпимое, но если разработчик обладает патентом на программу, лицензируемую под GPL-3, то должен безоговорочно передать патентную лицензию любому обладателю любого экземпляра программы.
Это требование сохраняется для любой версии, модифицированной или полученной из кода-оригинала в любой точке мира. Дистрибьюторам напоминается о необходимости принять меры к защите пользователей от возможных судебных преследований.
- ASP
В случае публикации своих исходных кодов по GPL2, поставщики услуг типа Amazon и Google рискуют потерей конкурентоспособности. Их соперники смогли бы безнаказанно модифицировать исходные коды, так как пользователи сетевых приложений, в сущности, загружают исходные коды через браузеры. GPL3 пытается заделать эту брешь, требуя предоставлять информацию об авторе исходного кода и упрощая для пользователя процесс загрузки приложения целиком.