Автор: Алексей Федорчук
2005-2006 гг.
Этот материал сочинялся на протяжении нескольких лет, включил в себя все ранее публиковавшиеся мои статьи по данной теме и в конце концов вошел в книгу: Алексей Федорчук aka alv. Гуманистический Linux или Ubuntu и сородичи. М.: «Научный мир», 2006, 392 стр.
Содержание
- Преамбула
- Академические корни и сетевые побеги
- Корпоративные всходы
- Движение Open Source Software
- «Железные» предпосылки
- Линус Торвальдс и его ядро
- Начало дистрибуции
- Linux для всех
- Лицом к пользователю
- Source Based: назад, в будущее
- Достижение гармонии
Преамбула
В истоках Linux лежит четыре тесно переплетавшихся, но исторически независимых явления:
- академическая и университетская Computer Science;
- сеть ARPANET и пришедший ей на смену массовый Интернет;
- корпоративный Unix и деятельность организаций по его стандартизации;
- движение Open Source Software и его частное проявление — Free Software.
Кроме того, возникновение Linux неразрывно связано с эволюцией аппаратных платформ — той их линии, которая именуется платформой i386 или x86, то есть базируется на 32-разрядных процессорах от Intel и их клонах.
Оценивать относительную роль каждого из этих компонентов в становлении Linux — занятие бессмысленное: без любого из них Linux в современном его виде возникнуть не мог. К тому же все четыре линии развития исторических предшественников его оказались настолько тесно переплетенными между собой, что разделить их подчас не легче, чем расплести корабельный канат. Собственно, возникновение Linux и знаменует собой окончательное их слияние.
Академические корни и сетевые побеги
История академической Computer Science уходит в начало 60-х, время появления первых компьютеров, способных к интерактивной работе (хотя далеко еще не персоналок — но ведь ранее машины работали исключительно в режиме пакетных заданий). А место ее зарождения — крупнейшие американские университеты — Массачусетский Технологический Институт (MIT), Йель, Университет Карнеги-Меллона, Стэнфорд, Университет Беркли, Калифорния. Историческим центром этого движения долгое время была лаборатория искусственного интеллекта MIT (MIT AI — Artificial Intelligence).
В недрах MIT AI родился, судя по всем свидетельствам, и термин «хакер» — так называли друг друга те, кто способен был «врубиться» в компьютерные науки. Существуют и другие версии происхождения этого термина, в частности, по свидетельству Эрика Реймонда, он происходит от шуток («шпилек»), которыми обменивались первые хакеры. Но мне версия «от топора» нравится больше всех — тем паче, что и существу дела она вполне отвечает.
В любом случае, термин «хакер» не имеет ничего общего с обывательским представлением о компьютерных злоумышленниках — последних называют кракерам (от crack), или, по-русски, хацкерами, обычно с добавлением иронического эпитета — кул-хацкер. Это вовсе не значит, что настоящие хакеры не могли бы быть удачливыми взломщиками компьютерных систем — но их интересы лежат в иной сфере (в частности, и в сфере компьютерной безопасности).
Сеть ARPANET (как и сменившая ее позднее сеть Интернет) в тех же далеких 60-х задумывалась как система отказоустойчивой правительственной связи на случай советского ядерного удара. Однако она оказалась неразрывно связанной с академическими организациями — кроме университетских хакеров, разрабатывать и поддерживать ее было некому. А они не только ковали электронный щит ихней Родины, но и воспользовались случаем для налаживания бесперебойной связи между собой (точнее, между своими Alma mater), создав сообщество ARPANET — прообраз грядущего Интернет-сообщества. Позднее традиция эта была продолжена университетом Беркли, где был разработан протокол TCP/IP, легший в основу современного Интернета.
Корпоративные всходы
Зарождение Unix, как и сообщества Computer Csience, также связано с появлением компьютеров, пригодных к использованию в интерактивном режиме, что создало предпосылки с разработке т.н. систем разделения времени, допускающих как бы одновременное исполнение нескольких задач (time sharing — до этого компьютеры работали в режиме пакетной обработки заданий). И одной из первых таких систем была CTSS (Compatible Time Sharing System).
В развитие CTSS в 1965 году фирмами AT&T и General Electric вместе с MIT был начат проект по созданию истинно многозадачной и многопользовательской системы, которая получила имя Multics. По замыслу она была столь прогрессивной, что в те времена оказалась нереализуемой, и в 1969 году проект был закрыт, оставив среди его участников тоску по интерактивной работе и идею системы разделения времени.
Unix вышел из корпоративных недр компании AT&T, сотрудниками которой являлись его создатели — бывшие участники проекта Multics. Однако это ни в коей мере не была корпоративная разработка — Кен Томпсон и Деннис Ричи разрабатывали ее для собственных потребностей — это был первый в истории IT пример создания «системы для себя. В противоположность, например, системе VAX/VMS от фирмы DEC, которая претендовала на звание «системы для всех». Правда, «все» в данном случае охватывало весьма узкий круг, даже не столько лиц, сколько организаций. Но остается фактом, что VAX/VMS разрабатывался не для личного использования — это наложило отпечаток не только на него, но и предопределило судьбу прямого потомка — Windows NT/2000/XP. С этой антитезой — «для себя» и «для всех», —, о которой упоминалось ранее, мы будем сталкиваться в дальнейшем при рассмотрении всей истории Linux-дистрибуции.
Разумеется, материнская корпорация постаралась пристроить к делу создание своих сотрудников (в частности, Unix с его инструментарием использовался в AT&T для подготовки документации), но, в силу юридических коллизий того времени, не могла сделать из него коммерческий продукт. И потому исходники Unix начали распространяться в университетах — как это называлось, в образовательных целях. В том числе и просто явочным порядком, лично Брайаном — люди с психологией сталинских наркомов, могущие сказать «под мою ответственность», встречались не только в Советском Союзе…
Выйдя за стены Bell Labs, Unix зажил самостоятельной жизнью, крепко окопавшись в той же академической среде Computer Science. Центром ее в данном случае оказался Университет Беркли, штат Калифорния. Именно он поддержал традицию «систем для себя», воплотившуюся позднее в операционках семейства BSD.
Другой опорой Unix стали производители оборудования, такие, как Sun, а вслед за ним IBM, DEC, HP и еще несколько, ныне забытых. Они взялись распространять Unix вместе со своими серверами и рабочими станциями — в собственных вариантах, адаптированных под наличное «железо».
Третий способ распространения Unix изобрели компании Santa Cruz Operations и — кто бы мог подумать? — Microsoft, предложившие первые пробы этой ОС как общедоступного программного продукта — для демократической платформы i386.
В результате Unix, разрабатывавшийся изначально в качестве универсальной кросс-платформенной системы, разделился на множество ветвей, начавших утрачивать совместимость между собой. Для восстановления status quo заинтересованные фирмы и организации занялись разработкой стандартов, призванных вернуть Unix утраченное единство. Наибольшее признание из них получил стандарт POSIX (произносится — пазикс с долгим а) — Portable Operation System Interface based on uniX, разработанный международной организацией под названием IEEE (Institute of Electrical and Electronics Engineers, Inc.), крестным отцом которого стал Ричард Столлмен, о котором скоро пойдет речь. То есть было принято, что любая операционная система, претендующая на звание Unix (или Unix-совместимой), должна соответствовать соглашениям, описанным в основополагающих документах стандарта. Как мы скоро увидим, именно этими документами воспользовался Линус Торвальдс при создании Linux.
Движение Open Source Software
Движение Open Source организационно оформилось в 1998 году. Однако зародилось оно очень давно — и в тех же академических кругах Computer Science. Собственно, первоначально никакого движения не было — а была лишь обычная, принятая в любой науке, практика свободного обмена результатами своей работы. Благо ARPANET, а затем и Интернет предоставил к тому практически неограниченные возможности.
О каком-то оформлении прототипа движения Open Source можно говорить с тех пор, как Университет Беркли получил исходные тексты Unix и, в учебных целях, занялся их усовершенствованием, распространяя результаты своих работ (BSD — Berkeley Software Distributions) открыто (то есть с доступом к исходным текстам) и свободно (то есть без ограничений на дальнейшую модификацию и распространение), под лицензией, которая получила имя лицензии BSD. Суть ее была очень проста: с исходниками BSD Unix можно было делать почти все, что угодно, кроме, разве что, приписать себе ее авторство. Правда, была там и так называемая «оговорка о рекламе» — требование упомянуть регентский совет Университета Беркли в любом производном продукте, но со временем она была изъята (хотя лично я не вижу в ней никакого ущемления свободы — долг вежливости научного работника призывает всегда ссылаться на предшественников).
Поскольку усовершенствования первозданной Unix, пришедшие из Университета Беркли, были очень существенными (достаточно сказать, что файловая система с поддержкой длинных имен и интеграция TCP/IP — заслуга именно берклианцев), результатом этого было расщепление Unix на две ветви — проприетарную Unix от AT&T, за которой со временем закрепилось название System V, и BSD Unix, распространявшуюся свободно. Впрочем, в силу открытости берклианских разработок, они быстро были инкорпорированы и в System V (начиная с ее Realese 4, говорить от первозданном Unix уже не приходится).
Обе ветви Unix, System V и BSD Unix, сосуществовали мирно, подобно капиталистической и социалистической общественным системам. Однако лишь до поры, до времени — пока не появилась юридическая возможность коммерческого распространения Unix, само это слово (в форме UNIX) не стало торговой маркой, соответствие которой должно сертифицироваться, — короче говоря, пока не запахло «баблом». И вот тут-то формальные правообладатели UNIX вспомнили, что в составе BSD-системы имеется некоторое количество кода, являющегося их «интеллектуальной собственностью», и затеяли судебный процесс против Университета Беркли.
Процесс этот длился достаточно долго, и в начале 90-х годов завершился вполне благополучно: куски проприетарного кода из BSD были заменены оригинальными разработками — к слову сказать, без ущерба для системы. Кроме потери темпа разработки, что оказалось существенным для нашей истории — ведь именно в это время возник и начал распространяться Linux. И в итоге свободные BSD-клоны (NetBSD и FreeBSD) оказались не первыми на этом поприще.
Важной вехой в становлении движения Open Source и как технологического, и как идеологического являения стала разработка оконной системы X, начатая в 1984 году. Это был пример первого в истории масштабного проекта, разрабатываемого распределенным коллективом программистов, связанных лишь Интернетом. Разумеется, он базировался на открытых исходниках, распространямых первоначально без всяких лицензионных ограничений вообще. Основная работа выполнялась в MIT при финансовой поддержке фирмы DEC, к которой в 1987 году присоединилось еще несколько крупных поставщиков оборудования (и одновременно разработчиков собственных версий Unix). Образовавшийся таким образом X-консорциум сохранил открытый статус проекта, подчеркнув это собственной лицензией BSD-стиля (она так и называется — лицензия X-консорциума). В результате была создана унифицированная графическая система, общая для всех ОС семейства Unix. И не только для них: Иксы были портированы на VAX/VMS фирмы DEC, OS/2 от IBM и даже, говорят, на Windows.
А тем временем (первая 80-х годов) Ричард М. Столлмен, сотрудник той самой MIT AI (в миру он более известен как RMS), боролся с прикручиванием принтера от HP к своей системе. И боролся безуспешно — поскольку товарищи от Хьюлетта и Паккарда отказались предоставить ему исходники на свое firmware. Что привело Столлмена к убеждению — закрытые исходники суть тормоз прогресса, и все программное обеспечение должно быть открытым и свободным. Начался крестовый поход за освобождение софта.
К середине 80-х годов прошлого тысячелетия RMS создает Фонд свободного программного обеспечения (FSF — Free Software Foundation), начинает проект GNU — воспроизведение функциональности Unix «с чистого листа», но в свободном исполнении, а главное — формулирует принципы Free Software: свобода использования, свобода изучения и модификации, свобода распространения.
Знакомый велосипед, не правда ли? Да, именно на таких условиях распространялись результаты работ сообщества Computer Science (как, впрочем, и любого иного научного сообщества). Новым в принципах RMS, нашедшим свое выражение в разработанной под его руководством (и с участием профессиональных юристов) лицензии GPL (General Public License), было только одно: любая программа, использующая код, защищаемый GPL, должна распространяться на тех же условиях — то есть быть открытой и свободной, ныне, присно и во веки веков…
В рамках проекта GNU (что расшифровывается просто — GNU is not UNIX) были разработаны функциональные аналоги всех классических UNIX-утилит и пользовательских приложений, из которых важнейшим (и незаменимым) оказался компилятор языка Си (gcc — GNU C Compiler).
Маленькое отступление: современным поколением линуксоидов RMS воспринимается в первую очередь как харизматический лидер движения Free Software. И это действительно так: силою убеждения он обратил в свою веру больше людей, чем пророк Мухаммед до хиджры. Однако при этом часто забывают, что изначально RMS был просто хорошим программером, на счету которого — и emacs, отношение к которому может быть неоднозначным, но который стал вехой в истории текстовых редакторов, и, главное, тот самый gcc, без которого дальнейшее развитие Open Source было бы невозможным. И, что характерно, не поленившимся детально документировать свои творения: написанные им (сотоварищи) руководства по Emacs (книга издана в русском переводе) и gcc (русский перевод доступен в Сети) до сих пор являются основными источниками информации по этим программам.
Участники проекта GNU, работавшие первоначально на чистом энтузиазме, за считанные годы воссоздали все системное окружение полноценной ОС. За одним единственным исключением — ядра: разрабатывавшийся в качестве такового микроядерный HURD так и не стал работоспособным за все время существования проекта (забегая вперед, замечу: не вполне работоспособен он и по сей день). И тут наступил звездный час Линуса Торвальдса. Но прежде нужно сказать несколько слов о том, что создало предпосылки для появления «народного» Unix — эволюции аппаратных платформ.
«Железные» предпосылки
Некогда компьютеры были большими — и не просто большими, а очень большими. И работали они исключительно в так называемом пакетном режиме, то есть, получив кучу задач, для ввода которых использовались перфокарты, они обсчитывали их одно за другим, выдавая результат на печатающее устройство типа телетайпа, без всякого взаимодействия с пользователем. Собственно, и пользователей как таковых в те времена не существовало, а существовало понятие оператора ЭВМ — так назывался тот, кто вводил в машину пользовательские задачи.
Потом компьютеры стали поменьше, получили имя микрокомпьютеров и допускали интерактивное взаимодействие с пользователем — ввод задач посредством клавиатуры и вывод результатов на тот же телетайп (а потом и на экран монитора). На одном из таких миникомпьютеров, PDP-7 производства фирмы DEC, и создавался Unix.
Однако Unix быстро утратил связь с родительской платформой: после того, как основная ее часть была переписана на языке Си (специально созданном для разработки этой ОС), возникли условия для относительно легкого ее портирования на любой «железо». Тем не менее, вплоть до середины 80-х годов миникомпьютеры — наиболее демократические платформы того времени, — оставались основной средой для разработки и использования Unix.
Начиная с середины 80-х годов, на смену миникомпьютерам пришли серверы и рабочие станции на фантастически мощных по тем временам RISC-процессорах. Они уже имели вид, подобный обычным персоналкам — с системным блоком, монитором и клавиатурой, а затем и мышью, находившимися в индивидуальном использовании. Объединение их в клиент-серверные сети, в качестве серверов которых могли применяться как большие машины, так и те же RISC-компьютеры, дало новый толчок развитию Unix: именно под такие распределенные компьютерные системы создавались корпоративные варианты этой ОС — от Sun, пионера в использовании Unix на рабочих станциях, от IBM, Hewlett-Packkard, DEC и еще нескольких, ныне забытых. Каждая из которых была способна работать только на собственной аппаратной платформе, в основе которой лежали собственные же, несовместимые друг с другом, RISC-процессоры.
А что же собственно персоналки, именовавшиеся в те годы IBM PC-совместимыми компьютерами? А поначалу — ничего. Первый широко распространившийся персональный компьютер, собственно IBM PC и развивавший его линию IBM PC/XT, базируясь на внутренне 16-разрядных процессорах Intel 8088 и 8086, работать под исходно 32-битной Unix не мог, как не способна была на это и персоналка следующего поколения, IBM PC/AT на процессоре Intel 80286.
Только появление в 1985 году первого 32-разрядного процессора от Intel — 80386, дало возможность использовать Unix на дешевых и общедоступных персоналках. Чем немедленно воспользовались чисто софтверные фирмы, не разрабатывавшие собственных аппаратных платформ, среди первых из которых оказались уже упомянутые ранее SCO и Microsoft, создавшие свои варианты Unix для очередной демократической платформы. Которая с тех времен и зовется — платформа i386, хотя сколько поколений Intel-совместимых процессоров сменилось после 1985 года — на память сразу и не скажешь.
Линия IBM-совместимых компьютеров (или, как их стали называть с преобладанием клонов, Intel-совместимых, а со временем — и просто PC) была не единственной. Широким распространением пользовались также процессоры Motorolla 68XXX, на которых базировались компьютеры Macintosh от фирмы Apple и Amiga от Commodore. Они работали под управлением собственных проприетарных ОС. Однако, поскольку процессоры Motorolla были изначально 32-битными (хотя младшие их версии имели «обрезанную» разрядность), то препятствий к работе под Unix не имели.
И действительно, портирование Unix на платформу 68XXX осуществлялось. Мало кто ныне помнит, но, например, Apple разрабатывала собственную версию ее, под названием AUX, задолго до MacOS X — чуть не сразу после появления первого Mac’а.
И, конечно же, венцом синтеза архитектуры 68XXX и Unix стал знаменитый NEXT конца 80-х — элегантный черный куб, начиненный самым прогрессиным оборудованием (включая CD ROM и аудиосистему, которые для PC того времени были не просто экзотикой — раритетами из раритетов). Внутри него работала Unix-подобная операционка, образованная микроядром Mach, системным окружением из BSD-мира и графическим интерфейсом собственного производства, к созданию которого приложили руки не последние мастера дизайна.
Однако магистральная линия массовой компьютеризации пролегала в другой плоскости. NEXT, обладавший ценой, несколько более чем адекватной его многочисленным достоинствам, постепенно прекратил существование как аппаратная платформа, сохранившись только в качестве программного комплекса NextStep (предшественника современной MacOS X), Amiga пришла в упадок (а потом и вовсе почила, на горе ее многочисленным поклонникам), Apple Macintosh оказался вытесненным в нишевые области — преимущественно сферу высокой полиграфии. По всему миру шло триумфальное шествие Советской власти (то есть, пардон, Intel-совместимых PC).
Надо сказать, что за десять лет существования этой архитектуры персоналки в аппаратной своей части претерпели кардинальные изменения. Появление в 1989 году процессора Intel 80486 вплотную приблизило их производительность к вычислительной мощности рабочих станций на RISC-процессорах. Росли объемы оперативной памяти, емкость жестких дисков, совершенствовалась видеосистема, появлялась первая мультимедийная периферия. А самое главное — PC становились все многочисленнее, стандартизованней и дешевле: триединство факторов, против которого все иные архитектуры, в качестве массовых платформ общего назначения, оказались бессильны.
Главным фактором этого триумфа, конечно же, было удешевление железа. Я помню свое состояние, близкое к шоку, когда в 1992 году персоналки класса «бескомпромиссный high-end», стоимостью в 10-12 тысяч долларов, о которых, к тому же, можно было только прочитать в переводных обзорах, в одночасье стали доступны в Москве по цене две — две с половиной тысячи ихних же денег.
Однако, а под чем же работало все это аппаратное богачество? Да в подавляющем большинстве — под MS DOS, 16-разрядной операционной системой, созданной еще для первых IBM PC и несущей в себе массу неустранимых ограничений: принципиальную однозадачность, отсутствием многопользовательского доступа, возможность использовать «по прямому назначению» лишь 640 Кбайт оперативной памяти, примитивную организацию файловой системы, не менее примитивные средства работы в текстовом режиме — единственно возможном силами «черного» DOS.
Конечно, предпринимались многочисленные попытки заретушировать «родимые пятна» DOS. Разрабатывались средства для использования всего физического объема оперативной памяти и многозадачности, такие, как QuaterDesq и Geoworks, содержащие подчас и встроенные или опциональные системы работы в графическом режиме. Некоторые пользовательские DOS-приложения обзаводились собственными средствами управления памятью и графическими интерфейсами (как тут не вспомнить старика Лотуса — табличный процессор Lotus 1-2-3, первопроходца на этой ниве?). Однако почти вся эта многочисленная DOS-косметика была либо неудачной, либо не получила распространения. Ибо пальму первенства в не очень отдаленной перспективе судьба отдала одной из (многих) графических оболочек для DOS, как-то способной эмитировать работу в многозадачном режиме. Ею оказалась приснопамятная Windows до того, как с версией Windows 95 была повышена в звании до операционной системы (без всяких, впрочем, на то оснований — но это совсем другая история).
Конечно, существовали и альтернативы — например, разрабатывавшаяся в IBM операционка OS/2, первая 32-разрядная ОС, специально написанная для PC. Однако и она, не смотря на весьма прогрессивный базис, не пользовалась ни популярностью, ни распространением. О причинах тому можно было бы вспоминать долго — не последней оказалось исключительно пофигистское отношение производителя к своему детищу.
Выше я упоминал про первые Unix для архитектуры PC, от Santa Cruz Operations — SCO Unix (в последующем UnixWare), — и от Microsoft (последняя носила имя XENIX, и представляла собой многозадачную систему с обрезанной возможностью многопользовательского доступа). Однако и им не досталось народной любви — вследствие высокой стоимости и малого количества приложений, а для XENIX еще и урезанной функциональности.
Сложилась парадоксальная ситуация: «народная», то есть общедоступная, платформа не имела адекватной «народной» же операционки, способной использовать ее возможности. Собственно, проект FreeBSD и начался как попытка заполнения «святого места». Но, как мы помним, развитие его затормозилось вследствие привходящих обстоятельств юридического характера. Да и не ориентировались разработчикиFreeBSD на конечного пользователя (как не делают этого и по сей день). Так ч то судьба стать «народным Unix для народной платформы» выпала на долю Linux.
А «свято место» массовой операционки для настольных персоналок оставалось пусто вплоть до 1995 года — появления Windows 95. Началась эра гегемонии платформы Wintel (то есть машин на Intel-совместимых процессорах под управлением ОС Windows). Не смотря на все успехи Linux в последние годы, гегемония эта практически не поколеблена и по сей день.
Сейчас уже мало кто об этом помнит, но попытки борьбы с Wintel-монополией, путем утверждения в качестве пользовательских декстопов, неоднократно предпринимались и «сверху» — со стороны рабочих станций на RISC-процессорах под управлением проприетарных Unix. И надо сказать, некоторые предпосылки к тому имелись: в те времена былинные под Unix развивалось некоторое количество обычных пользовательских приложений. Лучший текстовый процессор всех времен и народов — WordPerfect, замечательная электронная таблица Wings, предвосхитившая большинство достижений Excell, Frameworks — единственная настольная издательская система, пригодная для верстки очень больших и очень сложно структурированных документов, — все они имели и версии под большинство проприетарных Unix-систем.
На моей памяти было три эпизода инфильтрации рабочих станций на столы пользователей — правда, все они относятся к 90-м годам. Первым на этом полей решил сыграть Hewlett-Packard со своей RISC-платформой HP-PA (Precission Architecture) и Unix-операционкой HP-UX. Где-то в 1993-1994 годах появились сообщения о создании пользовательского варианта таких машин, в несколько урезанной (с точки зрения памяти и дискового пространства) комплектации, но зато по вполне «пользовательской» цене, сопоставимой со стоимостью PC-брендов типа IBM или Compaq. А в начале 1995 года машины эти демонстрировались на первой отечественной выставке UnixExpo (существовало в додефолтные времена такое ежегодное мероприятие) — и, должен заметить, впечатление производили изрядное, особенно в отношении 3D flying («облета» виртуального трехмерного ландшафта) и воспроизведения видео в реальном времени — на PC и то, и другое были еще практически недоступно.
Вторым вступил в игру DEC с компьютерами на базе процессоров Alpha — первыми в те времена с точки зрения номинального быстродействия и к тому же 64-разрядными. Эти машины были способны работать под управлением нескольких ОС — собственных VAX/VMS и DEC Unix (True64 Unix), а также Windows NT; существовал тогда уже и порт Linux под процессоры Alpha (кстати, вообще первый порт этой ОС на платформу, отличную от i386). DEC пошел иным путем: предоставил возможность сторонним производителям собирать машины на базе своих процессоров и материнских плат, прочие же компоненты Alpha-компьютеров к тому времени (примерно 1997 год) уже использовались стандартные, те же самые, что и для PC. Я знал две или три фирмы в Москве, собиравшие на заказ такие, называвшиеся «детскими», машины, также по цене, не превосходящей высококлассные персоналки. Хотя производительность они имели весьма «взрослую». А комплектовались они, по желанию заказчика, любой из поддерживаемых ОС — правда, за отдельную мзду.
В третьем раунде борьбы за пользовательские десктопы (гонг прозвучал в самом конце 90-тых) выступила компания Sun. Она также обратилась к услугам сторонних партнеров, в числе которых были и крупные российские компьютерные фирмы (например, если мне не изменяет память, R-Style). Они продавали самые обычные компьютеры Sparc, комплектовавшиеся, однако, в целях кардинального снижения цены, стандартной для PC видеосистемой (а не собственных видеоадаптером 3D Creator, который, будучи и сам не дешевым, требовал дорогущего фирменного монитора) и IDE-дисками. Ну и с предустановленной Solaris, разумеется.
Все три проекта потерпели, как говорят в народе, полную фетяску. Причин к тому было несколько:
- и дороговизна стульев (пардон, Unix-десктопов) для трудящихся всех стран, привыкших уже к дешевому и относительно качественному самосбору, и утративших привычку меряться брендами;
- и неудачность комплектации: так, HP-PA в «пользовательском» исполнении скорее напоминал сетевую рабочую станцию, не способную к автономному существованию; сфера же применения «самосборных» Sparc вообще оказывалась неясной — для пользовательских десктопов они были дороговаты, до серверов не дотягивали из-за дисковой подсистемы, а как серьезные рабочие станции не котировались из-за слабого видео;
- и постепенное прекращение развития большинства пользовательских приложений для проприетарных Unix;
- и, наконец, просто утвердившаяся среди конечных пользователей привычка к Windows всякого рода.
Собственно, единственным из трех перечисленных проектов, имевшим шансы на успех, был вариант Alpha. Этому способствовала и политика, ориентированная на «конструктора-самоделкина» (теоретически — вплоть до сборщика-индивидуала), и относительно демократическая цена (когда в конце 1997 года я всерьез размышлял о покупке такой машины, то высчитал, что она обошлась бы на 500 баксов дороже, чем самосборный P-II), и то, что она имела уже, в том числе, демократическую ОС — Linux (именно ею комплектовали «самосборные альфы» все известные мне покупатели).
Потому что не последнюю роль в неудаче проприетарных Unix-десктопов сыграло и то, что к тому времени уже существовал Linux. Причем активно распространялся среди тех самых «продвинутых» пользователей, которые могли бы составить целевую группу пользователей настольных Unix-машин.
В заключение этого раздела можно было бы порассуждать на темы альтернативной истории. Например, о том, что было бы, если бы платформа Alpha с ОС Linux на борту во второй половине 90-тых завоевала бы хоть какую-то популярность. Но история не имеет сослагательного наклонения. И единственное, что мы можем извлечь из нее, — это память об ошибках. Ибо забытая история мстит — тем, что имеет обыкновение повторяться…
Линус Торвальдс и его ядро
Однако, увлекшись деталями взаимодействия Unix и «железа», я существенно забежал вперед. Пора вернуться к тому моменту, когда предыстория Linux завершилась — и эта ОС стала реальностью текущего момента.
Впрочем, историю о том, как программа терминального доступа к удаленной университетской машине на протяжении 1991 года постепенно превратилась в полноценную ОС, не описывал только ленивый. Известна она и в версии от создателя — самого Линуса Торвальдса (в его книге Just for Fun, что Максим Отставнов удачно, на мой взгляд, предложил перевести так: Для прикола). Так что пересказывать ее в очередной раз я не буду. А подчеркну лишь те моменты, которые мне представляются наиболее существенными. И которые, как мне кажется, вытекают из всего написанного ранее.
Как известно, толчком для написания Линусом собственного ядра послужила MINIX — операционка, сочиненная Энди Танненбаумом специально для обучения студентов UNIX’у, в силу этого, принципиально ограниченная функционально (дабы не пудрить неокрепшие юношеские мозги), и потому не способная к выполнению какой-либо практической работы. Что многочисленные (в масштабе тех времен) пользователи MINIX пытались исправить с помощью всякого рода патчей.
Однако как раз Линус не занимался «доведением MINIX до ума». Не использовал он также и код какой-либо из реализаций Unix или BSD. Он воссоздал функциональность ядра Unix с нуля — руководствуясь описаниями системных вызовов, данными в соответствующем стандарте POSIX. И потому Linux не является клоном ни System V, ни BSD — хотя в ней и использована схема инициализации в стиле первой, да и идейное влияние второй, безусловно, имело место.
Linux создавался на машине с процессором i386 для архитектуры Intel и первоначально — только для нее. Более того, долгое время Линус вообще сомневался, что его система когда-либо сможет быть портирована на любую иную аппаратную платформу. И потому соответствие стандартам в данном случае преследовало целью не переносимость Linux самого по себе, а в первую очередь возможность компиляции в этой ОС всего ранее созданного программного ассортимента для Unix и POSIX-совместимых систем вообще.
Лично Линусу принадлежит честь разработки ядра Linux и файловой системы ext (то есть Extended — расширение для файловой системы Minix), как и сменившей ее впоследствии ext2. В качестве среды для работы он выбрал bash — командную оболочку, разрабатываемую в рамках проекта GNU. А для сборки своего кода использовал тот самый gcc, о котором только что говорилось, а главной общесистемной библиотекой функций языка Си выступала GNU-реализация ее, glibc. Все прочее системное окружение ядра (комплекс пакетов, который можно назвать Base Linux) также имеет в основном GNU’тое происхождение. Да и при выборе политики распространения Линус в конце концов остановился на лицензии GPL — порождении RMS и FSF. На основании чего часто полагают, что ОС Linux должна на самом деле именоваться GNU/Linux. Правильно ли это?
По моему скромному мнению, нет. Конечно, роль GNU’того софта для развития Linux как пользовательской платформы переоценить нельзя. Однако не проект GNU ухватился за столь недостающее ему ядро. Напротив, это Линус для обеспечения работы своего ядра использовал отдельные компоненты из GNU-арсенала. В полном, к слову сказать, соответствии с духом и буквой GPL и движения FSF. Впрочем, те, кто считает нужным подчеркнуть роль компонентов GNU в составе Linux, вполне могут это делать — и делают.
При этом неотъемлемой чертой набора Base Linux, как уже говорилось, является альтернативность его комплектации — почти любой компонент (кроме, разве что, gcc), может быть заменен на аналогичный, не имеющий отношение к проекту GNU и FSF. И потому ОС Linux — не только (а может быть, и не столько) ядро и набор базовых программ, а в первую очередь алгоритм для построения такого набора. И создание такого алгоритма — второе, после написания кода ядра, великое достижение Линуса.
И, наконец, Линус оказался создателем уникального метода разработки масштабных проектов Open Source, того самого, который Эрик Реймонд позднее назовет методом большого базара. Впрочем, справедливости ради следует отметить, что и в данном случае изобретался велосипед — аналогичный способ привлечения дармовой рабочей силы использовал Том Сойер в своих «Приключениях». Однако, если инструментами Тома были сердцевина от яблока и крыса с привязанной к хвосту веревкой, чтобы удобнее размахивать ей над головой, то орудием Линуса оказался Интернет.
Вот так и сплелись воедино все четыре линии, о которых шла речь раньше. Собственно, рождение Linux дало толчок к окончательному оформлению движения Open Source, несколько обособившегося от сообщества Free Software — хотя и по сей день это существенно пересекающиеся множества. Но, если апологеты последнего, во главе с RMS, декларируют, что все программное обеспечение должно быть свободным, исходя из моральных и идеологических соображений, то для сторонников Open Source характерен более прагматический подход. Их принцип — открытое программное обеспечение следует использовать потому, что оно лучше проприетарного. В том числе — и в следствие публичной экспертизы, невозможной для закрытых проектов. Эта реакция «прагматиков» на максимализм RMS наиболее полно была выражена Эриком Реймондом в его статье «Собор и базар» (русский перевод доступен, в частности, здесь: ) и особенно в книге The Arts of Unix Programming, недавно вышедшей в русском переводе.
Пора, однако, вернуться к Linux. В следующем разделе мы рассмотрим, как эта ОС распространялась в историческом аспекте.
Начало дистрибуции
Подобно первозданному Unix’у, Linux изначально являлся типичной «системой для себя». Более того, исходно единственным его назначением была разработка себя самого — никаких других целей Линус перед собой не ставил. Да и первые пользователи Linux’а устанавливали (точнее, собирали) систему для того, чтобы ее изучать и, по возможности, совершенствовать. Так что ни в каких дополнительных компонентах, кроме ядра и инструментария для его сборки, необходимости не возникало.
По свидетельству очевидцев, установка Linux в древние (до появления версии 1.0) времена была задачей не тривиальной даже для опытного компьютерщика (а иные, вероятно, Linux тогда и не ставили). И в формирующемся Linux-сообществе возникла идея облегчить эту процедуру. В результате чего родилось понятие дистрибутив Linux. Это — система комплектации ядра ОС дополнительными программами и способ ее распространения. Она предполагает наличие программы-установщика и средств управления пакетами — теми самыми дополнительными программами. Впрочем, что такое дистрибутив вообще и дистрибутив Linux в частности — было уже предметом отдельного разговора.
Так вот, практически сразу вслед за объявлением Линуса о новой ОС, началось создание его дистрибутивов. Сначала это были просто комплекты разработчика, не предполагавшие какого-либо иного использования. Однако уже в 1992 году появился дистрибутив SLS (Softlanding Linux System) Питера Мак-Дональда, включавший в себя оконную систему X — то есть, теоретически, пригодный для конечного пользователя.
Правда, как уже сказано, конечными пользователями Linux в те времена были либо его разработчики, либо люди, просто изучающие Unix. И на них ориентировалась вся первая волна дистрибутивов, в числе которых — дожившие до наших дней Slackware Патрика Фолькердинга и Debian, созданный Яном Мердоком, но очень быстро превратившийся в продукт, разрабатываемый независимым сообществом энтузиастов. Так что и первые дистрибутивы Linux по прежнему оставались «системами для себя».
Linux для всех
Тем не менее, уже тогда начались поиски форм его коммерческого распространения. И пионером тут выступила, насколько мне известно, компания Walnut Creek, ориентацией которой было распространение аудио-компактов и прочей медии. По имеющимся у меня данным, эта акула капитализма первой начала распространять на CD не только Linux Slackware, но и первые версии FreeBSD, а также долгое время являлась юридическим владельцем проекта BSD/386, более известным как BSDi — единственного коммерческого варианта берклианских систем.
А тем временем обозначилась первая сфера практического применения Linux — сервера сетевых служб, в том числе — web-сервера. Это вызвало к жизни вторую волну дистрибутивов (правда, по времени она практически пересеклась с первой — но в те героические годы счет велся на месяцы, если не на дни). Ими стали, в числе прочих, ушедших, Red Hat и Suse, оба они создавались как дистрибутивы «для всех» — хотя, конечно, под понятие «все» тут попадали в первую очередь администраторы компьютерных сетей, время Linux’а для конечного пользователя еще не пришло. Но важно, что и Red Hat, и Suse представляли собой не наборы для конструирования собственной системы, как Slackware (да и Debian в те годы, до разработки apt, также скорее предлагал собственное конструирование, нежели готовое решение), а попытки создания систем, работающих «из коробки».
Пример Suse (в те годы этот дистрибутив именовался S.U.S.E, по поводу расшифровки этой аббревиатуры сведения противоречивы) особенно показателен. Изначально это была обычная Slackware с прикрученной к ней универсальной системой установки и конфигурирования — YAST, призванной облегчить труд администратора, сведя его к простановке галочек в соответствующих полях. При этом ручные настройки путем прямой правки конфигов — единственный способ доведения до ума материнской Slackware, — отметались напрочь: попытки ручного вмешательство в Suse влекли в те годы последствия непредсказуемые.
Маленькое отступление: ради Бога, не подумайте, что я оцениваю дистрибутивы «для себя» и «для всех» с позиций «что такое хорошо, и что такое плохо». Тем более. как мы увидим дальше, история уже расставила точки над i в этом вопросе. И тот же дистрибутив Suse тому свидетельством: ныне он допускает как конфигурирование через YAST2, так и ручное вмешательство.
На трех ветеранах дистростроения — Slackware, Debian и Red Hat, — следует задержать внимание. Ибо каждый из них привнес тенденцию, получившую развитие в последующие годы. В Slackware вероятно, впервые появилось понятие пакетного менеджмента: набор утилит для установки, обновления и удаления прекомпилированных пакетов. В качестве пакетов выступали самые обычные тарбаллы, собранные из авторских исходников, и управление ими сводилось к развертыванию оных и инкорпорации в файловую системы. Этот инструментарий не подразумевал никакой политики в отношении зависимости пакетов, кроме сообщения о нарушении оных: разрешать их приходилось вручную, что требовало определенной квалификации.
Вместе с Debian родились понятия контроля зависимостей и дистрибутивных пакетов. Во-первых, deb-пакет включал в себя не только откомпилированные бинарники и прочие компоненты, необходимые для работы (библиотеки, конфиги, документацию), но и список пакетов, от которых зависит данный. Причем — с разделением на приоритетность таковых: различались зависимости обязательные (depends), без которых установка и работа пакета невозможна, настоятельно рекомендуемые (recommends), добавляющие существенную, с точки зрения майнтайнера пакета, функциональность, и рекомендуемые умеренно настойчиво (suggests) — добавляющие некоторые, возможно, полезные, функции.
Во-вторых, в Debian впервые появилось понятие модульности пакетов: дистрибутивный deb-пакет вовсе не обязательно соответствовал пакету авторскому: последний мог делиться на составные части, каждая из которых могла быть установлена независимо. Это — с одной стороны. С другой же — появился термин «виртуальный пакет», то есть объединение группы взаимосвязанных пакетов, которые могли быть гуртом установлены одной командой (примерно в это же время во FreeBSD родились близкие по смыслу понятия «метапакет» и «метапорт»). Впрочем, потенциал, заложенный в формате пакетов Debian, в те годы реализован не был: он заиграл на исходе тысячелетия, после разработки инструментария apt, который и создал предпосылки для широкого клонирования дистрибутивов, его использующих.
Ну а достижением Red Hat стал rpm (Red Hat Package Manager) — средство управления бинарными пакетами одноименного формата. Rpm-пакеты также включали описание зависимостей — правда, без разделения на обязательные и опциональные, оставляя необходимость последних исключительно на совести майнтайнера. Да и информация о нарушении зависимостей, выдаваемая самой программой rpm, мягко говоря, внятностью не отличалась — предполагалось, что все они будут разрешены в ходе начальной установки собственной программой-инсталлятором. Тем не менее, именно этот инструмент программного менеджмента обеспечил популярность дистрибутива Red Hat и снискал ему множество продолжателей: кроме прямых клонов, на пакетирование в формате rpm перешел дистрибутив Suse (генетически, как уже было сказано, потомок Slackware).
Лицом к пользователю
Итак, на протяжении 1994-1997 годов дистрибутивы Linux обрастали «дружественными к пользователю» инсталляторами, средствами сквозного конфигурирования и пакетного менеджмента, включали в себя пользовательские, в том числе офисные, приложения, правда, достаточно мрачные (Applix) и неуклюжие (ранние версии StarOffice). Предпринимались и первые попытки интернационализации. Однако от конечного пользователя эти дистрибутивы оставались не менее далеки, чем декабристы с Герценом — от народа.
Впервые о Linux’е для конечного пользователя можно говорить, вероятно, с 1998 года, когда Жиль Дюваль создал дистрибутив Mandrake (ныне — Mandriva). Основной его идеей было объединение Linux’а и графической среды KDE. Разработчики Mandrake были первыми, кто решился на такой шаг, не смотря на тогдашнюю неясность лицензионной политики в отношении библиотеки Qt, на которой KDE основывался: пуристы от FSF и, вместе с ними, основные майнтайнеры дистрибутивов, включая Red Hat, полагали лицензии этих программ не соответствующими идеалам свободного программного обеспечения. И попросту игнорировали единственную в те времена по настоящему интегрированную пользовательскую среду.
Собственно говоря, первая версия Mandrake (правда, номер она имела — 5.1) представляла собой самый обычный Red Hat с его тогдашним псевдографическим инсталлятором, средством дисковой разметки Disk Druid, — и KDE, уже тогда имевшим большой набор штатных пользовательских приложений.
Другой особенностью Mandrake была попытка поддержки «из коробки» экзотического в те годы «железа», начиная от звуковых карт и кончая телетюнерами и цифровыми камерами. Характерна для нее также тотальная интернационализация — пожалуй, это был первый дистрибутив, декларировавший поддержку произвольных языков (что послужило толчком к появления «русского Линукса», о чем речь пойдет в следующей статье). Все это надолго приковало к Mandrake сердца пользователей, не имеющих прямого отношения к разработке программ или администрированию сетевых служб.
Роль Mandrake в приобщении первой волны конечных пользователей к миру Linux (и Unix-подобных операционок вообще) переоценить трудно. В том числе и потому, что этот дистрибутив обеспечивал, более или менее удачно, возможность не только работать, но и развлекаться — не особо утруждая себя настройкой аппаратных средств. Не случайно в многочисленных опросах на форумах о первом в жизни дистрибутиве Mandrake (а теперь и Mandriva) уверенно занимает одно из первых мест (если не однозначно первое). Правда, те же опросы показывают, что далеко не все пользователи сохранили верность своему начальному выбору.
Таким образом, Mandrake можно считать практически первым дистрибутивом, поставившим во главу угла интересы конечного пользователя. Под его влиянием шаги в этом направлении предприняли и ветераны дистростроения, такие, как Red Hat и Suse — они обзавелись красивыми графическими инсталляторами, предлагавшими предопределенные варианты установки типа пользовательской мультимедийной станции, офисной машины и так далее.
Немалую роль в обращении Linux’а к конечному пользователю (сиречь офисному и домашнему, профессионально не связанному с IT) сыграло директриса развития офисного пакета StarOffice. Созданный немецкой фирмой StarDivision первоначально для OS/2, он быстро был портирован на все существовавшие тогда платформы и операционки, претендовавшие, хотя бы чисто теоретически, на звание настольных — в том числе и на Linux. И хотя не являлся тогда ни открытым, ни свободным продуктом, был доступен, при определенных условиях, для бесплатного использования. А по своей функциональности, опять же со множеством оговорок, приближался (или стремился приблизиться) к MS Office, ставшему безраздельным властителем столов конторских служащих (Lotus Office и WordPerfect Office к концу тысячелетия уже отошли в область преданий). Позднее же StarOffice расщепился на две линии — полностью свободный пакет OpeOffice и сохранивший частнособственнические пережитки StarOffice.
Исторической правды восстановления ради нужно заметить, что StarOffice был не первым офисным пактом для Linux: этот титул по праву принадлежит пакету Applix одноименной, также немецкой, фирмы. Каковой, правда, обладал рядом недостатков, в частности, не способен был, без хирургического вмешательства, работать с кириллицей. Да к тому же не был ни открытым, ни свободным, ни даже бесплатным. И развитие которого прекратилось уже несколько лет назад.
Были и другие попытки создания программ офисного назначения. Тут можно вспомнить и Siag — прототип офисного комплекта, состоящий из текстового процессора и электронной таблицы, и простой монофункциональный текстовый процессор Ted, и Lyx — попытку облечь TeX в клерковский костюм с галстуком. Все они канули в Лету забвения — только Abiword сохранился в составе эвентуального GNOME Office (хотя изначально к GNOME никакого отношения не имел). Впрочем, и Lyx продолжает свое развитие — но уже скорее в качестве программы верстки «на скорую руку», нежели универсального word-процессора.
В результате всех этих процессов — и популяризации самой системы, и появления пользовательских приложений для нее, — на рубеже 1998-1999 годов в широких кругах околокомпьютерной общественности заговорили о появлении «Linux’а с человеческим лицом». Казалось бы, этот самый «очеловеченный» Linux имеет все шансы прочно окопаться на пользовательских десктопах, заменив в этом качестве Windows (о прочих пользовательских платформах, за исключением MacOS, к тому времени забыли). Не тогда ли родился приснопамятный лозунг — виндовз мастдай?
Началось явление, вошедшее в историю ушедшего тысячелетия как Linux-бум. Оно, в свою очередь, вызвало к жизни новые дистрибутивы, уже прямо заявленные в качестве пользовательских десктопов — такие, как Corel Linux, распространявшийся по схеме коммерческого софта. Впрочем, ни народной любви, ни более-менее приемлемой популярности они не снискали: по настоящему о коммерческих (или квазикоммерческих) дистрибутивах заговорят только через несколько лет.
Source Based: назад, в будущее
Однако скоро выявилась и оборотная сторона любого user-ориентированного дистрибутива «для всех». И состояла она в том, что у каждого из их разработчиков были свои представления о том, что же нужно конечному пользователю для полного счастья. Одни полагали, что счастье достижимо только в среде KDE, другие — что истинно счастливым юзера может сделать только идеологически правильный GNOME. Ну а третьи решали вопрос кардинально, и помещали в дистрибутив все, что только можно. И юзерофильные дистрибутивы стали пухнуть, как на дрожжах. К тому же графические инсталляторы этих систем, облегчая, с одной стороны, установку, с другой — навязывали пользователю предопределенные свыше наборы приложений. О назначении коих этот самый пользователь рисковал никогда не узнать — просто из-за их изобилия. А количество user-ориентированных средств конфигурации стало, по меткому выражению Владимира Попова, превышать число конфигурируемых параметров.
И вот тут многие пользователи начали вспоминать, что они еще и администраторы собственных компьютерных систем — пусть даже в масштабе одного отдельно взятого десктопа. И, с легкой руки Клиффорда Вольфа (создателя дистрибутива Rocklinux) в обиход вошел термин — «дистрибутив, дружественный к администратору». Началась эра дистрибутивов Source Based.
На этой волне появились и упомянутый выше Rocklinux (исторически первый дистрибутив из этой серии, возникший еще тогда, когда и термина Source Based не было), и LFS (Linux from Scratch) — набор рецептов по сборке собственной Linux-системы с нуля, созданный Герардом Бикмансом, и вариации на тему Sorcerer, и CRUX с Archlinux.
Однако наибольшую известность на этом поприще снискал Gentoo Дэниеля Роббинса. Не в последнюю очередь — благодаря прекрасной документированности процесса установки, позволяющей, строго следуя директивным указаниям, собрать индивидуализированную, в том числе оптимизированную под наличное «железо», систему даже относительно малоопытному пользователю. А система портежей, родившаяся под идейным влиянием портов FreeBSD, позволяла очень гибко наращивать функциональность установленной системы.
Правда, мало для кого Gentoo оказался первым дистрибутивом — роль его скорее в повышении общей квалификации пользователей, прошедших через Mandrake или Red Hat, и разочарованных их дружелюбием, местами навязчивым до неприличия. Что, однако, не умаляет его значения: с точки зрения понимания устройства системы опыт пользователя Gentoo уступает, пожалуй, только сборщику LFS.
Ну а роль самого Дэниела Роббинса в пропаганде Linux’а также переоценить трудно. Кроме своего дистрибутива, он стал и автором многочисленных ярких статей о самых разных аспектах устройства этой ОС — и о файловых ее системах, и о программных RAID-массивах, и о приемах работы в командной оболочке. Увы — весной 2005 года он поступил на службу классовому врагу: ни одна фирма, связанная с Linux и Open Source, не нашла для него должности с достойной зарплатой. Тем не менее, проект Gentoo по прежнему живет и интенсивно развивается. Да Дэниел с Microsoft уже распрощался.
Достижение гармонии
Однако и тут все оказалось не так гладко, как виделось поначалу. Будучи исходно типичным представителем «дистрибутивов для себя», Gentoo весьма мало подходил на роль системы общего пользования. Установка его (точнее, сборка из исходников) вполне могла длиться сутками, после чего требовалась еще и ручная доводка — правкой конфигов в текстовом редакторе. А выигрыш от оптимизации «под железо» постепенно оказывался все более иллюзорным, нивелируясь ростом общей вычислительной мощности компьютерного парка. И среди пользователей началась неясная сначала тоска по прошлому — простым решениям «из коробки», позволяющим развернуть систему и начать работать в ней за считанные часы, а уже потом, при необходимости и по возможности, шлифовать ее до немыслимого совершенства (а какой линусоид к совершенству не стремится?).
И тут наступил час систем, которым на всем протяжении своего развития удавалось счастливо балансировать на зыбкой грани между дистрибутивами «для себя» и «для всех», между универсализмом и индивидуализмом, не склоняясь ни к «популизму» Red Hat сотоварищи, ни к «кастовости» Slackware (а позднее и Gentoo). И здесь в первую голову нужно назвать дедушку дистростроения — Debian. Разработка в 1999 году apt (Advanced Packaging Tools) — универсального набора инструментов для управления пакетами, — сделала его лидером в пакетном менеджменте. Не случайно apt был использован в rpm based дистрибутивах (впервые — в бразильской Connectiva, затем — в российском Altlinux). И, более того, послужил прототипом для универсальных систем управления rpm-пакетами, таких, как yum (Red Hat/Fedora, ASPLinux) и urpmi (Mandrake).
И именно поэтому Debian дал в нашем тысячелетии наибольшее число активно развивающихся потомков. С одной стороны, от него отделились дистрибутивы коммерческого типа — Xandros (бывший Corel Linux), Mepis и Linspire (ранее скандально прославившийся как Lindows). С другой — он лег в основу знаменитого LiveCD Knoppix, давшего, в свою очередь, многочисленные ответвления. С третьей же, на базе Debian образовалось немало свободных дистрибутивов общего назначения, из которых наибольшая известность суждена была семейству Ubuntu. Впрочем, история семейства Debian составит предмет отдельной заметки.