03:16 am
[Link] |
Краткий путеводитель по зоопарку публичных лицензий
Компьютерра напечатала мою статью о классических публичных лицензиях. Помещаю ее и тут. От журнала текст здесь отличается в основном несколько другим порядком главок - на бумаги часть текста была вынесена в отдельные врезки, и потом по другому собрана. Ну и еще несколько маленьких правок, кои я уже не помню.
Краткий путеводитель по зоопарку публичных лицензий
Успех проекта GNU и широкое распространение Генеральной Публичной
Лицензии (GPL) GNU, ставшей его символом, породил множество
подражаний. Движение свободного софта стало предметом пристального
интереса как широкой публики и государства, бизнеса и академических
исследователей.
Идея дозированной передачи авторских (а в последнее время - и
патентных) прав как орудия социальных преобразований является
неудержимо притягательной для многих как социально ориентированных
компьютерщиков так и компьютерно ориентированных юристов. Поэтому, с
середины-конца 1990х различные типовые публичные лицензии стали расти
как грибы после дождя. Может даже показаться, что число их скоро
превысит число самих лицензируемых программ. В то же время для
стороннего наблюдателя вся лицензионная механика зачастую
непонятна. Что такое эти публичные лицензии? Почему их так много?
Почему программисты придают различиям в лицензиях такое большое
значение.
Позвольте предложить вам краткую экскурсию по зоопарку публичных
лицензий. Никоим образом не претендуя ни на полноту, ни даже на
наибольшую важность показанных экспонатов, я продемонстрирую вам
некоторые образчики как классических, так и новей ших публичных
лицензий.
Отступление 1: Публичные лицензии и EULAs
Часто спрашивают, да еще этак с ехидцей, в чем разница между
публичными лицензиями и так называемыми “Лицензионными соглашениями
конечного пользователя”(по английски сокращенно EULA - - текстами,
выводимыми при инсталляции проприетарных программ и снабженными внизу
кнопочкой “Я тебя уважаю!”, которую нужно нажать, чтобы продолжить
инсталляцию)? Следует честно ответить: кроме сходства в названиях
между ними нет ничего общего.
Публичные софтверные лицензии появились в 1980х годах, после
введения копирайта на программы в США. Они формулируют общие условия,
на которых автор передает публике право на распространение кода. Без
публичных лицензий мы должны бы были, по букве закона о копирайте,
каждый раз спрашивать особое разрешение у автора на копирование файла
на другой носитель, на продажу диска с ней, на перевод сообщений и
даже на исправление ошибки. Запуск программы не требует особого
разрешения (как и, скажем, чтение книги), и публичные лицензии обычно
тоже его не касаются. Хотя, с распространением в некоторых странах
софтверных патентов, претендующих на контроль именно работы программ,
новейшие публичные лицензии стали затрагивать и этот вопрос.
EULA исторически происходят от договоров о сохранении коммерческой
тайны, которые в 1960-70е годы заставляли подписывать своих клиентов
продавцы программ. В те времена это имело определенный смысл,
поскольку компьютеров было мало, и каждая продажа была Событием,
совершаемым с глазу на глаз. В наше время, когда программами торгуют в
розницу, говорить о какой-то тайне уже не приходится. Сейчас основным
содержанием EULA являются различного рода дисклаймеры - заявления об
отказе об ответственности за результаты работы программы,
предупреждения о возможных ошибках и так далее. Смыслом их не в
передаче пользователю прав, а напротив, в ограждении разработчика от
претензий пользователя. Для того и требуется нажатие на кнопочку - как
доказательство того, что пользователь EULA читал. В EULA также часто
включают несколько внушительно звучащих фраз про авторские права, как
правило - ошибочных.
Анархист на государевой службе: BSD
Наиболее простая и исторически первая из ныне используемых
свободных лицензий - лицензия операционной системы BSD, появилась в
начале 1980х. Она коротка и проста. Лицензия предоставляет полную
свободу распространения кода, на любых условиях, с исходными текстами
или без них, и заботится только о предохранении имени
организации-автора (Калифорнийский университет). Конкретно, требуется,
чтобы 1) при распространении исходных текстов сохранялся текст
лицензии вместе с именем автора, 2) при распространении двоичных кодов
лицензия и имя помещались в документацию и 3) имя автора не должно
упоминаться всуе, то есть в рекламе. Был еще четвертый пункт - о
демонстрации рекламной фразы при любом упоминании продукта,
использующего программу, но в 1999 году по многочисленным
просьбам публики он был убран - сложным системам, использующим код
многих программ приходилось прокручивать порой до десятка страниц
рекламы.
Аналогичные условия, содержит лицензия другого классического
проекта - X Window, называемая обычно MIT/X-лицензия. Лицензии такого
типа называют пермиссивными, всеразрешающими. Основной их особенностью
является то, что они позволяют как лицензировать исходные тексты под
любой другой лицензией, так и вовсе их придержать.
Изначально эти лицензии не несли какого-либо этического или
идейного содержания - никому просто не приходило в голову, что
лицензия может быть предметом этики или философии. Однако после
распространения GPL вокруг BSD сплотился слой приверженцев, находящих
в пермиссивных лицензиях этический смысл. Которого я никогда вполне не
понимал. Приблизительно он состоит в том, что программист должен дарить
миру свой код и не отвлекаться на суетные мысли о том, как и зачем
будут использовать его другие.
Теория эта, впрочем, носит характер более платонический, чем
практический. Львиная доля BSD-лицензированных программ возникли в
результате исследований, проводимых по государственному гранту
американскими университетами. BSD-лицензия в них не являлась выбором
разработчика, а была условием получения денег. И тут пермиссивная
лицензия выглядит не только уместной, но и единственно
возможной. Вряд-ли будет вообще законным ставить обществу условия при
распространении кода, созданного на его же, общества, собственные
деньги. Другой источник BSD-лицензированного кода - крупные
корпорации, пропагандирующие новую технологию путем публикации
“образцовой” ее реализации. Пример тому - X Consortium, созданный
крупнейшими компьютерными фирмами для разработки стандартной
графической системы юниксов X Window.
Отступление 2: attribution - право на имя.
В российском авторском праве право автора произведения на указание
его имени, на выбор формы этого указания (в определенных общепринятых
пределах) и на защиту его имени от порочащих искажений - установлено
непосредственно в законе, и не требуют особого упоминания в
лицензии. Но американский копирайтный закон не признает, в большинстве
случаев, таких прав. Поэтому американцам, которые хотят сохранить за
программой свое имя, приходится специально оговаривать это в лицензии,
в меру собственного разумения. И случается, как в случае с
“четырехпунктной BSD-лицензией”, неумеренная настойчивость в защите
своего доброго имени приносит окружающим множество неудобств.
Доктор Кнут, поверьте дети, страшно крут: LPPL
История с TEXом и LATEXом
демонстрирует, до каких крайностей можно дойти в защите своей
репутации.
Издательская система TEX, детище известного математика
Дональда Кнута, была одной из первых свободных программ. Но лицензии
на распространение TEX, в современном смысле, для
TEXа не существует. Вместо этого, Кнут опубликовал статью в научном
журнале, о том, каким он желает видеть дальнейшую судьбу
TEXа.
Система обрастала расширениями и дополнениями, из
которых наиболее известен макропакет LATEX,
ставший “лицом” TEXа для современных пользователей. Условия
распространения формулировались среди пользователей TEXа
неформально. Фактически, превращение их в общепринятую форму публичной
лицензии произошло только в 1999 году в виде LPPL -
LATEX Project Public License.
LPPL примечательна тем, что она вообще запрещает вносить какие
либо изменения в существующие файлы. Содержащийся в этих файлах код
может свободно использоваться, и даже без копилефта, но - во вновь
созданных файлах с другими именами. Все однажды опубликованное должно
оставаться неизменным. Последнее не относится к первоначальным авторам
- они могут исправлять ошибки по своему усмотрению. Такое требование
кажется диким обычному программисту - но TEXники ценят
стабильность результата выше чем его безошибочность. По поводу LPPL
были большие споры, можно ли вообще относить ее к свободным
лицензиям. Кончилось тем, что в последующих версиях формулировки были
сильно смягчены.
Конституция свободного софта: GPL/LGPL
Про GPL, детище Столлмана и FSF можно сказать много, но именно
потому, что про него и так все говорят, я особо останавливаться не
будем. Именно с публикации GPL отсчитывается существование свободного
софта как единого значимого социального и экономического явления, а не
просто совокупности замкнутых на себя кружков, каким сообщество бол до
Столлмана.
К GPL восходит добрая половина всех концепций и технических
решений, используемых свободными лицензиями: копилефт, апгрейд
лицензии, реализация передаваемых прав как способ заключения договора,
понятие исходного кода так далее.
Столлман писал GPL как изложение на языке закона своих
социально-политических взглядов. Но многие фирмы и отдельные
прогаммисты используют сейчас GPL как прагматичный способ поделиться
своими разработками с сообществом, заслужив признание и репутацию, и
при этом застраховаться от недобросовестной конкуренции. Для тех же,
чья разработка представляет из себя библиотеку подпрограмм или иное
средство разработки софта, GPL позволяет одновременно пользоваться
преимуществами и открытой, и проприетарной модели.
Более двух третей всех свободных программ распространяются сейчас
под лицензией GPL и ее “ослабленным” вариантом - LGPL (вариант
лицензии, специально созданный на тот случай, если автор библиотеки
решит, что определенная степень совместимости с проприетарным софтом
отвечает его интересам).
Отступление 3: Копилефт и совместимость лицензий
Копилефт - условие, требующее, чтобы всякое дальнейшее
распространение кода свободной программы, а также дополнений к ней шло
на тех же условиях, на которых она была получена, в частности - чтобы
исходный код программы оставался доступен. Классический пример - GNU
GPL. Но существуют и другие формулировки копилефта.
Две лицензии называются совместимыми, если программу, содержащую
куски кода под обоими, мы можем каким либо образом законно
распространять.
Две различные копилефтные лицензии обычно несовместимы,
поскольку каждая требует распространять комбинацию на условиях своего
копилефта. За исключением случаев, когда возможность комбинации
специально оговорена, как например, в LGPL.
Если копилефтная и пермиссивная лицензия совместимы между собой
(например, GPL и BSD), то обьединенный код распространяется на
условиях копилефтной лицензии.
В семье не без урода: GFDL
Не все начинания FSF были столь успешными. GNU Free Documentation
License (GFDL) - неряшливая реализация ненужной функциональности. В
общих чертах, GFDL - лицензия, созданная с расчетом на применение ее к
классического мэйнфреймного стиля толстым “Руководствам пользователя”,
исчерпывающей документации на сложные программные системы. К книгам,
которые чаще будут издаваться и читаться в бумажном виде, чем в
машинночитаемом. Соответственно, основные усилия были потрачены на
выстраивание предельно допустимого компромисса с интересами
книгоиздателей с одной стороны, и на защиту от их возможных
недобросовестных уловок - с другой. Отсюда - причудливое разделение на
прозрачные (transparent) и непрозрачные (opaque) форматы, мелочный
подсчет максимального числа допустимых бумажных копий для разных форм
распространения, детально прописанные требования к содержанию обложек
документов и прочие обременительные условия.
Скоро после начала применения GFDL печатные руководства приказали
долго жить.Документация, вообще тексты технического характера сейчас
распространяются в той же форме что и сами программы, часто - в форме
интерактивной справочной системы. А причудливые ограничения,
рассчитанные на совершенно другую ситуацию - остались и до сих пор
портят кровь программистам и составителям
дистрибутивов. Неудивительно, что почти никто не любит GFDL
Но, следует отметить, ровно по причине всеобщей нелюбви, критика
GFDL является популярной стартовой площадкой для атаки на копилефт как
таковой. Разговоры о “недостаточной свободе” GPL сейчас, два
десятилетия спустя, мало кем воспринимаются всерьез. А вот те же
самыек претензии к тем же самым словам, но - взятым из текста GFDL
вместо GPL, порой встречают активную народную поддержку.
Скажи “Ку”: 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 созданный
профессором права Лоуренсом Лессигом. С точки зрения практики
свободного софта, да и софта вообще, проект этот - жутчайший
бардак. Creative Commons сочинили уже в общей сложности несколько
десятков разных публичных лицензий, по большей части несовместимых
между собой, большинство из которых заведомо не удовлетворяет
требованиям свободного софта. Мало того, каждой из этих лицензий
предполагается делать еще “национальную адаптацию” для десятков стран,
также между собой несовместимых.
Но проект предназначил их вовсе не для программистов. Их адресат -
художники, беллетристы, поэты, музыканты. Для этих людей совместимость
лицензий не играет особой роли - никто из них и не предполагает
комбинировать сотни независимых рассказов и песен в огромную
взаимоувязанную систему, подобную ядру Линукса. Свобода модификаций,
которую они полагают полезной и необходимой, весьма скромна. С другой
стороны, нормы законов о fair use, свободном использовании,
практически не работающие в софтверной области, здесь разрешают
множество вопросов с цитированием и подобными ему заимствованиями.
Лицензии Сreative Commons (СС) организованы в виде этакого
детского конструктора, в котором автор может подобрать подходящие ему
условия распространения из стандартных деталей. Каждая деталька
обозначена суффиксом в имени лицензии. Так, -NC (NonCommercical)
означает, что допускается только некоммерческое распространение, -SA
(ShareAlike) - что в лицензии должен присутствовать копилефт, -BY -
что должна сохраняться указанная автором манера attribution.
Очень симпатичным изобретением Creative Commons является их
система пиктограмм, позволяющая лаконично наглядно отметить
произведение, как распространяемое под той или иной CC-лицензией. Это,
на первый взгляд, выглядит детской игрой, по сравнению с тяжеловесным
легалезе софтверных лицензий, но, как выяснилось недавно, суды, по
крайне мере европейские, вполне способны понять и принять условия этой
игры.
Заветы Отцов: Founder’s Copyright
Другим симпатичным, но малоизвестным, проектом, поддерживаемым
Creative Commons, является Founders Copyright - копирайт
отцов-основателей. Суть его состоит в том, что автор добровольно
отказывается от полагающегося ему по современному закону огромного
срока копирайта, оставляя себе только тот строк, который существовал в
США в начале XIX века - 14 лет.
При всей симпатичности такого подхода, он имеет, к сожалению,
очевидный практический порок - его нельзя использовать в качестве
инструмента построения сообщества или социальных преобразований.
Таким образом он превращается в чистую благотворительность. Время
сейчас течет быстро, и перспектива попадания произведение в
общественное достояние через полтора десятилетия мало для кого будет
стимулом.
Концепцию Founders Copyrigth поддержал и взял на вооружение
издатель-гуманист Тим О’Рейли.
Выноска 1: Что такое свободный софт
Понятие свободного софта ввел в 1980х годах Ричард Столлман. Перефразируя
Рузвельта он заявил, что каждый пользователь программы
должен иметь четыре свободы - право свободно запускать,
распространять, изучать и улучшать программу. С течением времени эти
права конкретизировались, пока в конце концов в 1996 не было
сформулировано достаточно подробное определение
свободного софта., сокращенно FSD (Free Software Definition).
Примерно в это же время свое определение свободного софта
формулирует Проект Дебиан. Создатель
DFSG, Брюс Перенс, рассматривал DFSG как другое определение того же
самого явления, о котором говорил Столлман. В отличии от FSD, это
определение - Debian
Free Software Guidelines (DFSG) - оперировало не социальными и
этическими, а формально-юридическими понятиями. Что облегчало
классификацию запутанных софтверных лицензий - задачу, практически
стоявшую перед Дебианом. Однако этот же подход создает простор для
схоластических построений, в которых легко заблудиться. В последние
годы разработчики, выступавшие от имени Проекта Дебиан порой
высказывали довольно странные суждения со поводу свободы-несвободы
конкретных лицензий и доверие к ним, по крайне мере лично мое, сильно
упало. Однако сама DFSG остаются общепризнанными критериями для оценки
лицензий.
Позднее, при участии того же Брюса Перенса было сформулировано Open Source
Definition (OSD) - определение софта с открытыми исходными
текстами. Первая версия OSD представляла DFSG с удаленными
упоминаниями Проекта Дебиан. Но дальнейшие уточнения и толкования их
пошло в совершенно разные стороны, так что теперь эти определения
отличаются и текстуально, и идеологически. В отличии от FSF,
сформулировавшего критерии, но не спешащего предлагать себя на роль
судьи, и от Дебиана, оценивающего свободу не вообще лицензии, а каждой
конкретной программы в отдельности, OSI (Open Source Initiative) ведет
тщательный учет лицензий, которые она официально признала достаточно
OpenSource. Такие лицензии называются OSI-approved.
Tags: gpl, статьи
|