GPL v.3: различия между версиями
>Asp (-история) |
>Asp |
||
Строка 11: | Строка 11: | ||
повторяет “GPL FAQ”, полуофициальный документ, содержащий | повторяет “GPL FAQ”, полуофициальный документ, содержащий | ||
толкование и разъяснение GPL ее авторами. | толкование и разъяснение GPL ее авторами. | ||
− | |||
− | |||
Текст стал, как и обещалось, стал много понятнее. Изменены | Текст стал, как и обещалось, стал много понятнее. Изменены | ||
Строка 20: | Строка 18: | ||
своим подзаголовком. Полтора десятилетия ответов на глупые вопросы | своим подзаголовком. Полтора десятилетия ответов на глупые вопросы | ||
пользователей не прошли для FSF даром. | пользователей не прошли для FSF даром. | ||
− | |||
− | |||
этого, однако, нельзя сказать о частях GPL3, устанавливающих | этого, однако, нельзя сказать о частях GPL3, устанавливающих | ||
Строка 29: | Строка 25: | ||
изменений посвящена кодификации того, что и прежде считалось | изменений посвящена кодификации того, что и прежде считалось | ||
общепринятым, а теперь вот еще и официально закреплены. | общепринятым, а теперь вот еще и официально закреплены. | ||
− | |||
− | |||
== Личное использование == | == Личное использование == | ||
− | |||
− | |||
− | |||
GPL3 делает различие между “распространением”, при | GPL3 делает различие между “распространением”, при | ||
Строка 47: | Строка 38: | ||
на практике и сейчас никто не задумывается о необходимости, скажем, | на практике и сейчас никто не задумывается о необходимости, скажем, | ||
копировать исходные тексты программ на каждую рабочую станцию. | копировать исходные тексты программ на каждую рабочую станцию. | ||
− | |||
− | |||
== Совместимость == | == Совместимость == | ||
− | |||
− | |||
− | |||
Раздел 7, “Совместимость лицензий” водит целую систему | Раздел 7, “Совместимость лицензий” водит целую систему | ||
Строка 61: | Строка 47: | ||
могут быть какие угодно(что и раньше практиковалось, в том числе и | могут быть какие угодно(что и раньше практиковалось, в том числе и | ||
самим FSF), ограничения же должны быть одного из пяти типов: | самим FSF), ограничения же должны быть одного из пяти типов: | ||
− | |||
− | |||
* a)Требование делать некоторые предупреждения юридического и | * a)Требование делать некоторые предупреждения юридического и | ||
информационного характера. Например, об авторстве программы. | информационного характера. Например, об авторстве программы. | ||
− | |||
* b)Заявления об отказе от гарантий может быть сформулировано | * b)Заявления об отказе от гарантий может быть сформулировано | ||
иными словами, чем в самой GPL. | иными словами, чем в самой GPL. | ||
− | |||
* c) Запрет на упоминание определенных имен (торговых марок)в | * c) Запрет на упоминание определенных имен (торговых марок)в | ||
рекламе. | рекламе. | ||
− | |||
* d) Требование, чтобы программа имела функцию, позволяющую | * d) Требование, чтобы программа имела функцию, позволяющую | ||
пользователю получить ее исходный код. | пользователю получить ее исходный код. | ||
− | |||
* e)Допустимы также некоторые ограничения, касающиеся | * e)Допустимы также некоторые ограничения, касающиеся | ||
патентных войн. Подробности - ниже. | патентных войн. Подробности - ниже. | ||
− | |||
− | |||
Практически это означает, что GPL3 становится совместим с | Практически это означает, что GPL3 становится совместим с | ||
лицензиями таких важных свободных программ, как [[XFree86]], [[OpenSSL]], | лицензиями таких важных свободных программ, как [[XFree86]], [[OpenSSL]], | ||
[[Eclipse]], [[Apache]]. | [[Eclipse]], [[Apache]]. | ||
− | |||
Специальные усилия были приложены чтобы добиться совместимости | Специальные усилия были приложены чтобы добиться совместимости | ||
с вызвавшей немало споров лицензией Affero GPL (пункт d)), хотя на | с вызвавшей немало споров лицензией Affero GPL (пункт d)), хотя на | ||
мой взгляд оно того не стоило. | мой взгляд оно того не стоило. | ||
− | |||
− | |||
== Софтверные патенты == | == Софтверные патенты == | ||
− | |||
− | |||
− | |||
Большое внимание GPL3 уделяет борьбе с [[софтверные патенты|софтверными | Большое внимание GPL3 уделяет борьбе с [[софтверные патенты|софтверными | ||
Строка 101: | Строка 73: | ||
как временное и случайное извращение. Сейчас - это опасность, | как временное и случайное извращение. Сейчас - это опасность, | ||
заботящая большинство программистов во многих странах мира. | заботящая большинство программистов во многих странах мира. | ||
− | |||
− | |||
Софтверными, напомню, называют такие патенты, которые | Софтверными, напомню, называют такие патенты, которые | ||
Строка 119: | Строка 89: | ||
софтверный (или какой угодно) патент. | софтверный (или какой угодно) патент. | ||
+ | По сравнению с детально проработанными патентными нормами таких новейших лицензий как [[IBM Public License]] или [[Apache Software License]] , патентная часть GPL3 выглядит набором общих фраз. Но софтверные патенты - сущность противоречивая.И слишком сильно полагаться на ту или иную их рационализацию - неразумно. | ||
+ | Во первых, GPL3 подчеркивает, что в число передаваемых прав входят и любые патенты связанные с программой, и что, следовательно, всякий, кто распространяет программу, опираясь на GPL, отказывается от всяких патентных претензий по поводу всех прошлых и будущих ее версий. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | Во вторых, GPL3 разрешает делать исключения из этого правила для защиты в патентных войнах. Патентные войны ведутся по принципу “сам такой!”. Как только крупной фирме другая крупная фирма предъявляет обвинение в нарушении патента, первая фирма смотрит в своем патентном портфеле и тоже обвиняет вторую фирму в нарушении какого-нибудь патента. Той приходится сбавлять обороты и соглашаться на мировое соглашение. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Теоретики свободного софта спорят о допустимой форме “патентной контратаки” (patent retaliation): допустима ли защита от всех патентов, всех софтверных патентов, или только от патентов, затрагивающих данную программу; должна ли контратака выражаться в отмене всей лицензии или только патентной ее части. GPL придерживается консервативного подхода - сама не устанавливает никаких санкций, а только позволяет вводить их в качестве дополнительных условий, таким образом, чтобы обеспечить совместимость с наиболее важными свободными лицензиями, такие санкции практикующими. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | Теоретики свободного софта спорят о допустимой форме | ||
− | “патентной контратаки” (patent retaliation): допустима ли защита | ||
− | от всех патентов, всех софтверных патентов, или только от | ||
− | патентов, затрагивающих данную программу; должна ли контратака | ||
− | выражаться в отмене всей лицензии или только патентной ее | ||
− | части. GPL придерживается консервативного подхода - сама не | ||
− | устанавливает никаких санкций, а только позволяет вводить их в | ||
− | качестве дополнительных условий, таким образом, чтобы обеспечить | ||
− | совместимость с наиболее важными свободными лицензиями, такие | ||
− | санкции практикующими. | ||
Строка 162: | Строка 104: | ||
== DRM/TC == | == DRM/TC == | ||
− | Другая угроза свободному софту - DRM/TC | + | Другая угроза свободному софту - [[DRM]]/TC |
DRM - Digital Restrictions Management - это, грубо говоря, | DRM - Digital Restrictions Management - это, грубо говоря, | ||
Строка 181: | Строка 123: | ||
принципиально несовместим со свободным софтом. | принципиально несовместим со свободным софтом. | ||
− | ТС - Treacherous Computing - DRM, встроенный в компьютер на | + | ТС - Treacherous Computing - DRM, встроенный в компьютер на уровне железа, таки образом, что запустить на нем можно только софт, подписанный обладателем секретного цифрового ключа. Много шуму вызвало DRM/TC видеоплейера [[TiVo]] где в качестве софта использовался Линукс. Требования GPL2 соблюдались, исходные тексты были предоставлены - но без |
− | уровне железа, таки образом, что запустить на нем можно только | + | секретного ключа они совершенно бесполезны, ни изменить, ни просто перекомпилировать их бинарники невозможно. |
− | софт, подписанный обладателем секретного цифрового ключа. Много | ||
− | шуму вызвало DRM/TC видеоплейера | ||
− | TiVo где в качестве софта использовался Линукс. Требования | ||
− | GPL2 соблюдались, исходные тексты были предоставлены - но без | ||
− | секретного ключа они совершенно бесполезны, ни изменить, ни просто | ||
− | перекомпилировать их бинарники невозможно. | ||
Соответственно, в GPL3 появилось уточнение, что “Полный | Соответственно, в GPL3 появилось уточнение, что “Полный | ||
Строка 217: | Строка 153: | ||
под GPL2 и только под ней. | под GPL2 и только под ней. | ||
− | + | Второй пункт касается толкования действующей GPL2. А вот первый, несмотря на | |
− | Второй пункт касается толкования действующей GPL2 | ||
− | |||
всю резкость его формулировки, действительно затрагивает большую | всю резкость его формулировки, действительно затрагивает большую | ||
проблему с анти-DRM ными нормами GPL3. | проблему с анти-DRM ными нормами GPL3. | ||
− | |||
Дело в том, что возможность выполнения программы - это, вообще | Дело в том, что возможность выполнения программы - это, вообще | ||
Строка 231: | Строка 164: | ||
автору контроля над выполнением его программы - а только над | автору контроля над выполнением его программы - а только над | ||
распространением и копированием. | распространением и копированием. | ||
− | |||
Обсуждалась, например, анекдотическая возможность вытягивания | Обсуждалась, например, анекдотическая возможность вытягивания | ||
Строка 240: | Строка 172: | ||
Надеюсь, что к моменту выхода окончательной версии GPL3 этот | Надеюсь, что к моменту выхода окончательной версии GPL3 этот | ||
вопрос, как и многие другие, будет как-то разрулен. | вопрос, как и многие другие, будет как-то разрулен. | ||
− | |||
== Источник == | == Источник == |
Версия от 20:20, 11 октября 2008
![]() |
Это незавершённая статья. Вы можете помочь проекту, исправив и дополнив её. |
GPL v.3 - третья версия лицензии GPL.
Общие впечатления
По сравнению с GPL2, третья версия заметно потолстела. Вместо 16 килобайт черновик занимает почти 30. Большая часть этого текста, впрочем, выглядит знакомо. Похоже, мы его уже читали, причем не один раз. Действительно, заметная часть нового текста повторяет “GPL FAQ”, полуофициальный документ, содержащий толкование и разъяснение GPL ее авторами.
Текст стал, как и обещалось, стал много понятнее. Изменены многие фразы, бывшие в прошлом поводом для двусмысленных толкований. Длинные абзацы из больших сложносочиненных фраз, характерные для GPL2, разделены на короткие тезисы, каждый - со своим подзаголовком. Полтора десятилетия ответов на глупые вопросы пользователей не прошли для FSF даром.
этого, однако, нельзя сказать о частях GPL3, устанавливающих новые нормы и принципы. Тут хватает и излишнего многословия, и косноязычия, а в паре мест и вовсе бывает затруднительно понять, что имел в виду автор. Таких мест, впрочем немного. Большая часть изменений посвящена кодификации того, что и прежде считалось общепринятым, а теперь вот еще и официально закреплены.
Личное использование
GPL3 делает различие между “распространением”, при которой пользователь копирует или передает готовые копии программы кому-нибудь другому, и личным использованием, при котором все создаваемые копии остаются в частном хозяйстве одного и того же лица. Последнее - разрешается безо всяких дополнительных условий. Учитывая, что этим лицом может быть не только программист-одиночка, но и огромная корпорация, послабление значительное. Хотя, конечно, более формальное, чем фактическое - на практике и сейчас никто не задумывается о необходимости, скажем, копировать исходные тексты программ на каждую рабочую станцию.
Совместимость
Раздел 7, “Совместимость лицензий” водит целую систему дополнительных условий - разрешений и ограничений, которые можно добавлять к GPL3 без потери совместимости с другим кодом под GPL3 же. Разрешения (дополнительные права, передаваемые пользователю) могут быть какие угодно(что и раньше практиковалось, в том числе и самим FSF), ограничения же должны быть одного из пяти типов:
- a)Требование делать некоторые предупреждения юридического и
информационного характера. Например, об авторстве программы.
- b)Заявления об отказе от гарантий может быть сформулировано
иными словами, чем в самой GPL.
- c) Запрет на упоминание определенных имен (торговых марок)в
рекламе.
- d) Требование, чтобы программа имела функцию, позволяющую
пользователю получить ее исходный код.
- e)Допустимы также некоторые ограничения, касающиеся
патентных войн. Подробности - ниже.
Практически это означает, что GPL3 становится совместим с лицензиями таких важных свободных программ, как XFree86, OpenSSL, Eclipse, Apache.
Специальные усилия были приложены чтобы добиться совместимости с вызвавшей немало споров лицензией Affero GPL (пункт d)), хотя на мой взгляд оно того не стоило.
Софтверные патенты
Большое внимание GPL3 уделяет борьбе с софтверными патентами. Во времена написания GPL2 софтверные патенты выглядеть как временное и случайное извращение. Сейчас - это опасность, заботящая большинство программистов во многих странах мира.
Софтверными, напомню, называют такие патенты, которые устанавливают исключительное право на вычислительные алгоритмы и вообще способы написания программ. Что есть довольно абсурдное дело с точки зрения классического патентного права. Как установить “уровень техники” (необходимый для определения патентоспособности изобретения), если каждая программа уникальна? Каким образом патентовладелец может преследовать издателей программ - формализованной информации о применении алгоритмов - если свободное распространение информации о патентуемых изобретениях является принципом патентной системы? Поэтому софтверные патенты не разрешены вполне (законом и судами) нигде, кроме США и, вроде бы, Японии. Но и во многих других странах легко можно, выполнив формальные требования и заплатив установленную мзду, получить софтверный (или какой угодно) патент.
По сравнению с детально проработанными патентными нормами таких новейших лицензий как IBM Public License или Apache Software License , патентная часть GPL3 выглядит набором общих фраз. Но софтверные патенты - сущность противоречивая.И слишком сильно полагаться на ту или иную их рационализацию - неразумно.
Во первых, GPL3 подчеркивает, что в число передаваемых прав входят и любые патенты связанные с программой, и что, следовательно, всякий, кто распространяет программу, опираясь на GPL, отказывается от всяких патентных претензий по поводу всех прошлых и будущих ее версий.
Во вторых, GPL3 разрешает делать исключения из этого правила для защиты в патентных войнах. Патентные войны ведутся по принципу “сам такой!”. Как только крупной фирме другая крупная фирма предъявляет обвинение в нарушении патента, первая фирма смотрит в своем патентном портфеле и тоже обвиняет вторую фирму в нарушении какого-нибудь патента. Той приходится сбавлять обороты и соглашаться на мировое соглашение.
Теоретики свободного софта спорят о допустимой форме “патентной контратаки” (patent retaliation): допустима ли защита от всех патентов, всех софтверных патентов, или только от патентов, затрагивающих данную программу; должна ли контратака выражаться в отмене всей лицензии или только патентной ее части. GPL придерживается консервативного подхода - сама не устанавливает никаких санкций, а только позволяет вводить их в качестве дополнительных условий, таким образом, чтобы обеспечить совместимость с наиболее важными свободными лицензиями, такие санкции практикующими.
DRM/TC
Другая угроза свободному софту - DRM/TC
DRM - Digital Restrictions Management - это, грубо говоря, средство ограничивающее пользователя в доступе к информации, отключение или обход которого запрещены законом. Предполагается, что оно служит благой цели, защищает права или что-то в этом роде. Что именно - в закон внести обычно забывают. Нет, не случайно. Я бы сказал, изощренно забывают.
Представьте, что законодатели запретили срывать или взламывать замки. Любые замки, независимо от того, кому принадлежит замок и дверь. Успевший первым навесить на чужое имущество побольше замков - диктует остальным свои условия. Это и есть аналогия DRM. Не аналогия даже - на некоторые настоящие замки DRM распространяется именно таким образом. DRM, очевидно, принципиально несовместим со свободным софтом.
ТС - Treacherous Computing - DRM, встроенный в компьютер на уровне железа, таки образом, что запустить на нем можно только софт, подписанный обладателем секретного цифрового ключа. Много шуму вызвало DRM/TC видеоплейера TiVo где в качестве софта использовался Линукс. Требования GPL2 соблюдались, исходные тексты были предоставлены - но без секретного ключа они совершенно бесполезны, ни изменить, ни просто перекомпилировать их бинарники невозможно.
Соответственно, в GPL3 появилось уточнение, что “Полный Соответствующий Исходный Код” для бинарника должен включать все необходимое для компиляции и запуска, в том числе и модифицированного.
Кроме того, заявлена, что никакая программа, опубликованная под GPL3, не может считаться реализацией DRM. Иными словами - любую мешающую пользователю функциональность GPL3-программы можно убрать. Или же написать заново программу, осуществляющую доступ к той же самой информации.
Здесь FSF вступил на почву, еще совершенно неизвестную для
публичных софтверных лицензий, и неудивительно, что именно эти
нормы вызвали наибольшую критику.
Линукс останется без GPL3
Переполох наделало резкое письмо Линуса Торвальдса с заявлением, что ядро Линукса никогда не перейдет на GPL3. Его позицию, в целом можно свести к таким тезисам 1) Требование о предоставлении всех необходимых для компиляции и запуска программы кодов и шифров - безумно (insane). 2) Не только его, Линуса, собственный код, но и вообще весь код, для которого авторами специально не указана возможность апгрейда лицензии, лицензирован под GPL2 и только под ней.
Второй пункт касается толкования действующей GPL2. А вот первый, несмотря на всю резкость его формулировки, действительно затрагивает большую проблему с анти-DRM ными нормами GPL3.
Дело в том, что возможность выполнения программы - это, вообще говоря, свойства не программы, а компьютера. Над которым автор программы прямого контроля не имеет. Ясно, что код для Pentium IV при вcем желании не может быть исполнен на IBM PC XT c процессором i8086. И копирайт тоже, вопреки популярному заблуждению, не дает автору контроля над выполнением его программы - а только над распространением и копированием.
Обсуждалась, например, анекдотическая возможность вытягивания у автора секретного ключа, путем постройки машины, требующей подписанный этим ключом бинарник ядра (зная публичный ключ, это сделать не так сложно).
Надеюсь, что к моменту выхода окончательной версии GPL3 этот вопрос, как и многие другие, будет как-то разрулен.