Вскоре после начала применения GFDL печатные руководства приказали долго жить. Документация и вообще тексты технического характера сейчас распространяются в той же форме, что и сами программы, часто — в форме интерактивной справочной системы. А причудливые ограничения, рассчитанные на совершенно другую ситуацию, остались и до сих пор портят кровь программистам и составителям дистрибутивов. Неудивительно, что почти никто не любит GFDL.
Впрочем, следует отметить, что из-за всеобщей нелюбви к GFDL ее критика является популярной стартовой площадкой для атаки на копилефт как таковой. Разговоры о «недостаточной свободе» GPL сейчас, через два десятилетия после ее появления, мало кем воспринимаются всерьез. А вот те же самые претензии к тем же самым словам, но — взятым из текста GFDL вместо GPL, порой встречают активную народную поддержку.
Копилефт и совместимость лицензийКопилефт — условие, требующее, чтобы всякое дальнейшее распространение кода свободной программы, а также дополнений к ней шло на тех же условиях, на которых она была получена, в частности — чтобы исходный код программы оставался доступен. Классический пример — GNU GPL. Но существуют и другие формулировки копилефта.
Две лицензии называются совместимыми, если программу, содержащую куски кода, лицензированные под обеими лицензиями, мы можем каким-либо образом законно распространять. Две различные копилефтные лицензии обычно несовместимы, поскольку каждая требует распространять комбинацию на условиях своего копилефта. Исключение составляют случаи, когда возможность комбинации специально оговорена, как, например, в LGPL.
Если копилефтная и пермиссивная лицензия совместимы (например, GPL и BSD), то объединенный код распространяется на условиях копилефтной лицензии.
Скажи «Ку»: QPL
Другим примером «экстремальной» свободной лицензии является QPL (Q Public License).
QPL была придумана в 1998 году фирмой TrollTech, когда та решила привести условия распространения своей библиотеки виджетов Qt в соответствие с критериями свободного софта. Для проприетарного использования библиотека продается за большие деньги, и TrollTech хотела поставить такие условия распространения, которые были бы наиболее благоприятны для ее бизнеса.
Для самой TrollTech усилия оказались потраченными напрасно — после двух лет горячих споров, в 2000 году, свободная версия Qt была лицензирована под GPL. Ожидаемые преимущества QPL для коммерции, как оказалось, не перевешивали неудобств и плохой репутации от GPL-несовместимой лицензии. Сейчас под QPL распространяются лишь несколько незначительных программ. Однако QPL оказала большое влияние на развитие идеологии свободного софта, на представления о том, какие нормы может содержать свободная лицензия.
QPL — асимметричная лицензия. Права Первоначального Разработчика и права разработчика вторичного, лицензиата, различны. Первый может пользоваться кодом — в том числе и кодом второго разработчика — как угодно, в том числе и выпуская проприетарные версии программы. Второй ограничен лицензией. Первый может потребовать копию софта, который разрабатывает второй, — и второй обязан его предоставить. Из-за асимметричности QPL нельзя отнести ни к пермиссивным, ни к копилефтным: Первоначальному Разработчику она предоставляет неограниченные права, остальным — только голодный минимум.
Другой характерной чертой QPL является patch clause — требование распространять все модификации исходного кода отдельно от первоначальной программы, исключительно в виде патчей. В принципе, это было не ново — уже TEX распространялся на похожих условиях. Но многие программисты впервые встретили такую конструкцию именно в QPL.
Виртуальный Монпарнас: Creative Commons
Особняком стоит проект Creative Commons, созданный профессором права Лоуренсом Лессигом со товарищи (Lawrence Lessig). С точки зрения практики свободного софта, да и софта вообще, проект этот — жутчайший бардак. Creative Commons уже сочинили в общей сложности несколько десятков разных публичных лицензий, по большей части несовместимых друг с другом, причем многие из них заведомо не удовлетворяют требованиям свободного софта. Мало того, каждой из этих лицензий предполагается делать еще «национальную адаптацию» для десятков стран, и эти варианты тоже несовместимы.
Но эти лицензии предназначены вовсе не для программистов. Их целевая аудитория — художники, беллетристы, поэты, музыканты, для которых совместимость лицензий не играет особой роли — никто из них и не предполагает комбинировать сотни независимых рассказов и песен в огромную взаимоувязанную систему, подобную ядру Linux. Свобода модификаций, которую они полагают полезной и необходимой, весьма скромна. С другой стороны, нормы законов о fair use, свободном использовании, практически не работающие в софтверной области, здесь разрешают множество вопросов с цитированием и подобными ему заимствованиями.
Лицензии Сreative Commons (СС) организованы в виде этакого детского конструктора, в котором автор может подобрать подходящие ему условия распространения из стандартных деталей. Каждая деталька обозначена суффиксом в имени лицензии. Так, -NC (NonCommercial) означает, что допускается только некоммерческое распространение, -SA (ShareAlike) — что в лицензии присутствует копилефт, -BY — что должна сохраняться указанная автором манера attribution, а -ND (NoDerivatives) запрещает создание новых произведений на основе данного.
Очень симпатичным изобретением Creative Commons является система пиктограмм, позволяющая лаконично и наглядно отметить произведение как распространяемое под той или иной CC-лицензией. На первый взгляд это выглядит детской игрой по сравнению с тяжеловесным «легалезе» софтверных лицензий, но, как выяснилось недавно[creativecommons.org/weblog/entry/5823], суды, по крайне мере европейские, вполне способны понять и принять условия этой игры. (Многие иллюстрации к этой статье выпущены именно под лицензиями CC. — И.Щ.)
Заветы Отцов: Founders’ Copyright
Другим любопытным, но малоизвестным проектом, поддерживаемым Creative Commons, является Founders’ Copyright — копирайт отцов-основателей. Суть его в том, что автор добровольно отказывается от полагающегося ему по современному закону огромного срока копирайта, оставляя себе только тот срок, который существовал в США в начале XIX века, — четырнадцать лет.
При всей симпатичности такого подхода он, к сожалению, имеет очевидный практический порок — его нельзя использовать в качестве инструмента построения сообщества или социальных преобразований. Таким образом, он превращается в чистую благотворительность. Время сейчас течет быстро, и перспектива попадания произведения в общественное достояние через полтора десятилетия мало для кого будет стимулом.
Впрочем, стоит отметить, что концепцию Founders’ Copyright поддержал и взял на вооружение издатель-гуманист Тим О’Рейли.
Что такое свободный софт
Понятие свободного софта ввел в 1980-х годах Ричард Столлмен. Перефразируя Рузвельта, он заявил, что каждый пользователь программы должен иметь четыре свободы: право свободно запускать, распространять, изучать и улучшать программу. Мало-помалу эти права конкретизировались, и наконец в 1996-м было сформулировано довольно подробное определение свободного софта, сокращенно FSD (Free Software Definition).
Примерно в то же время свое определение свободного софта формулирует Проект Дебиан. Создатель Debian Free Software Guidelines (DFSG) Брюс Перенс (Bruce Perens) рассматривал DFSG как другое определение того же самого явления, о котором говорил Столлмен. В отличие от FSD, это определение оперировало не социальными и этическими, а формально-юридическими понятиями, что облегчало классификацию запутанных софтверных лицензий — задачу, практически стоявшую перед Дебианом. Однако этот же подход создает простор для схоластических построений, в которых легко заблудиться. В последние годы разработчики, выступавшие от имени Проекта Дебиан, порой высказывали довольно странные суждения по поводу свободы-несвободы конкретных лицензий, и доверие к ним, по крайне мере мое, сильно упало. Однако сами DFSG остаются общепризнанными критериями для оценки лицензий.
Позднее, при участии того же Брюса Перенса, было сформулировано Open Source Definition[www.opensource.org/docs/definition.php] (OSD) — определение софта с открытыми исходными текстами. Первая версия OSD представляла собой DFSG, в которых были удалены упоминания о Проекте Дебиан. Но их дальнейшие уточнения и толкования пошли в совершенно разные стороны, так что теперь эти определения отличаются и текстуально, и идеологически. В отличие от FSF, сформулировавшего критерии, но не спешащего предлагать себя на роль судьи, и от Дебиана, оценивающего свободу не вообще лицензии, а каждой конкретной программы в отдельности, OSI (Open Source Initiative) ведет тщательный учет лицензий, которые она официально признала «достаточно Open Source». Такие лицензии называются OSI-approved [Список таких лицензий].