Фрагмент книги «Ради удовольствия и прибыли. История революции свободного и открытого программного обеспечения»
Коммерциализация процесса создания программных кодов, набравшая силу уже к началу 1980-х годов, породила встречное движение хакеров, желавших, чтобы программисты по-прежнему свободно делились кодом друг с другом. Это движение, выступавшее за «свободное и открытое программное обеспечение» (FOSS) тем не менее тоже не было единым — и уже в конце 1990-х среди его участников развернулась настоящая, пусть и бескровная гражданская война: одни настаивали на том, что в аббревиатуре FOSS главное место занимает слово «свободное», другие хотели видеть свое детище более «открытым». Читайте об этом в отрывке из книги Кристофера Тоцци «Ради удовольствия и прибыли».
Все мы начиная с 24 февраля 2022 года оказались перед лицом наступающего варварства, насилия и лжи. В этой ситуации чрезвычайно важно сохранить хотя бы остатки культуры и поддержать ценности гуманизма — в том числе ради будущего России. Поэтому редакция «Горького» продолжит говорить о книгах, напоминая нашим читателям, что в мире остается место мысли и вымыслу.
Кристофер Тоцци. Ради удовольствия и прибыли. История революции свободного и открытого программного обеспечения. М.: Изд-во Института Гайдара, 2025. Перевод с английского под научной редакцией Артёма Смирнова. Содержание
Гражданская война FOSS
Как отмечалось в конце предыдущей главы, Столлман и Торвальдс были единодушны в отношении Apple, однако к концу 1990‑х годов их взгляды на другие важные вопросы серьезно разошлись. В этот период оба программиста, по воле случая или по собственному желанию, стали лицами соперничающих лагерей в сообществе FOSS. Эти две группы — лагерь «свободного программного обеспечения» (возглавляемый Столлманом) и его противник, лагерь «открытого исходного кода» (ассоциируемый с Linux и Торвальдсом), — оказались втянутыми в борьбу за контроль над смыслом FOSS-революции и понятием свободы программного обеспечения. Эта борьба и стала гражданской войной FOSS.
Гражданская война FOSS конца 1990‑х годов не была чем-то совершенно новым. Как показано в предыдущих главах, в сообществе сторонников свободного программного обеспечения, как и в любом большом добровольном объединении, никогда не было полного единодушия по различным политическим и техническим вопросам. Так, в 1980‑х и начале 1990-х, например, проект GNU и разработчики BSD придерживались совершенно разных подходов к лицензированию. Тем не менее отношения между ними в тот период оставались достаточно хорошими, чтобы продолжать сотрудничество.
К концу 1990‑х годов разногласия между лагерями сторонников свободного программного обеспечения и открытого исходного кода стали настолько непримиримыми, что каждая группа фактически перестала учитывать другую в своих инициативах и проектах. Кроме того, обе фракции ставили под сомнение легитимность конкурирующих трактовок понятия свободы программного обеспечения.
Предпринимавшиеся ранее попытки объяснить беспрецедентную напряженность, охватившую сообщество FOSS в конце 1990-х, связывали ее с изменением преобладающих норм в хакерской среде. Такая интерпретация содержится в эссе Рэймонда «Заселяя ноосферу», впервые опубликованном в 1998 году и обновлявшемся до 2000 года, где он анализирует различные направления хакерской культуры. Рэймонд утверждает, что «исторически самая заметная и лучше всего организованная часть хакерского сообщества», с его точки зрения связанная со Столлманом и Фондом свободного программного обеспечения, была «особенно фанатичной и особенно антикоммерческой». Лишь после «взрывного роста Linux в 1993–1994 годах», отмечает он, более прагматичная группа хакеров смогла реально укрепить свои позиции, сосредоточившись вокруг разработки Linux.
Если смотреть широко, исторический нарратив действительно согласуется с тезисом Рэймонда о том, что центр тяжести в хакерском сообществе к середине 1990‑х сместился в сторону «прагматизма». Однако более внимательный анализ выявляет гораздо более сложную картину. Во-первых, как показывается во второй главе, некорректно называть Столлмана и проект GNU непрагматичными или антикоммерческими, особенно в первые годы их существования. Столлман и его соратники твердо придерживались своих принципов, но не выступали против коммерческих начинаний, связанных со свободным программным обеспечением. Напротив, они сами стояли у истоков таких проектов. Более того, они были готовы идти на прагматичные компромиссы — например, когда в конце 1980‑х годов смягчили условия лицензии GPL.
Кроме того, картина, рисуемая Рэймондом, согласно которой линуксоиды были более прагматичными, менее фанатичными и менее антикоммерческими по сравнению с их коллегами из GNU, представляется весьма неоднозначной. Такие характеристики подходят лишь некоторым разработчикам Linux в определенные периоды истории ядра. Но, например, участники проекта Debian, появившегося из опасений, что экосистема Linux становится слишком коммерциализированной и теряет свою ценность для хакеров, явно не вписываются в эту схему. Более того, сам Торвальдс, как отмечалось в предыдущей главе, был настроен крайне антикоммерчески, когда впервые выпустил ядро Linux: об этом говорит пункт о запрете коммерческого использования в первой лицензии Linux. Все это еще больше размывает и усложняет идею о четком различии между мировоззрением линуксоидов и позицией Столлмана и его единомышленников по поводу программного обеспечения и хакерских ценностей.
Наконец, хотя хакерская культура к 1990‑м годам и эволюционировала по сравнению с прошлыми десятилетиями, ее основные ценности остались прежними. Конечно, какой-либо единой, универсальной хакерской этики в 1990-х, как и в 1950‑х и 1960‑х годах, выработано не было. Тем не менее, как показывает Стивен Мизрач в сопоставлении хакерской литературы разных периодов, большинство хакеров 1990‑х продолжало придерживаться базового набора принципов, к числу которых относились, в частности, идеи обмена и открытого общения. Мизрач также отмечает явную преемственность этих ценностей в 1990‑х и их истоков у хакеров 1950–1960‑х годов. Таким образом, нельзя говорить о каком-то принципиальном изменении типа хакера, который возглавлял сообщество с 1960‑х по 1990‑е годы.
По всем этим причинам гражданскую войну FOSS конца 1990‑х нельзя рассматривать как столкновение между прагматичными и непрагматичными хакерами, между разными поколениями хакеров или группами, исповедовавшими диаметрально противоположные версии хакерской этики. На самом деле конфликт был сосредоточен вокруг определения смысла, целей и границ революции FOSS — вопросов, которые хакеры так и не смогли четко прояснить, несмотря на многолетние усилия по развитию проектов свободного программного обеспечения.
Неопределенность относительно сути и целей революции свободного программного обеспечения содержалась в движении с самого начала. Как отмечалось во второй главе, когда Столлман объявил о проекте GNU в сентябре 1983 года, он не уточнил, что он имел в виду, когда говорил о задуманной им Unix-подобной операционной системе как «свободной». Читателям было легко предположить, что Столлман собирался распространять программное обеспечение бесплатно. «Манифест GNU», опубликованный Столлманом в 1985 году и впоследствии неоднократно обновлявшийся, придавал большее значение необходимости делиться исходным кодом, чем объявление 1983 года, однако основной акцент в «Манифесте» все равно оставался на создании бесплатного программного обеспечения. Позже, комментируя этот документ, Столлман признал, что его «формулировки были небрежными» и что на момент публикации текста он «еще не разделял четко вопросы цены и свободы».
Даже несмотря на то что со временем Столлман стал гораздо более ясно формулировать свою позицию — что главная цель свободного программного обеспечения для него заключается в обеспечении свободы пользователя через распространение исходного кода, — неоднозначность термина «свободное программное обеспечение» в первые годы GNU-проекта породила путаницу, которую позднейшие разъяснения Столлмана так и не смогли до конца развеять. Именно на этой путанице в 1990‑х и возникли разные подходы хакерских сообществ к тому, что именно должно входить в понятие свободного программного обеспечения.
Одним из первых проявлений этого конфликта стали споры о том, как называть дистрибутивы на основе GNU/Linux. Как объясняется в третьей главе, распространенная практика называть операционные системы, основанные на ядре Linux и программном обеспечении GNU, просто Linux спровоцировала громкую кампанию Столлмана по продвижению названия GNU/Linux с целью подчеркнуть, как он выражался, «этическую значимость» свободного программного обеспечения. Эта кампания в основном оказалась неудачной, и даже сегодня термин GNU/ Linux практически не встречается за пределами узкого круга программистов, активно поддерживающих Фонд свободного программного обеспечения. (В этой книге термин GNU/Linux применяется с целью объективности, а не как выражение поддержки какой-либо конкретной идеологии или направления в FOSS.)
В 1999 году один из типичных пользователей свободного программного обеспечения заметил, что Столлман проиграл битву за термин GNU/Linux потому, что сам термин оказался слишком неудобным для широкого распространения. «Я признаю, что это GNU/Linux, но не называю его так, потому что мне лень», — сказал он. Однако аргумент лени лишь вскользь затрагивает настоящую суть дела. Для многих хакеров, оппонирующих Столлману, главная проблема заключалась не в том, что название GNU/Linux или другие инициативы Фонда свободного программного обеспечения требовали от пользователей чрезмерных усилий, а в том, что эти инициативы были недостаточно утилитарны, чтобы отвечать, по их мнению, истинным целям революции FOSS — сделать программирование более эффективным, а не исполнять некий этический долг.
Различия в подходах к вопросам этики и утилитарности ярко проявились в серьезном конфликте 1990‑х вокруг темпов развития GNU C Library (glibc). Группа разработчиков Linux считала, что обновления glibc выходят слишком медленно для быстрорастущего Linux, и поэтому создала собственный форк библиотеки, развивая его независимо от оригинального GNU-проекта. Такой параллельный форк просуществовал несколько лет, пока в январе 1997 года не вышла новая версия glibc от GNU — тогда разработчики альтернативной ветки вновь перешли на официальную версию. Тем не менее напряженность сохранилась: Столлман отказался интегрировать код из форка обратно в свою версию glibc, объяснив это неясностью в вопросах авторством кода.
В основе конфликта вокруг форка glibc лежал вопрос о том, насколько прикладным должно быть свободное программное обеспечение. Для GNU, где еще господствовал соборный подход к разработке, ключевым оставались редкие, но насыщенные возможностями и тщательно отлаженные релизы библиотеки, ведь долгосрочная цель заключалась в создании изящной операционной системы, приносящей максимальную выгоду пользователям. В свою очередь, создатели форка glibc стремились получить реализацию, которая соответствовала бы динамичным потребностям разработчиков ядра Linux, с релизами, выходящими рано и часто, чтобы поддерживать быстрые темпы эволюции Linux.
Споры о том, должен ли утилитарный подход определять стратегию движения FOSS, на протяжении 1990‑х только усиливались. Кульминация наступила в 1998 году, когда компания Netscape объявила, что откроет исходный код своего веб-браузера (это решение впоследствии привело к созданию Mozilla, о чем речь пойдет далее в этой главе). Эта новость побудила издателя Тима О’Рейли, сторонника FOSS, созвать в апреле встречу, на которую, по выражению Рэймонда, была приглашена «избранная группа самых влиятельных деятелей сообщества сторонников открытого исходного кода». Среди них были сам Рэймонд, Торвальдс, представители Mozilla и Apache, создатели языков Perl и Python и несколько других участников. Столлман, которого О’Рейли посчитал «слишком негибким и не склонным к диалогу», приглашен не был. Хотя вместо него были приглашены другие представители проекта GNU — Джон Гилмор и Майкл Тименн, — решение не звать основателя движения FOSS вызвало недовольство некоторых хакеров. В частности, Брюс Перенс, известный по проекту Debian, отказался прийти на встречу в знак протеста.
Состав участников апрельской встречи 1998 года расколол хакерское сообщество, а решения, принятые там, только усилили напряженность. На этом собрании, при голосовании девятью голосами против шести, термин «открытый исходный код» (open source) был официально утвержден как альтернатива «свободному программному обеспечению» (free software) — идея, впервые высказанная Рэймондом в феврале 1998 года. Участники встречи рассчитывали, что выбранная терминология — ее выбрали из множества вариантов, включая freeware, sourceware и freed software, — принесет практическую пользу: сумеет убедить «корпоративный мир перейти на наш способ разработки ради экономических, прагматичных, неидеологических соображений», говорится в репортаже Рэймонда после встречи. Для Рэймонда и других сторонников термина «открытый исходный код» учет интересов бизнеса был всего лишь средством. Как и для Столлмана, для них важнее всего была защита хакерской культуры. Рэймонд даже писал, что считает движение за открытый исходный код необходимым, потому что только оно способно освободить хакеров из «гетто», в котором они оказались к 1990‑м годам, «замкнутые в себе из-за огромной и невидимой стены предрассудков массовой культуры» по отношению к хакерам.
Все ключевые фигуры сообщества FOSS признавали важность сохранения хакерской культуры. Различие между ними заключалось в том, что Рэймонд и его сторонники рассматривали утилитаризм как лучший способ достижения этой цели, тогда как Столлман был непреклонен в убеждении, что отказ от риторики свободы неизбежно ослабит защиту самой хакерской культуры.
Чтобы укрепить свои позиции, сторонники открытого исходного кода продвигали документ, в основном написанный Брюсом Перенсом, — «Определение открытого программного обеспечения», — в котором подробно описывалось, что такое «лицензия открытого программного обеспечения» и чем открытое программное обеспечение отличается от свободного. Кроме того, организация Open Source Initiative, созданная в начале 1998 года на волне новостей о Mozilla, дала лагерю сторонников открытого исходного кода такую же институциональную опору, какую Фонд свободного программного обеспечения предоставлял сторонникам свободного программного обеспечения.
Как и следовало ожидать, Столлман и близкие к нему хакеры встретили кампанию open source с презрением. На конференции LinuxWorld Convention and Expo в 1999 году Столлман назвал инициативу открытого программного обеспечения «полумерой», которая обрекает движение свободного программного обеспечения на невозможность достижения его главной цели — свободы пользователей. В интервью в марте 1999 года он охарактеризовал Торвальдса как «прежде всего инженера», который «любит свободное программное обеспечение, но его не волнуют проблемы свободы». Он добавил, что из-за продвижения открытого программного обеспечения «люди больше не знакомятся с философскими взглядами проекта GNU», дав понять, что возвышенное видение GNU подменяется сугубо утилитарными целями.
Столлман был не единственным из известных хакеров, кто высказывался в таком духе. Даже Брюс Перенс — автор «Определения открытого программного обеспечения», который, пожалуй, лучше всех умел тогда лавировать между двумя лагерями FOSS, — в 1999 году ушел из Open Source Initiative, посчитав, что организация слишком отошла от принципов Фонда свободного программного обеспечения.
Рэймонд и другие сторонники открытого программного обеспечения не остались в долгу и ответили на нападки лагеря свободного программного обеспечения. Они утверждали, что посыл Фонда свободного программного обеспечения не встречает отклика у тех, кто сам не является хакером, особенно в бизнес-среде. Рэймонд предупреждал, что риторика Столлмана «сбивает с толку и отталкивает большинство людей». Торвальдс, хотя и отмечал, что Столлману «нужно поставить памятник за создание GPL», сетовал: «Он все видит только черно-белым. Отсюда — бессмысленные политические раздоры. Он не способен принять чужую точку зрения. Если бы он ударился в религию, то был бы религиозным фанатиком».
Одним из оснований для подобных упреков в адрес Столлмана было представление о том, что его радикальная риторика обусловлена глубоко укоренившейся враждебностью к коммерциализации. Поэтому, например, только после возражений Столлмана Рэймонд внес изменения в свое эссе «Заселяя ноосферу», отметив там заявление Столлмана о том, что он не является противником коммерциализации. В первоначальной версии текста Рэймонд утверждал, что Столлман возглавляет тот сегмент хакерского сообщества, который наиболее враждебно настроен к коммерциализации.
На деле, как уже отмечалось в этой главе, подобные представления о Столлмане не соответствуют действительности. Столлман и Фонд свободного программного обеспечения не соглашались с тезисом open source-лагеря о том, что главной целью должно быть максимальное сближение движения FOSS с интересами бизнеса. Однако они не были против получения прибыли от FOSS при условии, что это не противоречило другим принципам.
Образ Столлмана как противника бизнеса плохо согласуется с тем, как он сам хотел выглядеть, хотя его поступки середины 1990‑х часто мешали бизнесу воспринимать его всерьез. В 1996 году он придумал себе новый образ — Святого Игнуция: переодевался в пародийные религиозные одежды, надевал бумажный нимб и объявлял себя святым «Церкви Emacs». По словам самого Столлмана, такие выступления были самоиронией и попыткой разрядить атмосферу в сообществе сторонников свободного программного обеспечения; они не были антикорпоративными или отталкивающими — просто странными. В конце 1990‑х годов Столлман неоднократно подчеркивал, что он вовсе не выступает против коммерческой деятельности. Как он сказал в одном интервью: «Я вообще не против коммерции».
В конце концов такие заявления мало повлияли на тот образ Столлмана и Фонда свободного программного обеспечения, который сформировался еще в 1990-е. Победителей и проигравших в гражданской войне FOSS не оказалось — обе стороны продолжают работать, но их сотрудничество ограничено, а возникший тогда раскол так и не был преодолен. Столлман до сих пор жестко критикует терминологию открытого исходного кода. Например, он заявил мне: «Ошибочно приводить мои цитаты как пример взглядов сторонника открытого исходного кода — так же ошибочно, как и считать Рузвельта образцом консерватизма. Я не за открытый исходный код; я за свободное программное обеспечение». В отличие от таких фигур, как Торвальдс, которого в 2001 году Reader’s Digest назвал «европейцем года», вне профессионального сообщества Столлман остался относительно неизвестным. Лагерь GNU формально не проиграл гражданскую войну FOSS, но по ее итогам его влияние на методы разработки и распространения кода оказалось значительно меньше, чем в 1980‑х и начале 1990-х.
© Горький Медиа, 2025 Все права защищены. Частичная перепечатка материалов сайта разрешена при наличии активной ссылки на оригинальную публикацию, полная — только с письменного разрешения редакции.