Журнал LinuxFormat - перейти на главную

LXF95:В защиту GPL3

Материал из Linuxformat
Перейти к: навигация, поиск
    В защиту GPL 3 Предложения по GPL 3 не раз попадали под огонь критики. Но Пол Хадсон, побеседовавший с Ричардом Столлмэном и Брюсом Пиренсом, считает, что ее нужно поддержать.



    «GPL нарушает принцип Наполеона: никогда не мешай своему врагу совершать ошибку»

Эрик Рэймонд



    Критиков GNU GPL хватает как внутри сообщества, так и вне его. Но благодаря GPL у нас есть ядро Linux и инструменты GNU. Восемь из десяти самых загружаемых приложений на SourceForge лицензированы GPL. Ее же применяют около 66% проектов на Freshmeat, 68% проектов на SourceForge, 40% приложений из стандартной установки Fedora и десятки других известных проектов, среди которых MySQL, Qt, Gimp, Inkscape, Scribus, KDE и Evolution.
    Так зачем же нам новая лицензия?
    Когда Free Software Foundation (FSF) готовила масштабные изменения к GPL 2 в виде GPL 3, многие наблюдатели решили, что организация «сеет смуту», в лучшем случае – добавляющую забот небольшим проектам, а в худшем – привносящую политику и устаревающие со временем технологические аспекты в простую лицензию, которая служит сообществу почти 20 лет. «Когда была написана лицензия GPL», отмечает легенда Debian и обозреватель открытого ПО Брюс Пиренс, «не было Интернета, музыку записывали на пластинки, видео – на пленку, а вместо DRM были примитивные программные средства защиты от копирования». У критиков найдется что на это возразить? Разве не время спросить, насколько новая лицензия будет полезной сообществу?
    На самом деле, Пиренс считает почтенный возраст GPL недостатком, а не достоинством. Как и я, он является сторонником GPL 3. Я считаю, что важные поправки в GPL 3 дают ей большой потенциал, и она может поддержать сообщество и гарантировать его будущее так, как никогда не смогла бы её предшественница.

Содержание

Драматические изменения


    «Самый частый протест против GPL 3, который я слышу: «GPL 2 и так неплоха!» Но GPL никогда не была автономной лицензией. Она всегда зависела от интерпретации авторского права на местах и других законов, которые придавали ей силу. Все это со временем изменилось»

