Вопросы истории: UNIX, Linux, BSD и другие - Федорчук Алексей Викторович "alv"
Глава первая. Вопросы праистории
Было бы заманчиво, следуя заветам дедушки Ленина, свести праисторию свободных UNIX-подобных систем к трём истокам и трём составным частям. Однако реальная история чего бы то ни было гораздо сложнее (и интересней), нежели нам пытались внушить классики марксизма и их преложители. Так что с какой стороны ни смотри, а истоков и составных частей Linux'а оказывается куда больше трёх. И к тому же не всегда можно однозначно сказать, где кончаются истоки и начинаются составные части. Если, конечно, не внять мнению резонных людей из Одессы и не признать, что составные части начинаются именно там, где кончаются истоки.
Вступление
В истоках современного мира FOSS лежит целый ряд явлений, исторически независимых, но тесно переплетавшихся во времени. Настолько тесно, что порой трудно определить, где кончается одна история и начинается другая. Если, конечно, не внять мнению резонных людей из Одессы и не признать, что другая история начинается именно там, где кончилась одна.
Оценивать относительную роль каждого из этих явлений в становлении FOSS – занятие бессмысленное: без любого из них FOSS в современном его виде не мог бы ни возникнуть, ни развиваться. Тем более, что все они оказались настолько тесно переплетенными между собой, что разделить их подчас не легче, чем расплести судовой канат. И потому, следуя совету резонных людей, и не будем пытаться этого делать.
Так что дальнейшая история окажется весьма нелинейной. Она распадается на несколько отдельных сюжетов, протягивающихся параллельно, как бы независимо друг от друга – но в тесном взаимовлиянии. Повествователь лишен средств передать это литературными средствами. Остаётся только вспомнить слова, которые часто встречаются в исландских сагах:
События описаны здесь так, как будто они случились друг за другом, хотя некоторые из них случились одновременно.
Вообще, понятие времени в исландских сагах трактуется очень своеобразно: продолжительность его измеряется не какими-то внешними единицами, основанными на вращении небесных тел, а исключительно внутренней насыщенностью событиями. Например, в сагах обычен такой оборот:
Некоторое время после этого ничего не происходило.
Саги – не только литературные произведения, но и исторические источники, хотя и весьма своеобразные. И большая часть того, что в них описывается, происходило на самом деле. Так что иногда по косвенным данным (например, по сопоставлению с собственно историческими источниками из сопредельных стран, содержащих датировки в общепринятом для нас ныне формате) удаётся определить абсолютную продолжительность того «некоторого времени», когда не происходило ничего, заслуживающего быть помещённым в контекст сюжета саги. И оказывается, что такие периоды могли длиться годами, а то и десятилетиями. Для авторов и читателей саг они выпадают из течения времени, находятся вне его. А может быть, как предполагал Стеблин-Каменский, в это время для них времени просто не существовало…
Но потом действие начинает разворачиваться, как отпущенная пружина, – и время появляется вновь: в короткий по абсолютному (то есть внешнему) исчислению его отрезок событий впрессовывается столько событий, что их хватает на целую сагу. Время, измеренное по внутренней, событийной шкале, оказывается чрезвычайно длинным.
И здесь я должен подчеркнуть, что всё сказанное в предыдущих абзацах, относится к истории не только операционных систем, описываемой в этой части, но, в не меньшей степени, дистрибутивов и интерфейсов, составляющих предмет частей второй и третьей, соответственно. Вообще, вся история FOSS и состоит из чередования таких насыщенных событиями моментов и периодов межвременья, осложняясь собственными сюжетными разветвлениями и наложением внешних факторов. Чем и напоминает исландскую сагу.
Для чего нужно столь подробное введение? Обосную словами Мэтта Диллона, в прошлом одного из ключевых разработчиков FreeBSD, а ныне создателя её форка – операционной системы DragonFlyBSD:
Самой большой ошибкой, которую может допустить программист, является игнорирование истории, и это именно та ошибка, которую сделали разработчики многих других современных операционных систем… Я плохо переношу тех, кого история не учит.
Кроме того, история ОСей мира FOSS просто чрезвычайно увлекательна, а местами и полна драматизма, как хороший приключенческий роман. Надеюсь, на страницах этой книги мне удастся хоть в какой-то мере передать те чувства, которые испытывал сам, когда с нею знакомился.
Истоки и составные части
Последуем совету упомянутых выше резонных людей и рассмотрим истоки и составные части Linux'а одним списком, предоставив читателю самому решать, где кончается одно и начинается другое. Итак, начнём перечень.
Во-первых, это академическая и университетская Computer Science эпохи «больших машин», в частности, работы по искусственному интеллекту.
Во-вторых, сеть ARPANET и все сопряжённые с ней явления, из которых вырос в итоге современный массовый Интернет. Ибо только нынешние «одноглазнеги» полагают, что Интернет был придуман для того, чтобы они могли сидеть «ффконтакте».
В-третьих, это корпоративный UNIX и организации по упорядочиванию его стилей , иначе говоря, стандартизации.
В-четвёртых, это Берклиада – история, полная драматизма, в которой, как и в поэме Гомера, впервые переплелись перечисленные выше пряди. Но о ней будет подробно говориться в следующей главе.
В-пятых, это общественные движения – Open Source Software и Free Software. Здесь я немного отступаю от хронологии – второе формально предшествовало первому. До de facto первое явление существует как минимум со времён Ньютона и Лейбница.
В-шестых, это эволюция аппаратных платформ – от первых интерактивных рабочих станций до «народных» x86-совместимых компьютеров.
Как видите, получается куда больше, чем сакральная троица, которую так любят бог и большевики. И это при том, что я не уверен, вспомнил ли я все истоки и все составные части – что не страшно, в этом цикле удастся осветить далеко не все даже из перечисленного.
Причём о некоторых истоках и составных частях я умолчал сознательно – например, об эпохе Eniac'а и БЭСМ'ов, ибо нет у меня о них достаточно информации. Надеюсь, что...
... Кто-нибудь услышит, Снимет и напишет, Кто-нибудь помянет...
... участников тех давних проектов. Они заслуживают этого не меньше, чем создатели первого реактора... Да и чем многие другие, которых тоже ещё не помянули.
А теперь вернёмся к нашим истокам и их составным частям. Поскольку, как уже было сказано, намеченные сюжетные линии развивались параллельно во времени, рассказывать эти истории постараюсь тоже параллельно – и не только в этой главе.
Computer Science и ARPANET
История академической Computer Science уходит в начало 60-х, время появления первых компьютеров, способных к интерактивной работе. Хотя они далеко ещё не были персоналками – но ведь ранее машины, как помнят читатели «Понедельника», почему-то начинавшегося тогда «в субботу», работали исключительно в режиме пакетных заданий. И влиять на это не могли не только маги вроде Кристобаля Хозевича и Фёдора Симеоновича, но даже всесильные научные администраторы, товарищи Камноедов и Лавр Федотыч.
Место же зарождения этой науки условно определим как крупнейшие американские университеты – Массачусетский Технологический Институт (MIT), Йель, Университет Карнеги-Меллона, Стэнфорд, Калифорнийский университет Беркли. Историческим центром этого движения долгое время была лаборатория искусственного интеллекта MIT (MIT AI – Artificial Intelligence). В недрах MIT AI родился, судя по многим свидетельствам, и термин «хакер» – так называли друг друга те, кто способен был «врубиться» в компьютерные науки. Но эта тема столь жёвана и пережёвана, что на ней мы останавливаться не будем