Текст, как и обещалось, стал гораздо понятнее. Изменены многие фразы, ранее дававшие повод для двусмысленных толкований. Длинные абзацы из больших сложносочиненных фраз, характерные для 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 — это, грубо говоря, средство, ограничивающее пользователя в доступе к информации, отключение или обход которого запрещены законом.
Читать дальше