Ради удовольствия и прибыли. История революции свободного и открытого программного обеспечения

Размер шрифта:   13

«For Fun and Profit: A History of the Free and Open Source Software Revolution» by Christopher Tozzi

© 2017 Massachusetts Institute of TechnologyПрава на издание книги на русском языке приобретены через «Агентство Александра Корженевского» (Москва)

© Издательство Института Гайдара, 2025

Перевод с английского под научной редакцией Артема Смирнова

* * *

В книге содержатся упоминания компании Meta Platforms Inc., включенной в Перечень общественных объединений и религиозных организаций, в отношении которых судом принято вступившее в законную силу решение о ликвидации или запрете деятельности по основаниям, предусмотренным Федеральным законом от 25.07.2002 № 114-ФЗ «О противодействии экстремистской деятельности».

Предисловие к русскому изданию

Писать предисловие к собственной книге спустя почти десять лет после публикации – это большая честь. Это позволяет осмыслить проделанную работу, располагая информацией и пониманием, которые были недоступны – или, по крайней мере, неизвестны мне – во время написания этой монографии.

С другой стороны, это заставляет меня взглянуть в лицо тому, в чем я ошибся, особенно в прогнозах относительно будущего свободного и открытого программного обеспечени (free and open source software, FOSS).

Десять лет назад я не мог предвидеть многие из ключевых технологических прорывов, которые сегодня кардинально влияют на движение FOSS. Самыми важными из них стали грандиозные достижения последних лет в области искусственного интеллекта и поразительно скромная роль свободного и открытого программного обеспечения в современной экосистеме ИИ.

Когда я писал эту книгу, FOSS играло заметную роль в области анализа данных (data analytics); многие из ведущих платформ «больших данных», такие как Hadoop и Spark, являются открытыми. Поскольку анализ данных во многих отношениях служит фундаментом для современных технологий ИИ, можно было ожидать, что и в экосистеме программного обеспечения, связанного с ИИ, будут доминировать решения с открытым исходным кодом.

На деле случилось ровно обратное. Основная часть больших языковых моделей (LLM), на которых работают современные платформы ИИ, не являются открытыми. Да и главные игроки в этой сфере – Amazon, Google, Microsoft и OpenAI – не слишком привержены принципам FOSS. (Кстати, само название OpenAI звучит как издевка над FOSS, ведь практически ни одна из современных технологий ИИ этой компании не является открытой ни в плане исходного кода, ни в каком-либо другом понятном смысле, хотя организация изначально создавалась с целью разработки открытого ИИ.)

Meta составляет исключение: последние пару лет она активно рекламирует свои якобы открытые LLM и пытается выделиться на фоне конкурентов, декларируя приверженность принципам открытого ИИ. Проблема в том, что Meta создала для своих LLM собственные лицензии, а не стала использовать проверенные временем лицензии FOSS. Как справедливо указывают авторитетные организации FOSS вроде Open Source Initiative, лицензии Meta с такими условиями, как запрет конкурентам использовать ее LLM без специального разрешения, во многом противоречат даже самому вольному толкованию принципов FOSS.

ИИ также поставил перед сообществом FOSS принципиально новые вопросы относительно интерпретации лицензий свободного и открытого программного обеспечения. Если LLM обучается на общедоступном открытом исходном коде, а затем генерирует новый код, является ли этот новый код производным произведением от открытого исходного кода, и должен ли он тогда подчиняться тем же лицензионным условиям, что и оригинальный код? Этот вопрос, которого я совершенно не предвидел при написании данной книги, прямо сейчас, когда я пишу это предисловие, рассматривается в американских судах. Ответ на него может иметь фундаментальное значение для будущего FOSS в мире, где инструменты ИИ на основе LLM стали играть ключевую роль в производстве программного обеспечения.

Из-за подобных вопросов я больше не так уверен в том, что FOSS действительно одержало ту самую окончательную «победу», о которой я писал десять лет назад. Да, FOSS сейчас везде, и даже Microsoft, когда-то настроенная крайне враждебно, теперь охотно работает с разработчиками и проектами открытого программного обеспечения. Тем не менее сложные проблемы, которые ИИ создает для сообщества FOSS, побуждают меня усомниться в том, сможет ли FOSS сохранить свое обширное влияние в условиях, когда цифровые экосистемы все больше зависят от ИИ. Возможно, что мир, где господствует ИИ, окажется столь же закрытым, как тот, в котором в 1990-е годы господствовала Microsoft.

Что за последние десять лет точно не изменилось, так это мое понимание того исторического пути, который привел к появлению FOSS в том виде, в каком оно существовало примерно в 2017 году и сохраняется до сих пор. Такие люди, как Ричард Столлман и Линус Торвальдс, по-прежнему заслуживают того признания, которое им оказано на страницах этой книги, за их прозорливость и упорный труд, благодаря которым появилось свободное и открытое программное обеспечение. То, что они не смогли предугадать такие проблемы, как современный ИИ – технологию, которую в 1980–1990-х вообще никто не мог себе представить, – нисколько не умаляет их огромного вклада в философские, правовые и технические основания FOSS.

Замечу, что если бы я заново писал эту книгу, то, вероятно, уделил бы больше внимания сообществам и программным проектам за пределами экосистем, где доминируют GNU и Linux. Именно на них я сосредоточился в этой работе, и хотя я считаю их самыми значимыми в истории FOSS, есть и другие важные части этой истории – например, работа программистов, создавших различные открытые версии BSD Unix, – которые достойны гораздо большего внимания, чем то, которое было уделено им в этой книге.

Этой и многими другими мыслями, которые я не могу обсудить в рамках этого краткого предисловия, я обязан читателям, которые нашли время поделиться своими размышлениями об этой книге с момента ее публикации. Я также признателен тем, кто продолжает ее читать. Я надеюсь, что она даст им повод задуматься о прошлом, настоящем и будущем FOSS, независимо от того, насколько правильными или ошибочными окажутся со временем мои доводы.

Кристофер Тоцци

Трой, Нью-Йорк

май 2025

Предисловие

Идеалы движения свободного программного обеспечения имеют фундаментальное значение для наших отношений с технологиями. Их цель – дать нам возможность изучать и изменять становящийся все более сложным и вездесущим код, который определяет нашу жизнь. Через изучение и совершенствование этого кода мы лучше понимаем окружающий мир и можем влиять на него, что способствует развитию самостоятельности и самореализации – важнейших аспектов[1] полноценного развития человека.

Отстаивание этих идеалов также может уберечь нас от чрезмерных ограничений и контроля. По словам Артура Кларка, любая достаточно развитая технология неотличима от магии,[2] а магия неизбежно сосредотачивает власть в руках волшебников и тех, кто ими управляет или регулирует их деятельность.

