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

Полная версия

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

Язык: Русский
Год издания: 2017
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
1 из 3

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

Ради удовольствия и прибыли

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

«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, чем смогли предложить в своих воспоминаниях такие фигуры, как Рэймонд и Торвальдс.

На страницу:
1 из 3