Брюс Пиренс


    Прошло полтора года с того дня, когда я встречался с Эбеном Могленом [Eben Moglen], чтобы обсудить планы по созданию и утверждению GPL 3 (тогда он был генеральным юрисконсультом FSF). Он думал, что FSF просто введет в действие новую лицензию в начале 2007 года после двенадцати месяцев публичного обсуждения и критики. Сейчас начало июня, а окончательной редакции GPL 3 все еще нет [GPL 3 увидела свет 29 июня 2007 года, – прим. ред.]. Но, вообще говоря, запаздывание составляет несколько месяцев, и с учетом объемности обсуждений GPL 3 это не так уж плохо. Фундаментальная цель Столлмэна «защитить свободу каждого пользователя» не изменилась – изменились лишь методы обеспечения этой защиты. Вот основные положения:

  • Ни одно из лицензированных по GPL 3 произведений не может быть «эффективной технологической мерой» для запрета доступа к данным в соответствии с определением DMCA [Digital Millennium Copyright Act, Закон о защите авторских прав в цифровую эпоху, 1998, – прим. перев.], EUCD [European Union Copyright Directive, Европейская директива о защите авторских прав, 2001, – прим. перев.] и другими международными соглашениями. Дистрибутивы GNU/Linux имеют давнюю проблему с чтением DVD-дисков, потому что последние защищаются системой CSS (Content Scramble System). И хотя взломать CSS было очень просто, она классифицируется как эффективная технологическая мера для защиты содержимого диска от копирования, и действия по ее взлому незаконны во многих странах. GPL 3 решает эту проблему так: «передавая охраняемое произведение, вы отказываетесь от всех юридических прав запретить обход технологических мер» – например, вы не можете использовать программу, лицензированную по GPL 3, чтобы запретить пользователям доступ к содержимому DVD-дисков и других носителей.
  • Не должно накладываться никаких ограничений на изменение продуктов GPL 3. Телевизионная приставка TiVo, управляемая GNU/Linux, содержит аппаратный механизм, проверяющий цифровую подпись TiVo в ядре Linux перед запуском устройства. Таким образом, мы можем изменить исходный код ПО приставки (ядра Linux), но не сможем использовать модифицированное ПО, так как оно не содержит цифровой подписи TiVo. Одной из целей GPL 3 является запрет этой так называемой «тивоизации» с помощью требования, согласно которому при изменении любого лицензированного по GPL 3 компонента системы остальные DRM-механизмы не должны препятствовать ее работе.
  • Наконец-то включены патенты на ПО. Каждый, кто вносит свой вклад в программу, должен предоставить «неэксклюзивную всемирную и безвозмездную патентную лицензию на существенные патентные притязания в сделанном вкладе, регулирующую производство, использование, продажу, предложение о продаже, импортирование и другое применение, изменение и распространение этого вклада». На первый взгляд каждый, кто изменит одну строку кода, должен предоставить лицензию лишь на те патенты, которые затрагивает эта строка, но в другом разделе GPL 3 говорится: «Вы должны лицензировать произведение полностью, как единое целое». Это означает, что при изменении исходного кода вы фактически создаёте собственную версию, копируете 99% продукта у исходных разработчиков, а затем добавляете свой код. Все это становится вашим собственным произведением и подпадает под действие положения о патентах. Никаких соглашений о патентной защите по типу Microsoft и Novell в будущем. Этот раздел новой лицензии вызывает самые ожесточенные споры. Отчасти потому, что соглашение Microvell полностью соответствует условиям GPL 2 (хотя и противоречит ее духу), отчасти из-за того, что пока – по крайней мере, на момент написания статьи – не решено, датировать ли лицензию так, чтобы все сделки по типу Microvell были недействительными или же установить некий стартовый момент и, таким образом, «выгородить» Novell. Эта часть лицензии является наиболее важной. Как сказал мне Ричард Столлмэн: «С помощью GPL 3 мы пытаемся спасти свободное ПО от судьбы, которая хуже смерти: стать фактически несвободным за счет владельца патента, который заставляет пользователей платить за использование прав, которые им дает GPL».

    Включение этих важных изменений значительно увеличило размер лицензии: если в GPL 2 менее 3000 слов, то в GPL 3 – 5324 слова. И далеко не все согласны с данными изменениями.

Противники


«Я не думаю, что мы должны препятствовать попыткам GPL сделать открытое ПО проприетарным, это окажется вредным нам самим и глупым»