Хотя идеалы движения свободного программного обеспечения носят вневременной характер, их воплощение становится все более сложной задачей. В 1980-х и 1990-х годах развитие свободного программного обеспечения опиралось на достижения академического сообщества и его ценности в компьютерной сфере. Как вы узнаете из этой книги, новаторская (и в итоге свободная) операционная система Unix возникла благодаря уникальным условиям в Лабораториях Белла – корпоративном источнике, который из-за мирового соглашения в отношении системы Белл изначально был ограничен в возможностях ее коммерциализации. Представители академической среды готовы были расширять, а позже и полностью перестроить всю систему, чтобы сохранить ее открытой.

Сегодня большинство корпоративных разработчиков операционных платформ, будь то для гаджетов, которые мы покупаем, или для облачных сервисов, к которым эти гаджеты подключаются, не связаны подобными ограничениями. Некоторые участники рынка обладают достаточной финансовой мощью и рыночным господством, чтобы внедрять новый код, практически не опираясь на старый – и не принимая сопутствующие ему схемы свободного лицензирования.

Парадоксально, но та открытость, которая сделала интернет возможным и универсальным, означает, что код может выполняться удаленно через сеть так же легко, как и на самом устройстве. Развитие облачных вычислений не должно влиять на функциональность, но основополагающее действие, подкрепляющее исходные основные лицензии свободного программного обеспечения (если вы копируете код для передачи другому лицу, включая клиента, вы должны передать и инструменты для его чтения и изменения), больше не является частью процесса использования кода и извлечения из него прибыли. Для запуска этого программного обеспечения теперь не требуется такая передача, а это значит, что не срабатывают и положения, обеспечивающие свободу, которые предусмотрены в большинстве лицензий свободного программного обеспечения.

Сегодня мы живем в мире, где программные продукты, которые нам помогают, принимают за нас решения и отображают книги и другой контент, стали одновременно и более мощными, и менее понятными, чем когда-либо. История, которую вы сейчас прочтете, не просто захватывающий рассказ о неординарных людях и их столкновениях из-за принципиальных убеждений, но и источник идей о том, как нам жить во все более алгоритмизированном мире.

Джонатан Зиттрейн

Благодарности

Эта книга появилась на свет благодаря многим великодушным людям, которые поверили в меня, даря свое время, терпение и материальную поддержку.

Мои дедушка и бабушка, Роберт и Дороти Шацле, не пожалели денег и купили мне первый компьютер – IBM PS/2, когда я учился во втором классе, надеясь развить во мне новое творческое увлечение. Мой дядя Энди Тоцци жертвовал своими субботними утрами, чтобы водить меня на компьютерные ярмарки и учить работе с Windows 3.1. Много лет спустя он записал для меня мой первый установочный диск GNU/Linux (это был SUSE). Другая моя бабушка, Мэри Энн Тоцци, научила меня писать электронные письма, хотя у нее было множество гораздо более важных дел.

Во время учебы в университете и аспирантуре Марк Сэнфорд и Джо Стоун дали мне студенческую подработку по администрированию серверов GNU/Linux, хотя ничто в моей зачетке тогда не говорило о том, что я этого заслуживаю. Джо Панеттьери предложил мне первую оплачиваемую работу в качестве автора для не существующего ныне блога об Ubuntu, хотя у меня не было ни одной публикации. Шарлин О’Хэнлон, которая редактировала мои тексты, терпеливо помогала улучшать мой стиль и исправляла ситуации, когда я случайно нарушал запреты на раннюю публикацию новостей.

Дэвид А. Белл, научный руководитель моей докторской диссертации по истории Франции, поддержал работу над этим проектом, хотя я переживал, что это может странно смотреться в моем резюме. Он напомнил мне, что научный мир стал бы действительно скучным местом, если бы профессора боялись изучать то, что им по-настоящему интересно.

Анонимные рецензенты моей рукописи для MIT Press предоставили превосходные и проницательные отзывы, которые значительно помогли улучшить содержание этой книги. Я также благодарен сотрудникам MIT Press, особенно Кэти Хелке, за то, что они сделали процесс публикации этой работы простым и приятным.

Многие читатели моих статей об истории программного обеспечения в The VAR Guy оставили замечания, которые помогли отточить идеи, представленные в этой книге. Один из читателей, Арт Протин, с которым я не был знаком ранее, нашел время, чтобы прочитать и прокомментировать полную рукопись книги. За это я ему глубоко благодарен. Участники Колумбийской группы пользователей Linux, пригласившие меня выступить с рассказом об этом проекте, также дали много ценных отзывов об этой работе.

Дэйв Шнейдер, предложивший опубликовать материалы по теме книги в журнале IEEE Spectrum, оказался блестящим редактором и наставником, что улучшило весь проект.

Кейт Сохаски пошла на самый большой риск и сделала самый ценный подарок. Она вышла за меня замуж, когда я был в разгаре работы над этой книгой. (На тот момент она была пользователем Windows 7, но с тех пор перешла на Ubuntu.) Единственное, что делает меня счастливее, чем женитьба на ней, – это предвкушение тех радостных моментов, которыми мы будем делиться в будущем.

Введение

Живи Руссо двумя веками позже, он мог бы сделать похожее замечание о программном обеспечении: «Код рождается свободным, но повсюду он в оковах». В начале 1980-х годов наступила эпоха, когда большинство программистов перестали свободно делиться кодом – хотя именно так они поступали в первые десятилетия разработки программного обеспечения, прежде чем коммерческие интересы преобразили ранний мир компьютерных технологий.

Руссо компьютерной эпохи мог бы оказаться не менее проницательным философом, чем его реальный прообраз из эпохи Просвещения. Подобно тому как 1780-е ознаменовали начало революции против неравенства в социально-политической сфере, 1980-е положили начало схожему восстанию, целью которого было восстановление свободы программного обеспечения. К концу 1990-х эта революция победила. Во многих областях код снова обрел свободу.

* * *

Сопоставление философов XVIII века с технологиями XX века может показаться не более чем основой для плохого научно-фантастического романа. И все же связь здесь не является ни шаблонной, ни натянутой. Руссо и его бунтарски настроенные современники имели много общего с группой программистов, которые сформировались как личности ближе к концу холодной войны. Каждая из этих групп способствовала началу революций, изменивших мир.

Это были очень разные революции. Французская революция 1789 года спровоцировала жестокое междоусобное насилие и десятилетия войн. Революция свободного и открытого программного обеспечения, начавшаяся в 1980-х, никогда никого не убивала. Но обе революции были радикальными и пересматривали существующий порядок, и влияние последней можно считать столь же глубоким, как и влияние политических потрясений эпохи революций. Подобно тому как политика и формы общественной организации не выглядели бы так, как они выглядят сегодня, если бы революций XVIII века не случилось, так и способ использования компьютеров миллионами людей был бы кардинально иным, если бы никогда не произошло революции в сфере компьютерного кода.

Это сходство не случайно. Революция свободного и открытого программного обеспечения (free and open source software, FOSS) черпала из тех же идеологических источников, что и более кровавые революции, предшествовавшие ей. Порой идеологи программной революции даже искали вдохновение в «революционном сценарии», подготовленном политическими революционерами столетиями ранее.[3]

