Вопросы истории: UNIX, Linux, BSD и другие
Краткий курс для времени угара Алексей Федорчук aka alvЭто попытка последовательного изложения истории UNIX, Linux и свободных ОС вообще, а также связанных с ними графических интерфейсов. Она разделяется на три части: в первой рассматривается история UNIX-подобных операционных систем, во второй – дистрибутивов Linux, в третьей – их интерфейсов. Основана на печатных и сетевых материалах, воспоминаниях очевидцев, устной традиции и личных впечатлениях.
Эта книга сочинялась на протяжении многих лет, начиная, наверное, с первых жней III тысячелетия нашей эры. Однако точка в ней была поставлена в момент, который может стать завершающим в истории всех её объектов и персонажей. В момент, когда сами понятия UNIX и UNIX-подобные операционные системы готовы превратиться в музейные экспонаты. Которые и сами-то представляются ненужными, а уж рассмотрение их истории – и подавно. Ибо, как сказал некогда главный герой наших классиков,
...теперь многие не знают имен героев. Угар НЭПа. Нет того энтузиазма.
Так вот, чтобы напомнить кое-какие имена и события, я и решил собрать воедино все свои прежние записки на исторические темы, причесать их и свести в единую книжку.
Описать историю всех свободных ОС и хотя бы основных их дистрибутивов (не говоря уже о графических системах и приложениях) оказалось задачей, для меня непосильной. Поэтому я ограничил свою задачу в основном теми ОСями, дистрибутивами и графическими системами, с которыми практически работал и за развитием которых следил. В результате в моём повествовании образовался ряд лакун, о наиболее существенны из которых будет сказано в заключении.
Вполне возможно, что я упустил и какие-то другие важные линии развития UNIX, их «подобий» и FOSS вообще. Хотелось бы надеяться, что все эти лакуны будут когда-нибудь восполнены другими авторами, более информированным в этих кругах вопросов, чем я.
Наконец, я полностью и сознательно исключил из своего сочинения историю прикладных программ. Хотя в развитии текстовых редакторов, офисных пакетов и ряда других классов приложений можно найти немало увлекательных сюжетов. Но тут могу оправдаться стопроцентно – словами Козьмы Пруткова, лейтмотивом сочинений которого было:
Нельзя объять необъятное!
Книга не представляет собой описания событий в хронологическом порядке – по причинам, о которых говорится во вступлении к главе первой, это невозможно. Поэтому она разделена на три части, сюжеты которых развиваются параллельно. Первая часть посвящена истории операционных систем семейства UNIX и им подобных – от предпосылок их возникновения до создания Linux, с одной стороны, и развития BSD систем вплоть до нашего времени – с другой.
Сюжет второй части ответвляется от первой с момента оформления Linux как общедоступной операционной системы. И посвящён он истории её дистрибутивов – от появления первых систем распространения этой ОС до почти настоящего времени, когда вопрос этот переходит из сферы истории в область политики.
Наконец, в третьей части рассмотрена история графических интерфейсов UNIX-подобных операционок – оконной системы X, менеджеров окон и интегрированных рабочих сред. А в качестве вводного материала затронута история текстовой консоли и интерфейса командной строки, то есть командных оболочек (shell).
Ранее фрагменты их этой книги размещались на разных моих ресурсах, в том числе и на Блогосайте, а также печатались в журнале Linuxfornat с июня 2011 по декабрь 2013 года в виде исторического цикла статей. И все они включены в неё в расширенном, взаимоувязанном и так или иначе переработанном виде. Так что как системная целостность содержание этой книги публикуется впервые.
Эта книга предназначена в первую очередь для оффлайнового чтения с ебуков, планшетов и тому подобных смартфонов. Поэтому в её тексте не будет активных ссылок, задумчиво называемых пруфлинками (proof link). Да и смысла в них я не вижу – на самом деле эти самые «пруфы», как правило, ничего не доказывают, а, в лучшем случае, только иллюстрируют сказанное автором. А в некоторых случаях и просто не имеют к нему отношения.
Тем не менее, в основе этого сочинения лежат, разумеется, некоторые источники – материалы официальных сайтов проектов, списки рассылки, актуальные на момент выхода данной версии системы или дистрибутива обзоры, тексты старых книг по UNIX, старые журналы и тому подобные «бумажные» и сетевые материалы. Многие из которых или отыскиваются с трудом, или вовсе недоступны.
Поэтому одним из существенных источников книги стали личные воспоминания и впечатления автора – начиная с 1996 года, он был свидетелем большинства описанных в ней событий, а с 1998 года – и участником некоторых из них. Причём, большая их часть документировалась им «по горячим следам», что нашло отражение в моих журнальных и сетевых публикациях, приводить ссылки на которые было бы скучно. В случае расхождения своих воспоминаний с более иными «первоисточниками», типа Википедии, я, по понятным причинам, отдавал предпочтение первым.
Кроме того, многие из приводимых здесь данных получены в ходе общения, реального и виртуального, с участниками описываемых событий. Так что эта книга – своего рода и летопись устной традиции, сохранявшейся старыми юниксоидами и линуксоидами. Ибо, как показывает опыт истории, рукописи горят (да ещё и ярким пламенем), сайты исчезают также легко, как и возникают, и только память человеческая хранит воспоминания о событиях. По крайней мере, до тех пор, пока они кому-то ещё интересны.
Как я только что сказал, эта книга в значительной мере основана на сведениях, полученных от моих личных знакомых, коллег и товарищей – носителей устной и сетевой традиции мира FOSS. И потому я хотел бы выразить признательность:
• Алексею Костареву – создателю одного из первых в стране Linux-порталов на сайте Невод и автору первой русскоязычной книги, написанной о свободном софте – и исключительно его средствами;
• Алексею Новодворскому и Алексею Смирнову – основателям IPLabs Linux Team (ныне – фирма Altlinux), стоявшей у истоков Русского Linux'а;
• Виктору Костромину – создателю Виртуальной энциклопедии «Linux по-русски», хранящей память о всех русскоязычных сетевых материалах, затрагивающих нашу тематику, начиная с 1999 года;
• Елене Толстяковой, Валентину Синицыну и Кириллу Степанову – сотрудникам редакции журнала LinuxFormat в прошлом и настоящем;
• участникам Джуйки, форумов POSIX.ru и UNIXforum.org – поимённый их список превысил бы эту книгу по объёму.
Отдельная благодарность – моим коллегам и старым товарищам: Сергею Голубеву, Владимиру Попову, Владимиру Родионову. Все затронутые в книге вопросы многократно обсуждались с ними в реале и виртуале.
И самая большая благодарность, последняя по счёту, но первая по значению: Ирине Киттель, известной как Алиса Деева, вдохновившей меня на завершение этой работы, начатой более десяти лет назад. Со сборником её жизнеутверждающих стихов и разножанровой «малой» прозы заинтересованный читатель может ознакомиться в Библиотеке Блогосайта.
В части первой рассказ пойдёт об истории операционных систем, начиная с предпосылок возникновения BSD и Linux'а. При этом история первых будет доведена почти до наших дней , а история второго – до появления первых его дистрибутивов.
Глава первая. Вопросы праистории
Было бы заманчиво, следуя заветам дедушки Ленина, свести праисторию свободных UNIX-подобных систем к трём истокам и трём составным частям. Однако реальная история чего бы то ни было гораздо сложнее (и интересней), нежели нам пытались внушить классики марксизма и их преложители. Так что с какой стороны ни смотри, а истоков и составных частей Linux'а оказывается куда больше трёх. И к тому же не всегда можно однозначно сказать, где кончаются истоки и начинаются составные части. Если, конечно, не внять мнению резонных людей из Одессы и не признать, что составные части начинаются именно там, где кончаются истоки.
В истоках современного мира FOSS лежит целый ряд явлений, исторически независимых, но тесно переплетавшихся во времени. Настолько тесно, что порой трудно определить, где кончается одна история и начинается другая. Если, конечно, не внять мнению резонных людей из Одессы и не признать, что другая история начинается именно там, где кончилась одна.