В исторической хронологии Linux было три момента, которые могли бы в корне изменить путь его развития. Какие уроки они преподнесли нам? Об этом на портале Enterprisers Project рассуждает технический евангелист Red Hat Гордон Хафф.

История соткана из различных событий, противоречий или действий отдельных индивидуумов. Могли ли обстоятельства сложиться таким образом, что Linux и Open Source не стали бы движущей силой совместной работы и инноваций, то есть тем, чем они являются сегодня? Многие люди полагают, что большие экономические и технологические силы радикальным образом вмешиваются в ход истории, преграждая путь отдельным личностям или меняя случайный ход событий. С этой точки зрения интегральная схема, закон Мура, Интернет, совместное использование ПО (особенно это касается научной среды) и другие широкомасштабные тенденции превосходят любые отдельные действия. Даже если бы ОС на базе Open Source под названием «Linux» сегодня не существовала, то возникло бы что-то иное, сильно на нее похожее.

У Linux имеются свои герои

Помимо прочего многие люди считают, что за рулем событий находятся герои. В 1840 г. философ и эссеист Томас Карлейль в ходе прочтения серии лекций о героизме выразился следующим образом: «История мира — это всего лишь биография великих людей». Право на существование имеют обе точки зрения. Как показал ход истории, у нее есть мощные приливы и отливы, но отдельные лица и события также могут оказывать на нее существенное влияние, по крайней мере в краткосрочной и среднесрочной перспективах.

Было бы неплохо смоделировать развитие событий в ретроспективе, пытаясь понять, как бы повлияли на становление Open Source в нескольких точках временной шкалы отдельные люди, компании и технологии, а также то, какое бы это возымело действие на современный программный ландшафт. (Акцент здесь делается на Linux и инфраструктуре Open Source, хотя помимо этого можно также выделить другие события, связанные с языками программирования, рабочим столом и т. д.)

1. Было ли появление Unix неизбежным?

Чтобы не пересказывать историю Unix, достаточно сказать, что она тесно переплетена как с историей Linux, так и Open Source. Воображаемый мир, где продукт типа Unix никогда не покидал стен корпоративной лаборатории (тогда как в действительности AT&T Bell Labs сделала Unix доступным для широкого круга общественности) или академических кругов, как минимум оказался бы совершенно другой средой для раннего свободного ПО (free software) и Open Source. Однако в его развитии имеется элемент случайности. После того, как в 1969 г. Bell Labs вышла из проекта Multics, в котором она участвовала совместно с MIT и General Electric, два исследователя Bell, Кен Томпсон и Деннис Ричи, решили воспользоваться полученными в ходе его реализации знаниями и создать ОС для небольших компьютеров.

Bell Labs отказалась от участия в проекте Multics, потому что сочла его слишком амбициозным и неспособным породить пригодный к использованию продукт. Тем не менее, Томпсон и Ритчи захотели продолжить работу в области разработки ОС и приступили к разработке Unix. Затем к ним присоединились и другие специалисты, которые загорелись желанием создать систему, способную работать на разных аппаратных платформах, хотя вначале ни у кого из них не было уверенности, что эта цель оправдает возлагавшиеся на нее надежды.

Как утверждает инженер Red Hat Уильям Генри, появление в тех условиях ОС, предназначенной для совместной работы нескольких пользователей во взаимосвязанных сетях и небольших компьютеров, было ожидаемым: «Мы понимали, что пришло время для единой, универсальной сети. Это должно было быть что-то большое, где мы собираемся общаться с людьми, с которыми мы время от времени сотрудничаем. И это происходило в образовательной среде. Так что я думаю, что это было неизбежно, потому что люди в ней очень активно общались... Это были замечательные умы со всего мира, и они зажигали людей своим энтузиазмом. Так что все было готово к появлению новой сети, оставалось лишь решить проблему с тем, как обеспечить ее безопасность».

2. Было ли появление Linux неизбежным?

Учитывая то, что AT&T передала код Unix некоторым учебным заведениям, у нее должны были появиться ответвления. Компания пошла на этот ход вынужденно, потому что была связана специфическими юридическими обязательствами, не позволявшими ей в течение 1970-х заниматься бизнесом в области ПО. С 1978 г. начинает свою историю ОС BSD Unix, созданная в университете Беркли. С начала 1990-х источником вдохновения Линуса Торвальдса (в те годы он учился в Хельсинкском университете) для написания Linux послужила MINIX — версия Unix, написанная Эндрю Таненбаумом для нужд образования. Никто не возьмется утверждать, что тот факт, что финский студент напишет производную Unix и чтобы придать ей импульс создаст вокруг нее активное сообщество, было предопределено ходом истории. Это скорее случайное стечение обстоятельств.

Тем не менее споры вокруг этого события не утихают до сих пор. Некоторые люди допускают, что Linux могло бы и не быть, если бы MINIX или какая-то другая система, как, например, вышеупомянутая BSD, вдохновила еще какого-нибудь студента на создание альтернативы. Брайан Кантрилл, бывший инженер Sun Microsystems, а ныне CTO Oxide Computer Company, считает, что место Linux заняла бы BSD: «Если бы это был не Linux, то это де-факто был бы один из вариантов BSD на базе Unix на x86. Популярность Linux связана с ростом Интернета и в меньшей степени — с архитектурой многопроцессорных компьютеров. Затем он обосновался в потребительских микропроцессорах — наиболее высокопроизводительных массовых микропроцессорах. Linux вырос на этих экономических мегатрендах, но на самом деле не внес в них никакого вклада».