Эта книга исследует революцию, породившую свободное и открытое программное обеспечение. Она прослеживает происхождение революции, рассказывает о различных ее фазах, объясняет ее непредсказуемую траекторию и неожиданные исходы. Также книга заглядывает в будущее, чтобы предсказать, как FOSS будет продолжать развиваться.

Что такое FOSS?

По ряду причин определить значение термина «свободное и открытое программное обеспечение» (FOSS) для целей этой книги не так просто. Прежде всего, термин «свободное программное обеспечение» многозначен. Иногда он указывает на программы, которые можно законно копировать бесплатно. Также он может описывать программное обеспечение с исходным кодом, регулируемое особыми лицензиями, которые обеспечивают возможность просмотра кода любым желающим. Некоторые программы, называемые свободным программным обеспечением, обладают обеими этими характеристиками.

В то же время для термина «открытое программное обеспечение» не существует единого определения. Сообщество FOSS обычно использует это выражение для описания программ с общедоступным исходным кодом под определенными лицензиями, в отличие от других программ, которые оно относит к свободному программному обеспечению. В целом различие связано с тем, насколько лицензии обеспечивают сохранение тех же прав на копирование в производных работах, какие были предоставлены исходной лицензией. Тем не менее не существует единого представления о том, какие лицензии делают программное обеспечение открытым, а какие применяются к свободному программному обеспечению.

Ситуация становится еще более запутанной из-за того, что хотя термины «свободное программное обеспечение» и «открытое программное обеспечение» в какой-то степени взаимозаменяемы, если не учитывать разницу между ними, можно серьезно задеть чувства программистов, принадлежащих к разным лагерям. Некоторые разработчики ненавидят, когда их работу называют открытым программным обеспечением, если для них это свободное программное обеспечение, и наоборот. Журналисты и маркетологи редко проводят различие между этими двумя терминами и порой не понимают разницу между FOSS и просто бесплатными программами, что только усложняет ситуацию. К тому же выражение «открытое программное обеспечение» появилось только в 1998 году, что делает анахронизмом употребление этого термина для описания кода, разработанного раньше этой даты, хотя многие так часто делают при обсуждении исторических событий.

Кроме того, само значение слова «открытое» применительно к программному обеспечению полно неоднозначностей. Обычно мало кто спорит о том, что такое «закрытое программное обеспечение». Этот термин относится к программам, чей исходный код не публикуется. В отличие от этого, «открытый» код существует во многих формах и для разных людей означает разное. Одни считают, что предоставление исходного кода по запросу уже делает его открытым. Другие настаивают, что дополнительным требованием открытости является разрешение третьим лицам использовать этот код в своей работе. Кто-то утверждает, что если код предоставляется без документации или понятного объяснения принципов его работы, то его сложно назвать по-настоящему открытым. Как показывает эта книга, споры о значении открытости были главным стимулом развития в истории FOSS. В этом смысле история FOSS отражает более широкую дискуссию о значении и важности открытости в компьютерном мире с 1970-х годов. Исследователи вроде Эндрю Рассела изучали эту тему в целом, но не в контексте FOSS.[4]

Несмотря на сложности с основной терминологией FOSS, эта книга стремится использовать термины «свободное программное обеспечение» и «открытое программное обеспечение» («программное обеспечение с открытым исходным кодом») так, чтобы это соответствовало намерениям создателей программ. В этой книге термин «свободное программное обеспечение» относится к программам, которые их разработчики или пользователи называют таковыми потому, что их исходный код может свободно изучаться и изменяться людьми, использующими эти программы, независимо от того, нужно ли платить за него или нет. Некоторые сторонники свободного программного обеспечения пишут этот термин с заглавной буквы – «Свободное программное обеспечение», чтобы подчеркнуть, что оно «„Свободное“ в значении свободы» («Free as in Freedom»), а не обязательно бесплатное (free of cost).[5] Однако ради единообразия стиля и сохранения политической нейтральности в этой книге термин будет писаться со строчной буквы.

Термин же «программное обеспечение с открытым исходным кодом» я буду использовать применительно к программному обеспечению, создатели и пользователи которого предпочли его термину «свободное программное обеспечение». Я делаю так независимо от того, отличается ли само программное обеспечение или его лицензия принципиально от того, что составляет свободное программное обеспечение. Другими словами, когда это было возможно, я старался следовать терминологии самих участников исторических событий.

В этой книге термин «свободное программное обеспечение» не означает программы, которые можно получить бесплатно, но которые не имеют ничего общего с тем, что ранние сторонники движения свободного программного обеспечения называли «свободным программным обеспечением». Программы, которые просто раздаются бесплатно, лучше называть термином «бесплатное программное обеспечение» («freeware»). В отличие от последнего, свободное программное обеспечение позволяет людям, не являющимся первоначальными создателями кода, делиться этим программным обеспечением, изучать его и изменять. Для этого необходим доступ к исходному коду, так как он нужен для понимания работы программы и внесения в нее изменений. Кроме того, хотя FOSS обычно бесплатен, эта бесплатность не является определяющим признаком ни свободного, ни открытого программного обеспечения. Как показано в этой книге, некоторые из самых известных проектов FOSS не всегда распространяли свои продукты бесплатно. В других случаях оплата была добровольной. FOSS определяет именно публичная доступность исходного кода, а не цена.

История истории FOSS

Мало найдется книг, которые одновременно так легко и так трудно писать, как книгу по истории FOSS. С одной стороны, поскольку до сих пор никто из исследователей не пытался рассказать систематично, всесторонне и объективно историю движения FOSS от его зарождения в «хакерской культуре» после Второй мировой войны до наших дней, эта книга имеет дело с непаханым полем. Это редкость, ведь большинство исторических работ (даже тех, которые, как эта, освещают недавнее прошлое) обычно посвящены темам, уже настолько изученным, что историки в лучшем случае могут надеяться найти что-то новое или предложить свежий взгляд на известные факты, а не представить большой объем нового материала. То, что в этой книге я стремился сделать именно последнее, сделало ее написание привилегией и удовольствием.

С другой стороны, отсутствие опубликованных исторических работ о движении FOSS, которые стремились бы быть как исчерпывающими, так и объективными, серьезно осложнило исследование и написание этой книги. И хотя истории FOSS посвящено немало работ, ни одна из них не соответствует напрямую задачам этой книги. Чтобы пояснить, чем отличается мой подход, стоит кратко рассмотреть предыдущие исследования по схожей тематике.

Истории FOSS из первых рук