Эрик Рэймонд

    Заметная часть критики в адрес GPL 3 исходит от сообщества разработчиков ядра Linux. Особенно усердствовал Линус Торвальдс [Linux Torvalds]. Во всем этом есть доля иронии, поскольку сложно говорить, что Linux лицензирован только по GPL, хотя в его коде и утверждается обратное. Моглен сказал мне, что у него есть «ясное ощущение, что лицензия ядра Linux – это не GPL и только GPL. Тому есть две причины. Во-первых, за время жизни ядра предлагались различные методы включения исправлений и взаимодействия с двоичными модулями – но разработчики не пытались прибегнуть к GPL. Я рассматриваю это как попустительство к действиям, которые можно было запретить.
    Кроме того, в ядре есть GPL-символы и механизм связывания (taint), так что технически API подсказывает существование двух типов несвободных модулей: допустимых и недопустимых.»
    Частично, данная проблема возникает потому, что немногие знают, чего нельзя, и что можно. В результате бинарные модули ядра отделяются от дистрибутивов, и пользователи должны устанавливать их сами. Например, код драйвера Nvidia компонуется с GPL-ядром, что идет вразрез с условиями GPL 2. Как заметил Брюс Пиренс, «Линус сказал много непонятных слов об этой проблеме, но ни одно из них не может считаться юридическим оправданием подобной практики. Каждый раз, когда он говорит что-то новое по данной теме, он еще больше запутывает дело. Я думаю, некоторое время назад он это понял и остановился».
    Если ядро могло стать настолько успешным без буквального следования стандартной интерпретации GPL 2, то зачем нужна GPL 3?
    Вы можете даже спросить, какой вообще смысл в лицензии, если разработчики ядра не придерживаются единого мнения относительно компоновки свободного кода с несвободными модулями?
    Опрос, проведенный в сентябре 2006 года среди 29 лиц, внесших наибольший вклад в ядро Linux, показал, что 28 из них против перехода на GPL 3. Двадцать девятый воздержался. По мнению двадцати трех из этих двадцати девяти, GPL 3 гораздо хуже GPL 2, потому что уничтожает всякую возможность движения. Грег Кроа-Хартман [Greg Kroah- Hartman], также принимавший участие в опросе, дал лицензии оценку «-3». Вот как он прокомментировал эту оценку: «Я бы не стал применять v3 (она в самом деле мне не нравится, и моя компания имела бы большие проблемы, разрешив мне попользоваться ее черновиком)». Когда я спросил его мнения о результатах голосования, он сказал: «Основной вывод, который я хотел бы подчеркнуть: многим нравится положение о DRM, а некоторые даже считают, что публиковать ключи необходимо и в рамках GPL 2, но они уверены, что технологические спецификации нельзя включать в официальный документ, который должен прослужить не один год».
    Таким образом, для Кроа-Хартмана проблема в том, что DRM нет места в GPL, а не в том, что положение о DRM – это плохо. Похоже, Торвальдс придерживается того же мнения, хотя выражает его более резко: «В моем мировоззрении нормально, что другие люди делают глупости. Можно сожалеть об этом, но, в конце концов, это их выбор».

Microsoft и Novell


Дрожащие корпорации

Недавно TiVo и Novell составили свои годовые отчеты для USSEC (Комиссии США по ценным бумагам и биржам). Обе компании отметили, что принятие GPL 3 может вызвать проблемы в будущем. В части, TiVo утверждает: «Если предложенная на настоящий момент версия будет принята, мы можем потерять возможность включать операционную систему GNU/Linux в наше программное обеспечение, что неблагоприятно отразится на нашем бизнесе». Novell беспокоит то, что ее соглашение с Microsoft может оказаться под угрозой, потому что MS не станет гарантировать патентную неприкосновенность GPL-проек- тов. Нет, мне не жаль ни одну из этих компаний. Напротив, хорошо, что GPL 3 оказывает запланированное действие.

Эрик Рэймонд

«Novell и Microsoft создали лазейку в законе. FSF может милостиво согласиться препятствовать применению подобных соглашений к ПО, лицензированному по GPL 3, лишь после мая 2007 года, что позволит Novell распространять программы, использующие GPL 3»

Брюс Пиренс

    Ненадолго отложив DRM в сторону, мы находим в GPL 3 другой спорный вопрос, отстоять который будет еще сложнее: должны ли допускаться соглашения, подобные Microsoft и Novell? Просто чтобы освежить вашу память, напомню, что по этому договору Microsoft, среди прочего, обеспечивает защиту клиентов Novell от патентных тяжб со своей стороны в обмен на процент от продаж ПО Novell с открытым исходным кодом. И какие бы доводы не приводила Novell, очевидно, что Microsoft использует это соглашение, чтобы сказать потенциальным потребителям GNU/Linux: выбирайте Novell, если не хотите столкнуться с правовыми проблемами в будущем. По существу, это делает лицензированное по GPL ПО менее свободным, поскольку вы вынуждены использовать решения Novell, если хотите избежать беспокойства.

