Революционный характер этого финального условия осознавался не сразу. В то время, говорит Фишер, он просто рассматривал лицензию GNU Emacs как простой договор. Она устанавливала цену за использование GNU Emacs. Вместо денег Столлман взимал с пользователей плату в виде доступа к их собственным последующим модификациям. При этом Фишер помнит условия контракта как уникальные.
«Я думаю, что требование от других людей принять такую цену было, если не уникальным, то крайне необычным для того времени», — говорит он.
Лицензия GNU Emacs дебютировала, когда Столлман наконец выпустил GNU Emacs в 1985 году. После этого выпуска Столлман приветствовал предложения от широкого хакерского сообщества о том, как улучшить формулировки лицензии. Одним из хакеров, откликнувшихся на призыв, стал будущий борющийся за права ПО активист Джон Гилмор, работавший тогда консультантом в Sun Microsystems. В рамках своей консультационной работы Гилмор перенес Emacs на SunOS, собственную версию Unix этой компании. В процессе этого Гилмор опубликовал изменения в соответствии с требованиями лицензии GNU Emacs. Вместо того чтобы рассматривать лицензию как обременение, Гилмор увидел в ней четкое и лаконичное выражение хакерского этоса. «До этого большинство лицензий были очень неформальными», — вспоминает Гилмор.
В качестве примера такой неформальности Гилмор приводит уведомление об авторском праве для trn, утилиты Unix. Написанная Ларри Уоллом, будущим создателем языка программирования Perl, утилита patch позволяла программистам Unix легко вставлять исправления исходного кода — на хакерском жаргоне «патчи» — в любую крупную программу. Признав полезность этой функции, Уолл поместил следующее уведомление об авторском праве в сопутствующий файл README программы:
Copyright (c) 1985, Larry Wall Вы можете копировать комплект trn целиком или частично до тех пор, пока вы не пытаетесь заработать на нем деньги или не притворяетесь, что написали его. См. Trn Kit README. http://www.za.debian.org/doc/trn/trn-readme
Подобные заявления, отражая хакерскую этику, в то же время отражали и сложность перевода свободной, неформальной природы этой этики на жесткий юридический язык авторского права. Создавая лицензию GNU Emacs, Столлман сделал больше, чем просто закрыл лазейку, допускавшую проприетарные ответвления. Он выразил хакерскую этику в форме, понятной как юристу, так и хакеру.
По словам Гилмора, прошло совсем немного времени, прежде чем другие хакеры начали обсуждать способы «переноса» лицензии GNU Emacs на их собственные программы. Побуждаемый разговором в Usenet, Гилмор отправил Столлману электронное письмо в ноябре 1986 года с предложением о модификации: «Вам, наверное, следует убрать „EMACS“ из лицензии и заменить его на „SOFTWARE“ или что-то в этом роде. Мы надеемся, что скоро Emacs перестанет быть самой большой частью системы GNU, а лицензия применяется ко всей ней». См. Джон Гилмор, цитата из письма автору. Гилмор был не единственным человеком, предлагавшим более общий подход. К концу 1986 года сам Столлман работал над следующим крупным этапом Проекта GNU — отладчиком исходного кода — и искал способы переработки лицензии Emacs так, чтобы она применялась к обеим программам. Решение Столлмана: удалить все конкретные упоминания об Emacs и превратить лицензию в универсальный зонтик авторского права для программного обеспечения Проекта GNU. Так родилась Стандартная общественная лицензия GNU, сокращенно GPL.
При создании GPL Столлман последовал принятому в программном обеспечении соглашению использовать десятичные числа для обозначения версий-прототипов и целые числа для обозначения зрелых версий. Столлман опубликовал версию 1.0 GPL в 1989 году (проект, который Столлман разрабатывал в 1985 году), почти ровно через год после выпуска отладчика GNU — второго крупного погружения Столлмана в область программирования для Unix. Лицензия содержала преамбулу, излагающую ее политические намерения:
Стандартная общественная лицензия разработана для того, чтобы гарантировать наличие у вас свободы дарить или продавать копии свободного программного обеспечения, чтобы вы получали исходный код или могли получить его при желании, чтобы вы могли изменять программное обеспечение или использовать его части в новых свободных программах и чтобы вы знали, что можете делать все это.
Для защиты ваших прав нам необходимо ввести ограничения, запрещающие кому бы то ни было отказывать вам в этих правах или просить вас отказаться от них. Эти ограничения трансформируются в определенные обязанности для вас, если вы распространяете копии программного обеспечения или модифицируете его. См. Richard Stallman, et al., «GNU General Public License: Version 1», (February, 1989). http://www.gnu.org/copyleft/copying-1.0.html
Создавая GPL, Столлман был вынужден внести дополнительную корректировку в неформальные постулаты старой коммуны Emacs. Если раньше он требовал, чтобы члены коммуны публиковали любые изменения без исключения, то теперь Столлман требовал публикации только в тех случаях, когда программисты распространяли свои производные версии тем же публичным образом, что и сам Столлман. Иными словами, программистам, которые просто модифицировали Emacs для личного использования, больше не нужно было отсылать изменения исходного кода обратно Столлману. Идя на редкий для доктрины свободного ПО компромисс, Столлман снизил цену за свободное программное обеспечение. Пользователи могли внедрять инновации без того, чтобы Столлман заглядывал им через плечо, при условии, что они не закрывали для Столлмана и остального хакерского сообщества возможность будущих обменов этой же программой.
Оглядываясь назад, Столлман говорит, что компромисс с GPL подпитывался его собственным недовольством аспектами Большого Брата в исходном общественном договоре коммуны Emacs. Как бы ему ни нравилось заглядывать в чужие хакерские системы, знание того, что какой-нибудь будущий сопровождающий исходного кода может использовать эту власть во вред, заставило его смягчить GPL.
«Было неправильно требовать от людей публикации всех изменений, — говорит Столлман. — Было неправильно требовать их отправки одному привилегированному разработчику. Такая централизация и привилегия для одного не вязались с обществом, в котором все обладают равными правами».
Как хак, GPL является одной из лучших работ Столлмана. Она создала систему общественного владения в рамках обычно проприетарных ограничений авторского права. Что еще важнее, она продемонстрировала интеллектуальное сходство между юридическим кодом и программным кодом. Неотъемлемой частью преамбулы GPL было глубокое послание: вместо того чтобы относиться к закону об авторском праве с подозрением, хакеры должны рассматривать его как еще одну систему, так и просящуюся быть взломанной.
«GPL развивалась во многом как любое свободное программное обеспечение — с большим сообществом, обсуждающим ее структуру, уважение к ней или противоположное отношение при ее соблюдении, потребность в доработке и даже в умеренном компромиссе ради большего признания», — говорит Джерри Коэн, другой адвокат, помогавший Столлману в создании лицензии. «Процесс работал очень хорошо, и GPL в ее различных версиях прошла путь от повсеместно скептического и порой враждебного отклика до всеобщего признания».
В интервью журналу Byte в 1986 году Столлман охарактеризовал GPL в ярких выражениях. Помимо провозглашения хакерских ценностей, говорил Столлман, читателям следует «рассматривать ее как форму интеллектуального джиу-джитсу, использующую против создавших их сборщиков программного обеспечения правила установившей их правовой системы». См. David Betz and Jon Edwards, «Richard Stallman discusses his public-domain [sic] Unix-compatible software system with BYTE editors», BYTE (July, 1996). (Перепечатано на веб-сайте Проекта GNU: http://www.gnu.org/gnu/byte-interview.html.) Это интервью предлагает интересный, не говоря уже об откровенном, взгляд на политические взгляды Столлмана в самые ранние дни Проекта GNU. Оно также полезно для отслеживания эволюции риторики Столлмана. Описывая назначение GPL, Столлман говорит: «Я пытаюсь изменить то, как люди в целом подходят к знаниям и информации. Я считаю, что пытаться владеть знанием, пытаться контролировать то, разрешено ли людям использовать его, или пытаться помешать другим делиться им — это вредительство». Сопоставьте это с высказыванием в адрес автора в августе 2000 года: «Я призываю вас не использовать в своих рассуждениях термин „интеллектуальная собственность“. Он приведет вас к непониманию вещей, поскольку этот термин обобщает авторские права, патенты и товарные знаки. А эти вещи настолько различны по своим последствиям, что рассуждать о них одновременно — абсолютная глупость. Если вы слышите, как кто-то говорит что-то об интеллектуальной собственности без кавычек, значит, он мыслит не слишком ясно, и вам не стоит присоединяться». Годы спустя Столлман описывал создание GPL в менее враждебных выражениях. «Я думал о вопросах, которые в определенном смысле были этическими, в определенном смысле политическими и в определенном смысле юридическими, — говорит он. — Мне нужно было попытаться сделать то, что могло быть поддержано правовой системой, в которой мы находимся. По духу эта задача была сродни законодательному оформлению основ нового общества, но поскольку я не был правительством, я не мог реально менять какие-либо законы. Мне приходилось пытаться сделать это, опираясь на существующую правовую систему, которая не была рассчитана ни на что подобное».
Примерно в то время, когда Столлман размышлял об этических, политических и юридических вопросах, связанных со свободным ПО, калифорнийский хакер по имени Дон Хопкинс прислал ему по почте руководство к микропроцессору 68000. Хопкинс, хакер Unix и такой же любитель научно-фантастической литературы, одолжил у Столлмана руководство несколько раньше. В знак признательности Хопкинс украсил обратный конверт несколькими наклейками, добытыми на местной научной фантастической конвенции. Одна наклейка особенно привлекла внимание Столлмана. На ней было написано: «Copyleft (L), все права защищены наоборот» [в оригинале All Rights Reversed — игра слов вместо All Rights Reserved — прим. ред.]. После выпуска первой версии GPL Столлман отдал дань уважения наклейке, прозвав лицензию свободного программного обеспечения «Copyleft». Со временем это прозвище и его сокращенный символ — зеркальная буква «C» — стали официальным синонимом GPL от Фонда свободного программного обеспечения.
Немецкий социолог Макс Вебер некогда предположил, что все великие религии построены на «рутинизации» или «институционализации» харизмы. Любая успешная религия, утверждал Вебер, преобразует харизму или послание первоначального религиозного лидера в социальный, политический и этический аппарат, более легко переводимый через культуры и время.
Пусть и не будучи религиозной в строгом смысле, GNU GPL безусловно представляет собой интересный пример работы этого процесса «рутинизации» в современном децентрализованном мире разработки программного обеспечения. С момента ее обнародования программисты и компании, в остальном проявлявшие мало лояльности или приверженности Столлмону, охотно принимали сделку GPL за чистую монету. Некоторые даже приняли GPL как упреждающий защитный механизм для собственных программ. Даже те, кто отвергает контракт GPL как слишком принудительный, все равно признают его влиятельность.
Одним из хакеров, попавших в эту последнюю группу, был Кит Бостик, сотрудник Калифорнийского университета на момент выпуска GPL 1.0. Подразделение Бостика, Исследовательская группа компьютерных систем (CSRG), занималось разработкой Unix с конца 1970-х годов и отвечало за многие ключевые части Unix, включая сетевой протокол TCP/IP, краеугольный камень современных интернет-коммуникаций. К концу 1980-х годов компания AT&T, первоначальный владелец бренда Unix, начала уделять основное внимание коммерциализации Unix и стала рассматривать Калифорнийское распространение программного обеспечения, или BSD, академическую версию Unix, разработанную Бостиком и его коллегами по Беркли, в качестве ключевого источника коммерческих технологий.
Хотя исходный код Berkeley BSD распространялся среди исследователей и коммерческих программистов по лицензии на исходный код, эта коммерциализация создавала проблему. Код Беркли был перемешан с проприетарным кодом AT&T. В результате дистрибутивы из Беркли были доступны только учреждениям, у которых уже была лицензия на исходный код Unix от AT&T. По мере того как AT&T поднимала плату за лицензии, это соглашение, поначалу казавшееся безобидным, становилось все более обременительным.
Нанятый в 1986 году, Бостик взял на себя личный проект по переносу BSD на компьютер PDP-11 производства Digital Equipment Corporation. Именно в этот период, говорит Бостик, он вошел в тесное взаимодействие со Столлманом во время эпизодических вылазок последнего на западноебережье. «Я ярко помню споры об авторском праве со Столлманом, когда он сидел за чужими рабочими станциями в CSRG, — говорит Бостик. — После этого мы ходили ужинать и продолжали спорить об авторском праве за ужином».
Споры в конце концов возымели действие, хотя и не так, как хотелось бы Столлману. В июне 1989 года Беркли отделила свой сетевой код от остальной части операционной системы, принадлежавшей AT&T, и распространила его под лицензией Калифорнийского университета. Условия договора были либеральными. Все, что требовалось от лицензиата, — это выразить благодарность университету в рекламных объявлениях, расхваливающих производные программы. Печально известная «рекламная оговорка» Калифорнийского университета позже станет источником проблем. В поисках менее ограничительной альтернативы GPL некоторые хакеры использовали лицензию Калифорнийского университета, заменяя «Калифорнийский университет» на название собственного учреждения. Результат: программы свободного ПО, заимствовавшие код из десятков других программ, должны были упоминать десятки учреждений в рекламе. В 1999 году, после десятилетия лоббирования со стороны Столлмана, Калифорнийский университет согласился отказаться от этой оговорки. В отличие от GPL, проприетарные ответвления допускались. Была лишь одна проблема, тормозившая быстрое принятие лицензии: сетевой релиз BSD не был полноценной операционной системой. Люди могли изучать код, но запускать его можно было только в сочетании с другим кодом по проприетарной лицензии.
В течение следующих нескольких лет Бостик и другие сотрудники Калифорнийского университета работали над заменой недостающих компонентов и превращением BSD в полноценную операционную систему, свободно пригодную для распространения. Несмотря на задержки из-за юридических претензий со стороны Unix Systems Laboratories — дочерней компании AT&T, сохранившей права на владение торговой маркой Unix, — эти усилия наконец принесли плоды в начале 1990-х годов. Впрочем, даже до этого многие утилиты Беркли проложили себе путь в Проект GNU Столлмана.
«Я думаю, маловероятно, что мы продвинулись бы так далеко, как это сделали, без влияния GNU, — говорит Бостик, оглядываясь назад. — Это определенно было делом, в котором они сильно давили, а идея нам нравилась».
К концу 1980-х годов GPL начала оказывать гравитационное воздействие на сообщество свободного программного обеспечения. Программе не обязательно было нести на себе GPL, чтобы считаться свободным ПО — взять хотя бы случай с утилитами BSD, — но помещение программы под GPL отправляло четкий сигнал. «Я думаю, что само существование GPL вдохновило людей задуматься над тем, делают ли они свободное программное обеспечение и как они будут его лицензировать», — говорит Брюс Перенс, создатель Electric Fence, популярной утилиты для Unix, и будущий лидер команды разработчиков Debian GNU/Linux. Несколько лет спустя после выпуска GPL, по словам Перенса, он решил отказаться от собственной доморощенной лицензии Electric Fence в пользу проверенной юристами авторской защиты Столлмана. «Сделать это оказалось на самом деле довольно просто», — вспоминает Перенс.
Рич Морин, программист, который относился к первоначальному анонсу GNU со скептицизмом, вспоминает, что был впечатлен программным обеспечением, которое стало собираться под зонтиком GPL. Будучи лидером группы пользователей SunOS, Морин в 1980-х годах занимался в основном рассылкой дистрибутивных лент, содержащих лучшие бесплатные программы или утилиты свободного ПО. Эта работа часто требовала обзвона авторов исходного кода, чтобы проверить, защищены ли их программы авторским правом или переданы в общественное достояние. Примерно в 1989 году, по словам Морина, он начал замечать, что лучшие программы обычно подпадают под лицензию GPL. «Как дистрибьютор программного обеспечения, как только я видел слово GPL, я понимал, что свободен», — вспоминает Морин.
Чтобы компенсировать прошлые хлопоты по составлению дистрибутивных лент для группы пользователей Sun, Морин взимал с получателей плату за удобство. Теперь же, когда программы переходили на GPL, Морин внезапно стал собирать ленты вдвое быстрее, получая при этом неплохую прибыль. Почувствовав коммерческую возможность, Морин переименовал свое хобби в бизнес: Prime Time Freeware.
Подобная коммерческая эксплуатация полностью укладывалась в рамки повестки дня свободного ПО. «Когда мы говорим о свободном программном обеспечении, мы имеем в виду свободу, а не цену», — предупреждал Столлман в преамбуле GPL. К концу 1980-х годов Столлман уточнил это до более простой мнемоники: «Не думайте о свободе как о бесплатном пиве; думайте о свободе как о свободе слова».
По большей части бизнес игнорировал призывы Столлмана. Тем не менее для нескольких предпринимателей свобода, связанная со свободным ПО, была той же свободой, что и свобода свободного рынка. Уберите владение программным обеспечением из коммерческого уравнения, и вы получите ситуацию, в которой даже самая маленькая софтверная компания может свободно конкурировать с IBM и DEC этого мира.
Одним из первых предпринимателей, уловивших эту концепцию, стал Майкл Тиманн, программист и аспирант Стэнфордского университета. В 1980-х годах Тиманн следил за Проектом GNU подобно начинающему джазмену, следящему за любимым артистом. Однако лишь после выхода компилятора GNU C Compiler в 1987 году он начал осознавать весь потенциал свободного программного обеспечения. Назвав GCC «бомбой», Тиманн говорит, что само существование программы подчеркивало решимость Столлмана как программиста.