Существующие публикации по истории FOSS образуют два основных блока литературы. Первый состоит в основном из первоисточников, созданных ключевыми деятелями истории FOSS или журналистами и исследователями, тесно работавшими с ними. Среди них – эссе Эрика С. Рэймонда «Краткая история страны хакеров» и «Месть хакеров», рассказывающие историю FOSS с точки зрения автора с конца 1960-х до конца 1990-х годов.[6] Также примечательны биографии Ричарда Столлмана и Линуса Торвальдса, описывающие вклад этих выдающихся личностей в развитие FOSS.[7] Книга Питера Салюса 1994 года «Четверть века UNIX», содержащая длинные выдержки из интервью с программистами Unix, предлагает ценный первичный материал и информативные комментарии Салюса об истории некоторых Unix-подобных операционных систем (хотя Салюс почти не упоминает GNU или Linux).[8] Статьи, опубликованные в сборнике 1999 года «Открытые источники: голоса революции открытого программного обеспечения» под редакцией Криса Дибоны, Сэма Окмана и Марка Стоуна, а также книга Глина Муди 2002 года «Код бунтаря: Linux и революция открытого программного обеспечения», также содержащая обширные интервью с программистами FOSS, завершают список основных опубликованных свидетельств из первых рук по истории FOSS.

Большинство этих работ имеет два главных недостатка. Во-первых, они были написаны теми же людьми, которые в них описываются, либо в тесном сотрудничестве с ними. Это не обязательно означает, что представленные истории неточны или утверждения предвзяты. Но это ограничивает их взгляд и настораживает любого историка, понимающего опасность слепого доверия словам участников исторических событий. Критически анализируя эссе и биографии таких деятелей, как Рэймонд, Столлман и Торвальдс, и указывая на противоречия между этими работами, эта книга стремится рассказать историю FOSS с более широкой и объективной позиции, чем предыдущие попытки.

Кроме того, эта книга основывается не только на известных первоисточниках, описанных выше, но и на более редких материалах, таких как сообщения в Usenet, почтовые архивы и собственные интервью, которые я провел с программистами FOSS. Благодаря этому она представляет обилие свидетельств, позволяющих дать более глубокое и детализированное объяснение истории FOSS, чем смогли предложить в своих воспоминаниях такие фигуры, как Рэймонд и Торвальдс.

Второе ограничение существующих исторических работ, основанных на первоисточниках, состоит в том, что практически все они были написаны в начале 2000-х годов или раньше. В этом нет ничего удивительного. Конец 1990-х – когда термин «открытый исходный код» стал привычной частью технологического словаря, а компании, продававшие Linux или связанное с ним программное обеспечение, переживали стремительный рост, – остается, пожалуй, самым захватывающим и многообещающим периодом в истории FOSS. События после этого – например, попытка Canonical возродить Linux для персональных компьютеров, выпустив Ubuntu в 2004 году, или скрытая роль, которую Linux играет в смартфонах и планшетах на Android, – не привлекали столько общественного внимания к FOSS. Но это не значит, что события в мире FOSS с начала 2000-х годов не важны для объяснения того, как разработчики, компании и сторонники FOSS пришли к своему нынешнему положению. Поэтому эта книга стремится собрать воедино разрозненные исторические описания FOSS, созданные до начала 2000-х, и продолжить их повествование до наших дней.

Научные работы

Научные работы составляют второй основной блок опубликованной литературы об истории FOSS, на который опирается эта книга. С начала 2000-х годов ученые исследовали некоторые направления истории FOSS в рамках работ, написанных в основном в социологическом или антропологическом ключе.

Первая обзорная работа по истории FOSS, предназначенная для научного сообщества, появилась в 2001 году, когда Дэвид Бреттхауэр, библиотекарь Университета Коннектикута (и участник Connecticut Free Un*x Group), опубликовал статью «Программное обеспечение с открытым исходным кодом: история».[9] Это короткое эссе в основном повторяло информацию из опубликованных первоисточников, о которых говорилось выше. Однако оно было важным, поскольку, в отличие от предыдущих работ, пыталось представить целостную историю FOSS. В работе рассматривались культурные и философские корни ценностей FOSS, а также развитие GNU, Linux и операционной системы BSD (Berkeley Software Distribution). Бреттхауэр также коротко описал историю других важных проектов FOSS, таких как Perl, Python и Apache. Нельзя сказать, что его эссе изобиловало подробностями, но оно впервые побудило исследователей рассматривать FOSS как целостное явление с долгой историей, заслуживающей изучения.

Работая в том же направлении, Натан Энсменджер стал первым ученым, который открыто заговорил о научной значимости истории FOSS. В статье 2004 года «Уроки открытого исходного кода для историков» Энсменджер отметил, что сообщества FOSS предлагают «новые способы для этнографов и политологов осмыслить процесс самоуправления».[10] Он также предложил изучать FOSS как способ понять, как «техническая, социальная и политическая повестка» была тесно связана с разработкой программного обеспечения с самых ранних дней компьютерной эпохи.[11] Особенно важным был тезис Энсменджера о том, что – вопреки чрезмерно упрощенному взгляду на историю FOSS, преобладавшему в 2004 году и во многом сохранившемуся до сих пор,– появление FOSS не было внезапным «радикальным разрывом» со старыми методами написания и распространения кода. Он утверждал, что закрытое программное обеспечение и FOSS имеют более длительную и взаимосвязанную историю. По его словам, они представляют собой не полярные противоположности, а разные участки «спектра возможных конфигураций технологий, рынков и режимов интеллектуальной собственности».[12] Настоящая книга развивает эту мысль, выделяя разнообразные подходы к разработке и распространению программного обеспечения, возникшие в мире FOSS, одни из которых имеют больше общего с проприетарным программным обеспечением, чем другие.

Статья Энсменджера содержала важные наблюдения, необходимые для понимания того, как FOSS вписывается в сложную историю компьютерных и программных технологий. Она также бросила вызов упрощенным версиям истории FOSS, представленным такими авторами, как Рэймонд. В то же самое время она была лишь «концептуальным очерком» и не анализировала выдвинутые идеи детально. Позже Энсменджер вернулся к некоторым теориям из этой статьи в своей превосходной книге 2010 года «Компьютерные парни берут власть». Однако эта работа фокусировалась не на происхождении FOSS, а на истории профессионализации программирования.[13]

Стивен Вебер продвинулся дальше в изучении этнографических и политических теорий разработчиков FOSS в книге «Успех открытого исходного кода» – первой полноценной научной работе о FOSS. Вебера интересовало главным образом изучение того, как собственность «поддерживает социальную организацию сотрудничества и производства в эпоху цифровых технологий».[14] В этом исследовании он использовал FOSS как «реальный, поддающийся изучению пример сообщества и процесса создания знаний, который был фундаментально изменен или в значительной степени создан интернет-технологиями».[15] Исследуя, как интернет повлиял на методы разработки кода и взгляды на собственность у разработчиков FOSS, Вебер изложил историю Unix, BSD и Linux от их истоков до начала 2000-х годов.