Как мы знаем, BSD так и не стала по-настоящему массовой платформой. Вопрос в том, смогла ли бы в конечном итоге эта система преодолеть то, что инженер Red Hat Брайан Проффитт назвал «отсутствием интереса и увлеченности разработчиков», особенно в сочетании с множеством вариантов, которые еще больше разделили мысли и идеи разработчиков и пользователей. Вероятно ее развитию препятствовали бы проблемы из-за судебного иска, поданного AT&T на BSD. В любом случае, мы действительно не можем исключить из уравнения одну из свободно лицензируемых ОС, отпочковавшихся из дерева Unix, но сложная история Unix не позволяет с уверенностью утверждать, как именно и когда это бы произошло.

3. Было ли появление свободного ПО неизбежным?

В 1980-х компьютерная индустрия коммерциализировалась, перестав придерживаться принципов свободного обмена идеями, которые были свойственны ей с самого начала. Одним из таких мест была лаборатория искусственного интеллекта при Массачусетском технологическом институте. В ее стенах сформировались две коммерческие компании — Symbolics и Lisp Machines, которые занялись продажей лисп-машин, но это не понравилось многим сотрудникам лаборатории. Разразившийся скандал нанес значительный урон идее открытости, взаимного сотрудничества и обмена идеями, а также привел к массовым увольнениям из лаборатории в знак протеста.

Ричард Столлман был частью сообщества, которое образовалось в стенах лаборатории и хорошо знал подноготную конфликта. Столкнувшись с последствиями перевода кода для лисп-машин в закрытый (проприетарный), он решил разработать проект GNU — свободную ОС. Хотя разработка ядра ОС GNU по сей день не завершена, такие компоненты, как компилятор и утилиты, помогли Линусу Торвальдсу собрать вокруг написанного им ядра полноценную ОС. Без сомнений, важность создания ОС сложно переоценить, но не менее важными были принципы, а также лицензия, которые Столлман связал с кодом.

Они установили акцент на пользовательских свободах и правилах, что открывает доступ к открытому исходному коду при распространении ПО. Примерно в то же время появилось несколько пермиссивных лицензий, которые позволяли распространять модифицированное ПО без предоставления нового исходного кода в открытый доступ. Учитывая эту ситуацию, насколько высоко можно оценить роль самого Столлмана, созданного им Фонда свободного программного обеспечения (Free Software Foundation, FSF) и системы публичного лицензирования в развитии Open Source?

Ричард Фонтана, юрист Red Hat, специализирующийся на юридических вопросах в области Open Source, утверждает, что если бы не было движения за свободное ПО, то ситуация развивалась бы следующим образом: «Возможно существовал бы какой-то политический или культурный вакуум, который был бы заполнен чем-то другим, или возможно в 1980-х и 1990-х появилось бы более энергичное сообщество вокруг лицензий на ПО, которые запрещали коммерческое применение софта... Это связано с тем, что в то время существовал своего рода антикоммерческий настрой, на который реагировал не только Столлман, но и другие энтузиасты, желавшие видеть лицензирования ПО по типу GPL. Примечательно, что Столлман ясно дал понять, что свободное ПО может быть коммерческим. Тем не менее, его позитивный настрой по этому поводу разделяли далеко не все энтузиасты, поэтому коммерциализацию свободного ПО нельзя назвать чем-то неизбежным или она была бы ограничена контекстом пермиссивной лицензии».

Луис Вилья, юрист по вопросам Open Source и соучредитель Tidelift, добавляет, что исторически так сложилось, что основной акцент на лицензиях начали делать с первых дней существования свободного ПО: «В течение многих лет мы говорили, что лицензии являются единственным приемлемым способом законодательного урегулирования. Нам не нравятся кодексы поведения, мы не хотим выбрасывать людей из сообществ. Исходя из этого, в качестве инструмента мы оставили только лицензирование. И я думаю, это в некоторой степени заслуга Ричарда Столлмана и FSF».

Чему мы научились?

Экскурс в историю не только позволяет окунуться в основные вехи в развитии открытых технологий, но и получить уроки, которые могут пригодиться в дальнейшем. И еще один момент: время — это очень важно. Проекты и технологии реализуются на фоне, который со временем меняется. На него влияют как сами технологии, так и конкуренция, а также макроэкономические тенденции. «Я думаю, что в истории технологий было определенное сближение с Open Source. И возможно он мог бы появиться в какой-то форме и раньше, но я не думаю, что его появление связано с каким-то определенным временем. Я хотел бы верить, что это связано с человеческой природой. Впрочем, пока что Open Source не достиг вершин, которых заслуживает», — сказал Майк Берселл, главный архитектор безопасности Red Hat.

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

«Трагедия общин — это очень реальная вещь. Вокруг набора общих компонентов ценности/продукта существует совместное использование и сотрудничество. Поддерживать такого рода экосистему немыслимо трудно, особенно с учетом того, что управление Open Source довольно демократично, то же касается и правил. Идею о том, что у нас будет много людей, получающих прибыль от общей кодовой базы, на самом деле очень трудно реализовать в реальности», — говорит CEO RackN Роб Хиршфельд.

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