Исполнительный директор Microsoft Стив Баллмер на ежегодной конференции Национальной федерации розничной торговли в 2001 году назвал Linux «раком интеллектуальной собственности, который прилипает ко всему, чего касается». С того времени Microsoft выпустила набор сервисов Microsoft Windows Services for Unix, содержащий GPL лицензированный код.

    Здесь есть одно препятствие: соглашение между Novell и Microsoft полностью соответствует условиям GPL 2, а FSF не хочет, чтобы оно соответствовало GPL 3. В окончательной редакции лицензии будет пункт, запрещающий подобные соглашения, но он датирован и относится только к договорам, заключенным после появления GPL 3 [фактически, 28 марта 2007 года, – прим. ред.]. Это означает, что договор между Novell и Microsoft сохраняет свою силу.
    Но даже если компании, использующие такие соглашения, явно исключаются из правового поля новой лицензии, это не означает ничего хорошего для остальных фирм. Поскольку FSF владеет авторскими правами на значительную часть любого дистрибутива GNU/Linux, она может изменить лицензию для этого ПО так, как посчитает нужным. GPL 3 же явным образом нацелена на две компании, хотя их действия полностью легальны. Я не говорю, что согласен с ними, но могут ли компании, которые планируют использовать GPL-лицензированное ПО, быть уверенными в том, что FSF в очередной раз не изменит лицензию, потому что ей не понравятся их действия? Хотя третья редакция GPL обошла стороной соглашение между MS и Novell, другим фирмам может так не повезти. Должна ли возможность изменения лицензии беспокоить компании? Столлмэн так не считает: «Зачем отказываться от использования GPL 3 только потому, что вам может не понравиться GPL 4?». «Это как сжечь свой дом из-за боязни, что пожар может случиться в следующем году».

Сражаясь за GPL


    «Принимая во внимание неумение FSF изящно признать победу, я, честно говоря, думал, что разработка третьей версии превратится в мрачный оппозиционализм»

Эрик Реймонд

    DRM, патентные соглашения и компоновка с бинарными модулями противостоят GPL, и у FSF могут возникнуть проблемы с ее продвижением в ряде областей. Однако, вопреки ожиданиям Рэймонда, FSF оказалась удивительно отзывчивой организацией. На ранних стадиях обсуждения были внимательно выслушаны мнения всех заинтересованных сторон, и в более поздних редакциях FSF старалась пойти на уступки.
    На самом деле, у некоторых из названных проблем есть решения. Хотя DRM нельзя реализовать в GPL-программах, все еще есть четыре области, где его использование законно. И, по мнению Пиренса, именно они являются «лучшими, более безопасными и надежными, независимо от лицензии». Сюда относится аппаратное обеспечение, сопроцессор, микроядро, которое управляет настоящим ядром и программы, работающие в режиме пользователя. Если ядро Linux будет переведено на GPL 3, использование DRM в любом из этих мест будет полностью законным. Однако производители ПО приняли эти методы с большой неохотой даже для GPL 2. Например, многие антивирусы требуют установки двоичных модулей ядра, хотя это и не обязательно для решения их задач. Конечно, если люди сознательно нарушают GPL 2, то почему с выходом третьей версии что-то должно измениться?
    Другая проблема, которую следует упомянуть, связана с переводом существующего кода на GPL 3. В большинстве проектов, лицензированных по GPL 2, используется формулировка «вторая версия Лицензии или более поздняя версия по Вашему выбору». Но на практике разработчикам не так-то просто перейти со второй версии на третью, поскольку это требует согласия всех авторов исходного кода проекта. Один из самых крупных GPL-проектов – ядро Linux – может потребовать множества усилий. Доктор Джеймс Боттомли [Dr James Bottomley], один из основных участников проекта, говорит об этой задаче как о «практически невыполнимой». Ларс Линднер, [Lars Lindner] один из разработчиков Liferea, признает, что его проект не перейдет на GPL 3 именно из-за перспективы связи с каждым участником и получения его согласия на принятие новой лицензии. Итак, означает ли это, что ядро Linux и другие проекты навсегда связаны с GPL 2 просто потому, что очень трудно опросить всех разработчиков? Нет – мы можем пойти другим путем и переписать эти участки кода самостоятельно. «Изменить лицензию гораздо проще, чем думают многие, – утверждает Пиренс. – Разработчики ядра никогда не отказывались от замены кода там, где это необходимо, и никогда не медлили с работой. Неважно, каков был ее объем. Достаточно посмотреть на замену BitKeeper’а Git’ом: огромная работа, которая потребовала полного переписывания кода и, тем не менее, была завершена за 5 недель. Таким же образом можно поработать и над кодом, принадлежащим противникам GPL 3».

Переход


«Добровольные разработчики не хотят быть бесплатными сотрудниками некой проприетарной компании»