Поскольку Вебер не пытался представить полную историю FOSS, в его книге гораздо меньше внимания было уделено истории других проектов FOSS, таких как GNU. Кроме того, как видно из названия книги Вебера, его интересовали в основном успешные проекты FOSS. Он не анализировал ограничения FOSS-разработки и не давал детальных объяснений того, почему одни проекты FOSS добиваются успеха, а другие нет. В этом отношении моя книга служит логическим продолжением работы Вебера. Например, одна из главных задач этой книги – объяснить, почему в 1990-х годах развитие GNU замедлилось, в то время как Linux набирал обороты.

Книга Кристофера Келти «Два бита: культурное значение свободного программного обеспечения» ставила задачу, схожую с задачей Вебера.[16] Опубликованная в 2008 году, эта книга представляет собой второй крупный научный анализ FOSS. Келти использовал в своей работе антропологический подход. Его главный тезис заключается в том, что сообщества FOSS функционируют как «рекурсивные публики», «озабоченные способностью строить, контролировать, изменять и поддерживать инфраструктуру, благодаря которой они и существуют».[17] Как и Вебер, Келти обращался к истории FOSS лишь в той мере, в какой это необходимо для антропологического анализа, но не для ее всестороннего объяснения. Тем не менее он довольно подробно рассказал историю Unix, GNU и Linux, и его работа имеет огромное значение, помещая историю FOSS в культурный и социальный контекст.

Некоторые другие научные работы, хотя и не углубляются в историю FOSS, все же предлагают ценные наблюдения для настоящей книги. К ним относится работа Рассела «Открытые стандарты и цифровой век», которая, как упоминалось выше, исследует, как «открытость» в широком смысле влияла на инженеров в последние несколько десятилетий.[18] История программного обеспечения Мартина Кэмпбелл-Келли с 1950-х до 1995 года «От систем бронирования авиабилетов до Соника» дает отличное представление о важнейшем воздействии, которое программное обеспечение в целом, хотя и не конкретно FOSS, оказывало на общество с первых дней компьютерной эры. «Наука операций: машины, логика и изобретение программирования» Марка Пристли ценна по схожим причинам. Статья Чарльза Юда, где утверждается, что «история вычислительной техники дает редкую возможность сделать работу историков значимой и интересной для людей за пределами академического мира», стала источником вдохновения для этой книги, написанной в надежде, что как ученые, так и читатели вне академической среды найдут в ней ценность.[19]

Наконец, работы Дэвида Берри, Венди Чан, Федерики Фрабетти, Мэтью Фуллера, Эрика фон Хиппеля, Льва Мановича и Георга фон Крога о культурном, экономическом и философском значении программного обеспечения крайне важны для понимания того, какую роль играли программисты и пользователи FOSS в последние несколько десятилетий в широком контексте программного обеспечения, компьютеров и кода.[20] Эти научные труды помогают понять, почему FOSS так много значил для такого большого числа людей. Как отмечают эти исследователи, значение программного обеспечения выходит далеко за рамки математических операций самого кода. Манович считает, что программное обеспечение приобрело всепроникающее значение, став основой для всех форм медиа в цифровую эпоху.[21] Чан замечает, что доступ к коду и контроль над ним кажутся единственными способами управления невероятно сложными и непонятными процессами работы компьютеров, которые управляют нашей жизнью,– даже если на самом деле связь между кодом и действиями компьютера совсем не прямолинейна, поскольку код может быть преобразован компиляторами или исполнен машинами совершенно неожиданным образом.[22]

В этом контексте важность споров о FOSS, которые описывает эта книга, становится более понятной. Сами по себе практические стороны кода не объясняют, почему программисты и пользователи FOSS так горячо спорили друг с другом и с представителями мира закрытого программного обеспечения. Возможность заимствовать и повторно использовать код, как это делают разработчики FOSS, безусловно удобна. Это экономит время и, вероятно, более эффективно. Но сама по себе эта возможность недостаточно важна, чтобы заставить рациональных людей рисковать своей репутацией и благосостоянием ради FOSS-кода, когда закрытое программное обеспечение может быть столь же прибыльным. Программисты все равно могли бы программировать, а пользователи компьютеров все равно могли бы запускать их код, даже если бы весь код был закрытым.

В таких условиях им бы не хватало ощущения контроля над своим миром. Сохраняя полный доступ к исходному коду программ, управляющих большей частью их жизни, разработчики и пользователи FOSS стремятся к независимости. Даже если они никогда на самом деле не модифицируют программы, знание того, что они могут это сделать, крайне обнадеживает. Это главная причина, по которой так много людей придавало большое значение FOSS на протяжении нескольких десятилетий. Упомянутые выше работы не изучают, как это мышление повлияло конкретно на сообщество FOSS, но они создают основу для понимания подхода FOSS к программному обеспечению в таком ключе.

Границы и основные темы исследования

Хотя эта книга представляет собой самое комплексное на сегодняшний день исследование истории FOSS, она все равно неизбежно ограниченна в нескольких аспектах. Во-первых, в ней не рассматривается история каждого отдельного проекта FOSS. Это просто невозможно. Исследование 2012 года показало, что количество существующих проектов FOSS варьировалось от 324 тысяч до 4,8 миллиона, в зависимости от того, что понимается под отдельным проектом.[23] С тех пор эти цифры только выросли.

Также эта книга не уделяет одинакового внимания всем направлениям разработки FOSS. Например, в ней относительно мало говорится о программах FOSS, созданных для работы в среде Microsoft Windows. Вместо этого текст фокусируется на тех проектах и сообществах (в частности Unix, BSD, GNU, Linux и Apache), которые сыграли важную роль в формировании технических, интеллектуальных и культурных составляющих FOSS.

В процессе изложения попутно рассматриваются истории многих других проектов, от Perl и Python до Wine и X Windows, которые также знакомы многим пользователям FOSS. Однако, к сожалению, из-за нехватки места эта книга не рассматривает некоторые исторически значимые программы FOSS. Я надеюсь, что в будущем историкам представятся возможности изучить эти проекты более обстоятельно.

Рассказ о ключевых вехах истории FOSS за прошедшие полвека – это лишь одна из задач данной книги. Она также стремится объяснить, почему события происходили именно так – почему определенная группа программистов в 1980-х годах решила безвозмездно отдавать потенциально ценный код, почему ядро Linux превратилось из малоизвестного источника в одну из наиболее широко используемых программ в мире, как сообщество FOSS преодолело попытки таких компаний, как Microsoft, дискредитировать его в конце 1990-х годов, и многое другое. Объяснение и анализ подобных важных событий в истории FOSS крайне важны, поскольку до сих пор лишь немногие наблюдатели задавались вопросом, почему FOSS следовало именно этому пути развития.

