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

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

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

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

Второе ограничение существующих исторических работ, основанных на первоисточниках, состоит в том, что практически все они были написаны в начале 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 рассматривает обе эти «революционные войны».

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