Брюс Пиренс


    Никто до конца не уверен, какие программы будут переходить на GPL 3, а какие нет. Похоже, проекты FSF, такие как GCC и Bash, перейдут на GPL 3 вскоре после выхода ее окончательной версии, в то же время другие проекты еще нужно убеждать это сделать [во время подготовки русскоязычной версии этой статьи стало известно, что Samba 3.2 и выше будет распространяться по GPL 3, – прим. ред.]. Если Пиренс и другие правы в том, что код можно переработать, то руководителей проектов можно было бы склонить к этому решению. Им действительно нравится GPL 3, и они хотят выпускать ПО под этой лицензией. Даже Эрик Рэймонд [Eric Raymond], решительный противник GPL вообще, считает, что лучше предотвратить раскол GPL 2/3. «Думаю, что у GPL 3 есть возможность быть более подготовленной, чем GPL 2, – говорит он. – Если мы собираемся использовать copyleft [по определению FSF, «основной метод, позволяющий сделать программы или другие работы свободными», см. www.gnu.org/copyleft, – прим. ред.], механизм этого процесса должен быть продуман как можно лучше, а сообщество – быть максимально сплоченным» Разработчик Liferea Ларс Линднер сказал мне: «Для совершенно новых проектов я бы использовал GPL 3». Похожий ответ я получил от Доминика Маззони [Dominic Mazzoni] из команды разработчиков Audacity: «Мы не собираемся изменять лицензию Audacity, потому что не запрашивали у разработчиков передачу авторских прав. Вряд ли мы сможем связаться со всеми, и даже если сможем, я уверен, что один-два будут против использования GPL 3... А вообще я думаю, что GPL 3 будет успешной, ее могут принять от половины до двух третей всех проектов, лицензированных сейчас по GPL 2.»
    Итак, треть проектов продолжит использовать GPL 2 либо потому, что они не могут сменить лицензию на GPL 3, либо из-за несогласия с какой-то ее частью. Например, Джеймс Боттомли говорит: «Условия антитивоизации с философской точки зрения противоречат моему взгляду на открытое ПО». Другие же проекты хотят посмотреть, на что будет похожа финальная версия лицензии. Марк Хинкл [Mark Hinkle], вице-президент по развитию бизнеса и связям с сообществом в компании Zenoss, создателе очень популярного инструмента управления Zenoss Core, говорит: «Мы пристально следим за тем, когда выйдет финальная версия GPL 3... Однако, как участники сообщества, мы стремимся максимально дополнять другие проекты, которые мы поддерживаем и используем, а также принимать решения, оптимальные для наших клиентов».

    GPL – это лицензия-вирус? Ричард Столлмэн так не считает: «Программа не может подхватить GPL, просто находясь на одном компьютере с другой программой, которая использует GPL, – говорит он. – GPL действует лишь когда вы используете защищенный этой лицензией код как часть большой объединенной программы. Вместо того, чтобы называть GPL «вирусом», нужно называть ее «похожей на мухоловку» (spiderplant- like)». [мухоловка – хищное насекомоядное растение, прим.ред.]

    Это означает, что Zenoss Core может просто продолжить использовать GPL 2, если не будет убедительных причин менять версию. И это очень грустно, потому что показателем успеха GPL 3 будет число проектов, которые перейдут на нее – не из желания поддержать, а по практическим соображениям. Главное различие между GPL 3 и GPL 2 в том, что шансы первой на успех тем больше, чем больше людей ее выбирают.

    Я считаю, это самый сильный довод в пользу широкого распространения GPL 3. Если никто за пределами FSF не будет использовать GPL 3, тогда ее пункты о патентах будут бесполезными, ее положения против DMCA будут проигнорированы и ничего не изменится. Чем больше людей внесут свой вклад в проекты, лицензированные по GPL 3, тем больше программ будут защищены новыми пунктами о патентах и тем безопаснее мы сможем себя чувствовать. Да, переход на эту лицензию сложно осуществить, но взамен этой работы мы получим гарантированную свободу ПО на годы вперед – GPL 2 могла только обещать эту свободу при некоторых условиях. За это несомненно стоит бороться! LXF
Персональные инструменты
купить
подписаться
Яндекс.Метрика