Наконец, хотя это не менее важно, книга переосмысливает некоторые стереотипы, затронувшие сообщество FOSS. Один из них – отношения разработчиков FOSS с коммерческой деятельностью. Сторонников FOSS принято считать антикапиталистами, которые делятся своим кодом бесплатно в первую очередь потому, что презирают экономический обмен.[24] Однако реальность намного сложнее. Исторически некоторые приверженцы чистоты свободного программного обеспечения, в том числе связанные с Фондом свободного программного обеспечения, с энтузиазмом сотрудничали с компаниями и предпринимателями, чтобы найти способы заработать на программах, которые они раздавали бесплатно. В других случаях, например с ядром Linux на ранних этапах его существования, лидеры FOSS, ставшие известными благодаря предположительно прагматичным взглядам на коммерческое использование FOSS, на деле неохотно участвовали в любой деятельности, которая напоминала о коммерциализации. В таких случаях «удовольствие» («fun») – слово, которое разработчики и пользователи FOSS часто используют для объяснения своего интереса к свободно распространяемому коду – было более важным побуждением к участию в проектах FOSS, чем зарабатывание денег.

К этому сложному переплетению «удовольствия» и коммерческой выгоды и восходит название книги. История FOSS – это история программистов и пользователей, движимых как «удовольствием», так и прибылью, а не чем-то одним, как можно было бы подумать, исходя из распространенных представлений об экосистеме FOSS.

Эта книга также показывает, как сообщество FOSS удавалось лавировать между прагматизмом и идеологией на протяжении нескольких последних десятилетий. Некоторые наблюдатели поспешно отмахивались от определенных активистов FOSS, например связанных с Фондом свободного программного обеспечения, считая их идеологами, неспособными к компромиссу или сотрудничеству с людьми, придерживающимися иных взглядов. И их также часто противопоставляли так называемым прагматикам из лагеря «открытого исходного кода», готовность которых к компромиссу предположительно гарантировала их успех. Эта книга показывает, что такие представления далеки от действительности. Конечно, сторонники FOSS не всегда действовали прагматично. Их упорство иногда вредило их начинаниям. Однако понимание взаимодействия между прагматизмом и идеологией в истории FOSS требует признания множества нюансов, сопровождавших эволюцию проектов и культуры FOSS в последние несколько десятилетий. Попросту неверно считать, что одна часть сообщества FOSS всегда была чрезмерно идеалистичной, в то время как другая неизменно проявляла трезвый прагматизм.

FOSS как революция

Как видно из первых абзацев настоящего введения, в этой книге революция рассматривается как аналитическая призма для осмысления истории FOSS. Этот подход отражает две основные темы, которые прослеживаются во всей книге.

Первая заключается в том, что лидеры и участники сообщества FOSS часто называли себя революционерами и прибегали к революционной риторике, чтобы объяснить или обосновать свои действия. Торвальдс и Рэймонд оба называли себя «случайными революционерами».[25] Похожим образом, Рэймонд заимствовал фразу поэта Ральфа Уолдо Эмерсона о начале Американской революции, когда описывал события января 1998 года, запустившие движение открытого исходного кода, как «выстрел революции открытого исходного кода, прогремевший на весь мир».[26] Документальный фильм 2001 года называл GNU/Linux революционной операционной системой.[27] Первый крупный сборник работ об истории открытого исходного кода от ведущих фигур движения характеризовал события как «революцию открытого исходного кода».[28] Без понимания того, насколько важной была идея революции для лидеров и сторонников FOSS, невозможно было бы верно истолковать их решения и идеологии.[29]

Революция также представляет собой эффективный инструмент анализа для понимания истории FOSS, поскольку многие события и тенденции в истории FOSS следовали «революционному сценарию», схожему с тем, которому следовали крупные политические революции современной эпохи.[30] Хотя изменения в способах написания и распространения программного обеспечения представляют собой бескровную революцию, в отличие от многих политических революций, в которых социальные иерархии и культуры подвергаются насильственному пересмотру, история FOSS хорошо перекликается с другими революциями последних столетий.

Например, истоки революции FOSS можно проследить до маргинальных фигур, которые испытывали глубокую неприязнь к основным способам распространения программного обеспечения в 1970-х – начале 1980-х годов. Они считали, что искусственные барьеры доступа к исходному коду душат креативность и поддерживают произвольные иерархии. В этом смысле такие люди, как Столлман, чье имя было малоизвестно в мире программирования до запуска GNU, были похожи на французских революционеров, таких как Жан-Поль Марат или Жак-Пьер Бриссо. Как показал историк Роберт Дарнтон, ненависть к старому режиму, которую проявляли Марат и Бриссо до Французской революции, когда они с трудом сводили концы с концами и были отодвинуты на обочину литературной жизни, отчасти возникла из их представления о том, что аристократическое общество мешало им участвовать в интеллектуальной жизни тем образом, который, по их мнению, они заслуживали.[31]

Схожим образом, противостояния, определившие историю FOSS, сопоставимы с войнами, которые сопровождали большинство крупных политических революций. Американская революция была сосредоточена вокруг ожесточенной борьбы между американскими восставшими и заморскими войсками, верными британской короне, что осложнялось столкновениями между колониальными повстанцами и лоялистами. Во время Французской революции шла жестокая гражданская война между множеством фракций – роялистами, федералистами и якобинцами, – совпавшая с борьбой за существование, которую французские революционеры вели против иностранных армий. Революция 1917 года в России началась в пучине разрушительной войны против иностранных держав, а затем превратилась в затяжную внутреннюю борьбу, в которой большевики противостояли белым и которая осложнялась иностранной интервенцией. Война против внутренних и внешних врагов оказалась неотделимой от каждой из этих политических революций.

Точно так же, как показано в этой книге, революция FOSS включала две основные «войны». Одна велась приверженцами FOSS против Microsoft и аффилированных компаний, которые стремились в конце 1990-х – начале 2000-х годов полностью искоренить движение FOSS. В тот же период внутри сообщества FOSS шла затяжная борьба, в ходе которой сторонники Фонда свободного программного обеспечения конкурировали со сторонниками «открытого исходного кода» за право определить смысл и охват разработки FOSS. Сопоставление этих конфликтов с ролью войн в политических революциях дает полезный ракурс для понимания того, как и почему разнообразные формы противостояния сформировали FOSS.

Исходы крупных политических революций также помогают лучше понять революцию FOSS. Во многих случаях люди и идеологии, которых революции в итоге приводят к власти, заметно отличаются от тех, что преобладали в начале революции. Либеральные устремления конституционных монархистов, развязавших Французскую революцию в 1789 году, сменились кровавой баней террора, а затем и наполеоновской диктатурой. Русская революция возникла из движения, нацеленного на умеренные изменения и реформы, но в итоге оказалась такой, которая привела к коренному переустройству общества.

