Феномен Linux - в истории и перспективе
АрхивВ этих заметках рассказ пойдет в особенности об операционной системе Linux - именно она символизирует явление, которое вошло в историю как феномен Open Source. Хотя Linux и не одинока на этой стезе, но только она породила множество прямых потомков в лице сотни дистрибутивов и даже послужила объектом для подражания.
Рассказ у нас пойдет в особенности о хоббитах, и любознательный читатель многое узнает об их нравах и кое-что из их истории.
Дж. Р. Р. Толкиен. «Властелин Колец» 1
В этих заметках рассказ пойдет в особенности об операционной системе Linux - именно она символизирует явление, которое вошло в историю как феномен Open Source. Хотя Linux и не одинока на этой стезе, но только она породила множество прямых потомков в лице сотни дистрибутивов и даже послужила объектом для подражания (с точки зрения если не буквы, то - духа) 2.
В общем, то, что происходит в последние два-три года, получило название Linux-бума. Однако ни один бум не может длиться вечно. Чувство восторженной новизны со временем ослабевает, события входят в более спокойное русло, и возникает вопрос: каким окажется будущее Linux? Попробуем представить его, обратившись к истории.
Начну с момента, когда, как мне кажется, ОС Linux впервые обратилась лицом к конечному пользователю 3. За точку отсчета приму выход Linux Mandrake 5.1 - первого произведения Жиля Дюваля сотоварищи 4. Утверждение это может показаться спорным. Ведь к тому времени большинство популярных дистрибутивов далеко отошло от сборки «с помощью паяльника и осциллографа», предоставив достаточно удобные средства установки и конфигурирования. Однако средства эти предназначались все же скорее сисадмину, чем рядовому пользователю.
Mandrake же изначально принял во внимание интересы именно конечного, в том числе и домашнего, пользователя. В него в качестве стандартной была включена первая и тогда единственная работоспособная интегрированная визуальная среда - KDE 5. Именно она позволила преодолеть психологический барьер множеству пользователей, не впитавших с молоком матери привычки к shell и vi.
Кроме того, Mandrake исходно был интернациональным по сути. Его разработчики пытались, хотя бы теоретически, охватить все изобилие языков нашей маленькой планеты. Последний фактор сыграл решающую роль в судьбе Mandrake на постсоветском пространстве: с локализации пакета (IPLabs Linux Team, ныне Altlinux) по-настоящему началась разработка отечественных дистрибутивов 6.
Следуя веяниям времени, по тропе, намеченной Mandrake, двинулись и прочие разработчики. Один за другим дистрибутивы приобретают красивые графические программы инсталляции, удобные средства настройки, расширяют круг поддерживаемых языков, обрастают мультимедийными приложениями. Однако - не все: ряд систем не просто сохраняет верность стилю True-Linux, но и развивает его.
В итоге к настоящему моменту привычная классификация дистрибутивов на Red Hat-, Slackware-, Debian-клоны оказалась размытой. С одной стороны, появились кросс-дистрибутивные средства управления пакетами, формат которых - одна из основ традиции 7. А благодаря усилиям по стандартизации Linux будет, надеюсь, нивелирован и другой ее столп - различие логической структуры файловых систем. С другой стороны, клоны основных систем (тот же Mandrake, или, паче того, Corel Linux) настолько отошли от своих прототипов, что об их происхождении подчас не напоминает даже формат пакетов (примером чему - Suse).
И потому единственный критерий классификации дистрибутивов ныне - это их ориентация - на конечного ли пользователя или на системного администратора 8. Под чем отнюдь не подразумевается их назначение - настольное (в первом случае) или серверное (во втором): и те и другие могут с успехом использоваться в обоих качествах. Просто в user-ориентированных системах не забыто, что администратор Web- или LAN-сервера - тоже пользователь, то есть человек, и ничто человеческое (в частности - и здоровая лень в отношении ручных настроек) ему не чуждо. Вторые же напоминают о том, что на настольной машине любой пользователь, как правило, - сам себе root и может испытывать желание сделать все руками.
Отсюда вытекают основные различия выделяемых групп. Типичные представители первой - современные версии Red Hat, Suse, Caldera OpenLinux, Mandrake, почти все вариации на тему Altlinux, ASPLinux и многие, многие другие. По умолчанию им свойственны: установка в графическом режиме, автоматизация создания дисковых разделов и настройки основных параметров, выбор предопределенных групп пакетов - скажем, для разработчика, для сервера, для офисного применения 9. Апофегей этой группы - Corel Linux, в котором текстовой установки нет как класса, а многие настройки только автоматические 10.
Кроме того, user-ориентированные дистрибутивы постепенно обзаводятся едиными системами конфигурирования, функционально подобными Панели управления из Windows, - здесь «впереди планеты всей» Mandrake: его Control Center способен решить почти все пользовательские задачи в автоматическом режиме (включая выдвижение лотка CD-привода для вставки диска, содержащего требуемую lib).
Вторая группа представлена 11 Slackware и Debian, Stampede и, наконец, RockLinux, который можно поднять над ними в качестве штандарта. Здесь - все иначе: аскетичная установка в текстовом или, в лучшем случае, псевдографическом режиме (Stampede, скажем, до сих пор не обзавелся ни загрузочным CD, ни даже образами boot-дискет), ручное создание разделов утилитами fdisk или cfdisk и ручной же выбор пакетов, локализация посредством текстового редактора (он же - и главный инструмент конфигурирования вообще). Короче говоря, перечисление отсутствующих возможностей способно вызвать дрожь у Windows-пользователя.
Тем не менее, популярность sysadmin-ориентированных дистрибутивов отнюдь не снижается. Почему? Ответить нетрудно. Именно они дают полную свободу в настройке системы под свои потребности. И пользователь Windows, начавший знакомство с Linux с продукции Corel (в надежде без напряга обрести мощь Unix), очень быстро понимает, подобно цитируемому товарищем Бендером персонажу, что все в жизни имеет оборотную сторону.
Конечно, приятно, когда сразу после инсталляции можно общаться с системой на родном языке, печатать (в том числе и фотореалистичные изображения), писать CD (не вникая в параметры загрузки ядра) и слушать музыку (не собирая требуемых для того модулей). Однако «раскошеливание на похороны» в данном случае заключается в огромном количестве автоматически установленного софта (о большинстве которого пользователь рискует никогда не узнать). Или, напротив, в отсутствии чего-то жизненно необходимого 12.
Конечно, все «огрехи» автоматизации в user-ориентированных дистрибутивах устранимы. Однако подчас это требует не меньших (если не больших) усилий, чем, скажем, установка русской локали с нуля. А главное - пользователь, понадеявшийся на легкость установки и освоения современных дистрибутивов, оказывается морально не готов к такому повороту событий.
Итак, можно сказать, что если традиционные дистрибутивы пытаются возвысить юзера до сисадмина, то user-ориентированные - адаптируют систему до уровня понимания юзера. И расслоение Linux на две эти группы - реальность сегодняшнего дня.
Что же ждет нас завтра? Я, честно говоря, не верю в разлив основного Linux-русла по десктопам широких пользовательских масс - ОС займет место на винчестерах достаточно ограниченного круга юзеров. И - специфического, тех, кто в итоге приходит к выводу о необходимости разобраться в той или иной мере в устройстве системы. И потому крайние user-ориентированные возможности современных дистрибутивов останутся невостребованными - не в этом ли причина блистательного провала Corel Linux?
Тем не менее, возврата к «эпохе паяльника и осциллографа» уже не будет - к легкой жизни привыкаешь быстро. Так что следующий этап развития Linux видится мне в достижении разумного компромисса между автоматизацией и ручной работой. А вот какова будет форма этого компромисса - об этом «давай хотя бы помечтаем».
Рискну предположить, что большинство пользователей, независимо от квалификации, с удовольствием избавятся от необходимости собственноручно прикручивать принтер, сканер и прочее железо, передоверив эти функции программе установки. Не ожидаю активного протеста и против корректной автоматической локализации системы и приложений (включая спеллинг, шрифты и прочее).
А вот что следует оставить сугубо на усмотрение пользователя - это комплектацию системы. Тем более что штатные наборы пакетов отражают не только (а подчас и не столько) их взаимозависимости, сколько представления авторов дистрибутива о потребностях типичного разработчика или офисного труженика - за примером вернемся к 12-й сноске.
Возможно, это покажется беспринципным, но контроль зависимостей пакетов я, напротив, отдал бы на откуп системы - разбираться с этим большинству пользователей лень. Вернее, специальной интегрированной программы, позволяющей доустанавливать или удалять любые программные компоненты. К тому же мы знаем примеры более чем успешной реализации такого подхода - что в текстовом режиме (pkgtool в Slackware), что в графическом (тот же Control Center в Mandrake).
А еще лучше, если программа установки софта будет одновременно и общим конфигуратором системы. Желательно - идентичным по интерфейсу с программой установки самой ОС.
Если суммировать все сказанное и довести до логического завершения, мы получим… нечто вроде FreeBSD с ее sysinstall, не так ли? 13
Это я не к тому, что следует сменить Linux на *BSD (в этих системах у пользователя возникнут свои проблемы). Однако почему бы не присмотреться к тому, что делается в стане братьев во Open Source? Братьев по классу, по духу - ну и пусть, что не по лицензии…
Post Scriptum. Я не стал загромождать изложение ссылками на сайты производителей поминаемых дистрибутивов - их можно посмотреть, например, на www.linuxlinks.com.
[i42626]
1 (обратно к тексту) - Перевод В. Муравьева. И не говорите мне, что транскрипция фамилии автора неправильна - она дана по цитируемому изданию (М: Радуга, 1988, с. 31), первому полному в отечественной истории: таким образом переводчики подчеркнули немецкие корни рода Толкиенов (Tolkien).
2 (обратно к тексту) - В качестве примера можно привести ОС AtheOS. Да и реанимация проекта Hurd после многих лет вялотекущего существования, думается, во многом вызвана популярностью Linux.
3 (обратно к тексту) - Волею случая именно тогда началось и мое приобщение к Linux, поэтому я могу говорить о том, что в значительной мере происходило на моих глазах.
4 (обратно к тексту) - Пусть не смущает номер версии - он соответствует таковому Red Hat, от которого Mandrake отпочковался.
5 (обратно к тексту) - Да простят меня поклонники Gnome, но назвать его работоспособным тогда можно было с большой натяжкой. А XFce - и до сих пор не назовешь по-настоящему интегрированной средой.
6 (обратно к тексту) - Предтечами чего выступили и диски «УрбанСофта», и «Красная Шапочка», и украинские KSI и Black Cat. Однако в начале традиции русскоязычия Linux - именно Linux Mandrake Russian Edition.
7 (обратно к тексту) - Такие, как исходно Debian’овский apt.
8 (обратно к тексту) - Речь идет о универсальных дистрибутивах. Специализированные системы с нестандартной, так сказать, ориентацией, выступающие под девизом «Linux на одной дискете», я не рассматриваю.
9 (обратно к тексту) - Конечно, порядочные люди, как правило, предусматривают и возможность текстовой установки в ручном режиме, однако это лишь дополнительная «фича» для нештатных ситуаций.
10 (обратно к тексту) - Не так давно в природе возник новый дистрибутив под издевательским названием RedmondLinux, в коем так называемая забота о пользователе доведена до логического предела. В итоге он избавлен даже от необходимости выбора пакетов - их набор устанавливается принудительно и безальтернативно.
11 (обратно к тексту) - Перечисляю лишь наиболее популярные, на самом деле им тоже несть числа. Недавно и на Руси возник представитель - MultiLinux, являющий адаптацию Slackware к советско-кириллическим условиям.
12 (обратно к тексту) - Так, в Mandrake при выборе офисной установки невозможно скомпилировать простейшую программу - никакие инструменты для этого стандартным набором не предусмотрены.
13 (обратно к тексту) - Внешне, разумеется, а не с точки зрения внутреннего устройства ядра, файловой системы etc.