Траектория революции FOSS аналогичным образом включала ряд революционных «стадий» и смещений центра власти. Движение FOSS началось в начале 1980-х годов под руководством Столлмана и других нонконформистских хакеров в Массачусетском технологическом институте в неформальном объединении с единомышленниками из Калифорнийского университета в Беркли. Их методы и ценности отличались в некоторых ключевых моментах от тех, что появились в начале 1990-х годов в сообществе разработчиков Linux, из которого в конце 1990-х годов выросло движение открытого кода (в отличие от движения свободного программного обеспечения). Благодаря коммерческому успеху фракции открытого исходного кода такие проекты FOSS, как Linux и Mozilla Firefox, стали именами, известными каждому. В противоположность этому, проект операционной системы GNU Столлмана – хотя и продолжает предоставлять большую часть кода, позволяющего работать платформам FOSS, – сегодня гораздо менее известен среди широких масс. Большая часть разработок и инвестиций в FOSS теперь концентрируется на группах, члены которых не всегда поддерживают значительный интерес к ценностям, провозглашенным Столлманом при запуске проекта GNU и Фонда свободного программного обеспечения в 1980-х годах. Таким образом, люди и идеи, давшие начало революции FOSS, не сохранили решающего контроля над ней.

Организация книги

Книга начинается с исследования истоков хакерской культуры и ее влияния на операционную систему Unix, которые рассматриваются в главе 1. Хотя Unix во время ее создания никогда не называли свободным или открытым программным обеспечением, в своих ключевых аспектах она им и была. Она разрабатывалась совместно в разных местах программистами, которые открыто обменивались кодом друг с другом. Хакерская культура, зародившаяся немного раньше появления Unix и имевшая много общего с академической средой, из которой она вышла, прочно закрепилась в конце 1960-х – 1970-х годах в сообществе Unix. Сообщество Unix-хакеров процветало до начала 1980-х годов, когда AT&T, компания-владелец Unix, превратила операционную систему в коммерческий продукт, что вызвало кризис среди хакеров.

Глава 2 описывает реакции на этот кризис. Одной из них стала попытка Калифорнийского университета в Беркли создать клон Unix под названием BSD (Berkeley Software Distribution), не содержащий код AT&T, что позволяло распространять его способами, приемлемыми для хакеров. (Как объясняется в главе, разработка BSD изначально была направлена на улучшение, а не на замену Unix, но коммерциализация Unix изменила задачи программистов BSD.) Другой реакцией, породившей движение свободного программного обеспечения как сознательную инициативу, стало начинание Ричарда Столлмана по созданию отдельного клона Unix, который он назвал операционной системой GNU. Глава 2 сосредоточена на деятельности проекта GNU в 1980-х годах и связанных с ним событиях, таких как создание Фонда свободного программного обеспечения и разработка лицензий для свободного программного обеспечения.

Глава 3 посвящена событиям начала 1990-х годов. Хотя большинство хакеров того времени считало, что либо BSD, либо операционная система GNU вот-вот предложат платформу, которая станет альтернативой Unix и будет предоставлять исходный код свободно за разумную цену, неожиданные повороты замедлили развитие обоих проектов. BSD столкнулась с юридическими проблемами, которые отпугнули некоторых потенциальных разработчиков и пользователей. В то же время, хотя разработчики GNU очень успешно написали множество других программ, они отставали в создании ядра – центральной части операционной системы. В результате Линус Торвальдс, молодой программист из Финляндии, смог создать собственное ядро, которое быстро стало намного популярнее, чем можно было ожидать от его скромных любительских начинаний. Глава 3 рассказывает историю раннего развития Linux и рассматривает вопрос о том, почему Торвальдс и возглавляемое им сообщество программистов приобрели такое огромное влияние в сообществе FOSS в начале 1990-х годов.

Глава 4 рассказывает о том, что произошло, когда набор программ, созданных проектом GNU, в 1990-х годах объединился с Linux. Вместе программы GNU и ядро Linux дали толчок возникновению бурно развивающегося нового сектора в технологической отрасли. Компании вложили миллиарды долларов в бизнес, построенный вокруг программного обеспечения, которое распространялось бесплатно. Эта деятельность закрепила позиции FOSS в технологическом мире и превратила операционные системы FOSS в реальную альтернативу для миллионов людей.

Однако, как показано в главе 5, растущая популярность FOSS в 1990-х годах также усилила глубокие разногласия. В сообществе FOSS возникли трения относительно того, какими должны быть ценности разработчиков и пользователей FOSS и что именно считать кодом FOSS. Эти разногласия также привели к противостоянию между сторонниками FOSS и компаниями, разрабатывающими программное обеспечение с закрытым исходным кодом, особенно Microsoft, которая стала воспринимать FOSS как угрозу своему бизнесу. Глава 5 рассматривает обе эти «революционные войны».

Последняя глава рассматривает события, произошедшие в мире FOSS после окончания революционных войн конца 1990-х и начала 2000-х. После затихания внутренних политических споров и исчезновения внешних угроз сообщество FOSS в последние пятнадцать лет переживало впечатляющий подъем. Это касается не только тех ниш, вроде интернет-серверов, где FOSS рано добился коммерческого превосходства, но и новых областей, включая встроенные системы, мобильные устройства и облачные технологии. Кроме того, как также объясняется в главе 6, FOSS оставил глубокий культурный и интеллектуальный след в других инициативах, не имеющих прямого отношения к индустрии программного обеспечения, таких как Wikipedia и Creative Commons. Однако сторонники FOSS до сих пор спорят о целях революции FOSS и о том, достигнуты ли они. Кроме того, технологии развивались такими способами, которые предыдущие поколения едва ли могли предвидеть, что вызвало необходимость в новых стратегиях для разработчиков FOSS. Из-за отсутствия консенсуса в отношении FOSS и меняющегося технологического ландшафта, революция FOSS продолжается. Продолжается и борьба женщин и программистов из меньшинств за доступ в сообщества FOSS – тема, которая также рассматривается в этой главе.

1. Путь к революции: Unix и истоки хакерской культуры

Большинство начинающих революционеров вдохновляется образами мифического «золотого века», который они считают своим долгом возродить. Во время Американской революции колонисты надеялись восстановить право на представительство, которого, как они полагали, заслуживали как британские подданные, несмотря на то что у Великобритании никогда не было формальной конституции, гарантирующей такие права. Двадцать лет спустя французские революционеры видели свою миссию в восстановлении естественных законов, которые, согласно древним авторам, господствовали в мифические времена, когда все люди были равны и жили в гармонии.[32]

Возрождение утраченного «золотого века» было важной частью того, как сторонники FOSS воспринимали то, что они делали. Активисты, от Столлмана до Рэймонда, верили, что, отстаивая открытый и свободно распространяемый код, они работали над восстановлением моральных принципов, господствовавших в ранний период компьютерной эры – когда ценности тех, кто называл себя хакерами, а не бизнес-интересы определяли то, как программисты создавали и распространяли программное обеспечение.

Чтобы понять, как раннее сообщество FOSS представляло себе этот «золотой век» обмена программами, нужно рассмотреть две тесно связанные части истории вычислительной техники. Первая сосредоточена на Unix – операционной системе, появившейся в конце 1960-х, которая воспитала многие ценности и практики, сильно повлиявшие на разработку программ FOSS в последующие десятилетия. Вторая часть касается истоков того, что Рэймонд и другие авторы называли «хакерской этикой», которая родилась задолго до появления различий между свободным и закрытым программным обеспечением – и которая, как я доказываю ниже, гораздо больше была обязана влиянию академической среды, чем склонны признавать хакеры. Эта глава подробно рассматривает обе темы и описывает, как они заложили основу для революции FOSS в последующие годы.

Unix и FOSS

Может показаться странным начинать историю FOSS с обсуждения раннего периода Unix. Даже когда Unix можно было свободно распространять, его не называли «свободным» или «открытым» программным обеспечением. Этих терминов еще не существовало. Более того, Unix в итоге стал противоположностью FOSS после того, как в середине 1980-х годов он превратился из исследовательского проекта в коммерческий продукт. Ни один из пионеров разработки Unix впоследствии не стал значимой фигурой в движении FOSS. И код Unix не составлял существенной части программного обеспечения GNU, ядра Linux или других платформ FOSS. Напротив, революция FOSS началась именно потому, что программисты, участвовавшие в этих более поздних проектах, стремились создать операционные системы, свободные от кода Unix.

Тем не менее в течение первых примерно пятнадцати лет существования Unix, он имел все характерные черты основных проектов FOSS, которые последовали за ним. Он фактически был свободным и открытым программным обеспечением еще до того, как появилась эта терминология, потому что код Unix разрабатывался совместно и свободно распространялся среди программистов в самых разных местах. Сообщество Unix приняло эту практику, поскольку она была нормой на момент создания Unix. Unix возник до того, как коммерциализация программного обеспечения побудила кого-либо сформулировать различие между свободным и несвободным программным обеспечением или предположить, что в открытом обмене кодом для программистов нет ничего естественного.

Unix также был похож на многие крупные проекты FOSS, особенно GNU, тем, что он был детищем отчасти разочарованных программистов, которые по собственной инициативе пытались заполнить пробел, затрагивавший их лично,– другими словами, «удовлетворить личный зуд», заимствуя выражение, которое Рэймонд использовал в 1990-х для объяснения того, что движет разработчиками открытого кода.[33] Создатели Unix хотели получить операционную систему, которая предлагала бы все лучшие возможности провалившейся платформы Multics (подробнее о ней ниже) и работала на том компьютерном оборудовании, которое было у них в распоряжении.

Наконец, как и Linux и множество других проектов FOSS, Unix появился из попыток программирования, начатых «ради удовольствия» («just for fun»), как выразился один из его создателей. Это то же самое выражение, которым Торвальдс описывал свой подход к программированию много лет спустя.[34]

По всем этим причинам понимание роли, которую Unix сыграл в конце 1960-х и 1970-х, породив и технические, и культурные идеи, ставшие впоследствии основой разработки FOSS в 1980-х и 1990-х, критически важно для правильного представления о том, как появились проекты собственно FOSS.

Прежде чем погружаться в детали появления Unix, стоит пояснить, что именно означает слово Unix в контексте этой книги. За десятилетия с момента появления этой операционной системы термин приобрел двусмысленное значение, в основном потому, что программисты и авторы иногда используют Unix как краткое обозначение операционных систем, которые создавались для того, чтобы работать подобно Unix, и которые могут частично основываться или не основываться на оригинальном коде Unix. Например, Berkeley Software Distribution (BSD), которая изначально включала много кода из Unix (позже разработчики BSD заменили весь код Unix своим собственным, оригинальным программным обеспечением), иногда называют Unix. То же самое относится к Linux, который никогда не содержал общего кода с Unix, но имеет ключевые функции, созданные по образцу Unix.

1 https://cyber.harvard.edu/property00/respect/fisher.html.
2 https://en.wikipedia.org/wiki/Clarke %27s_three_laws.
3 Baker and Edelstein, Scripting Revolution.
4 Russell, Open Standards.
5 Ср.: «IBM Considers Free Distribution of DB2,» LXer, Forum, November 21, 2005, http://lxer.com/module/forums/t/20141.
6 Эти статьи сначала были опубликованы в сети, а затем в: DiBona, Ockman, and Stone, Open Sources. Их также можно найти на сайте Рэймонда: http://www.catb.org/esr/writings/homesteading. Далее я буду ссылаться на статьи на сайте Рэймонда.
7 Williams, Free as in Freedom; Torvalds and Diamond, Just for Fun; Торвальдс и Даймонд, Ради удовольствия.
8 Salus, Quarter Century of UNIX. См. также бесценные интервью Майкла Махоуни с программистами Unix: http://www.princeton.edu/~hos/Mahoney/unixhistory.
9 Bretthauer, «Open Source Software». Бреттхауэр рассказывает о своем тогдашнем интересе к свободному программному обеспечению в электронном письме от 23 марта 2016 года.
10 Ensmenger, «Open Source’s Lessons,» 104.
11 Ibid., 102.
12 Ibid.
13 Ensmenger, Computer Boys.
14 Weber, Success, 1.
15 Ibid., 2.
16 Kelty, Two Bits.
17 Ibid., 7.
18 Russell, Open Standards.
19 Yood, «History of Computing,» 88.
20 Chun, Programmed Visions; Manovich, Software Takes Command; Frabetti, Software Theory; Fuller, Behind the Blip; Berry, Philosophy of Software; von Krogh and von Hippel, «Promise of Research».
21 Manovich, Software Takes Command.
22 Chun, Programmed Visions, 24.
23 Rich Sands, «Open Source by the Numbers,» SlideShare, April 6, 2012, http://www.slideshare.net/blackducksoftware/open-source-by-the-numbers.
24 Michele Chubirka, «Open-Source vs. Commercial Software: A False Dilemma,» InformationWeek, May 14, 2014, http://www.informationweek.com/strategic-cio/it-strategy/open-source-vs-commercial-software-a-false-dilemma/d/d-id/1252665.
25 Torvalds and Diamond, Just for Fun; Торвальдс и Даймонд, Ради удовольствия; Raymond, «Revenge».
26 Ralph Waldo Emerson, «Concord Hymn,» Poetry Foundation, accessed April 27, 2016, https://www.poetryfoundation.org/poems-and-poets/poems/detail/45870; Raymond, «Revenge».
27 Revolution OS.
28 DiBona, Ockman, and Stone, Open Sources, 60–70.
29 См. также: Mark Fidelman, «The Fourteen Key Events That Led to a Free and Open Source Software (FOSS) Revolution,» CloudAve, April 19, 2010, https://www.cloudave.com/503/the-14-key-events-that-led-to-a-free-and-open-source-software-foss-revolution.
30 О понятии «революционного сценария» см.: Baker and Edelstein, Scripting Revolution.
31 Darnton, Literary Underground, 21.
32 Edelstein, The Terror of Natural Right, 12.
33 Raymond, «Cathedral»; Рэймонд, «Собор и базар» (перевод изменен.– Прим. пер.).
34 Salus, Quarter Century of UNIX, 7.
Продолжить чтение