Текст книги "Вопросы истории: UNIX, Linux, BSD и другие"
Автор книги: Алексей Федорчук
Жанры:
ОС и Сети
,сообщить о нарушении
Текущая страница: 26 (всего у книги 28 страниц)
Разумеется, в этой статье будет говориться только о тех десктопах, которые работают в открытых и свободных UNIX-подобных системах, и сами принадлежат к миру FOSS. И потому за точку отсчёта времени в истории интегрированных сред можно принять осень 1996 года – начало работы Маттиаса Эттриха (Matthias Ettrich) над средой KDE. Однако рассмотрение предыстории вопроса опускается куда глубже, в недра проприетаризма.
Отдалённым прототипом современных интегрированных сред были первые, ещё до-иксовые графические интерфейсы фирмы Sun – SunView (Sun Visual Integrated Environment for Workstations, изначально SunTools), затем NeWS (Network extensible Window System) и, наконец, OpenWindows, о которых я упоминал в главе про историю Иксов. Они предназначались для операционной системы SunOS – фирменного варианта UNIX: именно здесь впервые была реализована идея интеграции операционной системы, GUI и пользовательских приложений, получившая дальнейшее развитие не только в мире UNIX, но и далеко за его пределами.
Именно графические интерфейсы, пришедшие из совершенно других миров – не UNIX'овых и не свободных, миров OS/2, Macintosh'а и Windows, оказали определяющее влияние на десктопы, о которых вскоре пойдёт речь.
Ныне мало кто помнит, но OS/2 не включала графический интерфейс пользователя как непременный атрибут операционной системы, однако обладала оригинальной и весьма совершенной графической оболочкой, Presentation Manager, позднее Workplace Shell (WPS). Она отличалась исключительной аккуратностью и вылизанностью, благодаря чему и послужила образцом при создании первого собственно Иксового десктопа – среды CDE.
Среда CDE (Common Desktop Environment) была разработана в 1993 году под эгидой The Open Group и при участии Hewlett-Packard, IBM, Novell и Sun. Она основывалась на библиотеках Motif и включала в себя оконный менеджер VUE (или HP-VUE – Visual User Environment), ранее применявшийся в HP-UX. Она быстро стала стандартным графическим интерфейсом для всех проприетарных UNIX'ов.
Как легко догадаться, CDE (как и лежащие в её основе библиотеки Motif) не была ни свободной, ни открытой. Именно потому влияние её на дальнейшее развитие десктопов, за единственным исключением (и, разумеется, самой идеи интеграции), оказалось не очень большим. Не изменило ситуации и открытие в начале десятых годов исходников и Motif'а, и CDE, ибо состоялось оно по принципу: возьми, боже, что мне не гоже. В то время, когда DOSS-десктопы давно превзошли своего первопредка и по функциональности, и по удобству.
Отступление. Среда CDE основывалась на библиотеке Motif – в те времена стандартном наборе для графических интерфейсов проприетарных UNIX. На нём же основывалось и множество приложений графического режима, некоторые из них были открытыми. Но, поскольку сами библиотеки были закрытами, свободными эти приложения быть не могли.
Поэтому был изобретён свободный аналог – библиотека OpenMotif. Правда, функционально обеднённый – и не все Motif-приложения могли быть с ним собраны.
В дальнейшем, уже в начале текущего десятилетия, и библиотека Motif, и среда CDE были последовательно открыты для народа. Но к тому времени они вышли из моды, морально устарели, и казалось что народу не нужны. Однако буквально в то время, как в эту книгу вносилась последняя правка (1 марта 2014 года), мир облетела весть о выходе первой, со времён открытия исходников (и, следовательно, первой свободной), версии CDE, за номером 2.2.1. Пока она доступна только в виде исходников, адптированных, как говорят разработчики, для сборки в любом дистрибутиве Linux или BSD-системе. Что из этого получится – поживём, увидим.
Ранние версии Windows, с версии 1-й по 3.X, представляли собой обычные графические псевдомногозадачные надстройки над DOS, хотя нынче об этом и не любят говорить вслух. Имя графическим DOS-надстройкам тогда было – легион: достаточно вспомнить такие среды, как GEM (много лет служившую для запуска Ventura Publisher), DesqView, GEOS и GeoWorks. И это не говоря уже о том, что многие популярные приложения, вроде Lotus 123, QuattroPro или WordRerfect, располагали собственными графическими оболочками. Влияние этих Windows за пределами своего мира также было невелико. Звёздный час Windows наступил в 1995 году, с выходом версии его имени. Но к этому вопросу мы ещё вернёмся.
В отличие от OS/2 и DOS/Windows, операционная система Macintosh'а, именовавшаяся в те времена просто и скромно – System 4, 5, 6 и так далее, – изначально в качестве неотъемлемого компонента включала в себя графическую среду, неотделимую от собственно операционки. На десктопы свободных UNIX-подобных систем она поначалу оказала влияние сугубо косвенное. Хотя и в те времена, как и по сей день, выступает в качестве своего эталона графического интерфейса пользователя.
Очень важной вехой в развитии графических интерфейсов оказалась система NeXTStep, о которой упоминалось в предыдущей главе . Однако это стало ясно годы спустя, после того, как её достижения были инкорпорированы в недра MacOS X.
Воистину судьбоносным в истории графических сред стал август 1995 года – момент выхода Windows 95. Именно в ней впервые появляется центральный элемент большинства графических интерфейсов последующих лет – сакраментальная кнопка Start (она же Пуск), располагающаяся на главной управляющей панели и вызывающая каскадное меню приложений.
Справедливости ради надо отметить, что прообраз этой кнопки, нёсший на себе изображение надкусанного яблока, появился в Macintosh'евских System. Управляющая панель в Windows 95 также в значительной мере унаследована от графической среды Macintosh'а, хотя нельзя исключить и влияние ранних оконных менеджеров Иксов. Наконец, из Иксов же, прямо или косвенно, в «девяностопятке» заимствуется идея контекстных меню рабочего стола.
Я надеюсь, никто не заподозрит меня в излишних симпатиях к Самой Великой ОС всех времён и народов. Однако, вопреки расхожему мнению, я не склонен считать, что разработчики Windows 95 взяли и просто так потибрили все перечисленные компоненты откуда бы то ни было. Во-первых, многие из них восходят к далёким временам экспериментальных графических интерфейсов, разрабатывавшихся в Исследовательском центре Пало-Альто компании Hewlett-Packard (PARC) и оказавших огромное влияние на все последующие графические системы и среды без исключения.
Во-вторых, интеграция всех указанных компонентов в виде, доступном для восприятия тем самым пресловутым простым пользователем, о котором так любят говорить и в проприетарной сфере, и в мире FOSS – это неоспоримая заслуга разработчиков Windows 95.
Так или иначе, Windows 95 создал тот образ графического интерфейса, который быстро завоевал популярность среди широких народных масс. И с этим образом приходилось считаться разработчикам любых десктпопв, ориентированным на ту же целевую аудиторию.
Рождение KDEНе стал исключением и Маттиас Эттрих – создатель первого интегрированного десктопа для свободных UNIX'ов, когда он в 1995 году приступил к разработке KDE. Маттиас, в то время студент университета в Тюбингене, уже приобрёл известность как разработчик LyX – системы компьютерной вёрстки, которую с некоторой условностью можно считать надстройкой над TeX. И первые шаги по сбору команды для работы над KDE он предпринял в списках рассылки своего проекта.
Согласно легенде, Эттрих занялся разработкой интегрированного десктопа – делом тогда ещё новым и неосвоенным, для того, чтобы его девушка чувствовала себя в Linux'е так же комфортно, как и в Windows 95, к которой она, видимо, успела привыкнуть.
Так что, создавая KDE, Эттриху пришлось включить в неё и управляющую панель в стиле Windows 95, и кнопку Start. Однако было бы неправильно считать, что он тупо скопировал интерфейс Самой Великой ОС, о чём любят говорить несознательные (или неосведомлённые) граждане. Ибо гораздо больше в интерфейсе KDE было унаследовано от старых добрых оконных менеджеров для Иксов. В ней были и развитая система контекстных меню, и множественные виртуальные декстопы.
Как мы помним по прошлой главе, про оконные менеджеры, всё это в совокупности имело место быть и в оконных менеджерах, воспроизводивших внешность Windows 95, таких, как FVWM95 и IceWM. Однако в KDE имелось и кое-что ещё, и кое-что другое, а именно – набор штатных приложений. Набор этот включал в себя файловый менеджер kfm в стиле пресловутого Windows Explorer, эмулятор терминала konsole, сразу два текстовых редактора – KEdit типа Notepad'а и более «продвинутый» KWrite. Все эти приложения имели интерфейс в едином стиле, хорошо вписываемый в среду.
Отступление. Как показывают многочисленные вопросы на форумах, нынче мало кто помнит расшифровку названия KDE. А расшифровывалась эта аббревиатура очень просто: Kool Desktop Environment. Впрочем, это не прибавляет ясности и помнящим те времена почти былинные. Ибо никто так и не знает, что же вкладывалось создателем в слово Kool – его нет ни в английском языке, ни в немецком. Разве что если воспринимать его как попытку записать по немецким правилам английское слово Cool? Намёки на что можно найти в ранних обзорах этой среды.
Видимо, разработчики быстро поняли это, и ныне литера K в имени этого десктопа не означает ничего, кроме самой себя. То есть его название можно перевести на русский язык как «Рабочее окружение некоего гражданина K» – и не более того.
Самое же главное – в KDE имелось средство тотальной настройки, KDE Control Center (KCC), позволяющее настраивать параметры как самой среды, так и всех штатных приложений – этого в столь интегрированном виде ни у одного из оконных менеджеров для Иксов тогда не было и в помине.
Отступление. В традициях раннего KDE было называть все приложения для неё именами, начинающимися с заглавной буквы K, или, в редких случаях, ею оканчивающихся. В случае с эмулятором терминала это послужило основанием для многолетней путаницы, продолжающейся по сей день.
KDE создавалась как среда не исконно немецкая, а интернациональная, и потому имела английский интерфейс. По английски тектовая консоль, или виртуальный терминал (console) и терминальная программа из KDE (Konsole) пишутся несколько по разному. По немецки же они пишутся абсолютно одинаково (konsole) и столь же одинаково произносятся. Кстати, в русском языке ситуация аналогичная.
В результате многие пользователи, и не только начинающие, явно или не явно, но не делают различия между работой в текстовой консоли и в командной строке эмулятора терминала Konsole.
С самого начала KDE задумывалось как среда самодостаточная, снабжённая комплексом приложений, необходимых для практической работы. Создание вокруг проекта сообщества разработчиков позволило реализовать эту идею на ранних его стадиях.
Кроме перечисленных ранее приложений, ней очень быстро появились собственные средства для работы с сетью, комплекс мультимедийных программ, кстати, едва ли не первый в своём роде, наборы для украшательства рабочего стола.
Всё это было очень логично организовано в несколько «авторских» пакетов, таких, как kdelibs – библиотеки, дополняющие основополагающую библиотеку Qt, kdebase – базовые приложения среды, kdenetworks – сетевые средства, kdemultimedia очевидного назначения, kdeartworks – набор украшательств, и так далее. А вскоре для KDE был создан даже офисный пакет KOffice, развиваемый и поныне под именем Calligra.
Среда KDE, как и все её приложения, основывалась на библиотеках Qt, разработанной незадолго до этого (также в 1996 году) норвежской фирмой Trolltech. Библиотека эта распространялась с открытыми исходниками, но не была свободной в понимании GNU/FSF. Ибо имела две версии – платную для коммерческого использования и бесплатную – для использования некоммерческого. Последняя и была положена в основу KDE и её собственного набора библиотек – kdelibs.
Не вполне свободный характер библиотеки Qt и послужил завязкой всего последующего сюжета, стержнем которого стало противостояние KDE и GNOME. Не смотря на то, что вскоре (осенью 1998 года) некоммерческий вариант Qt/X11 стал распространяться под лицензией GPL, работа над GNOME уже началась. Так что если бы Эттрих выбрал бы для своего десктопа любую другую библиотеку (а дальнейшие события показали, что он сделал лучший выбор), был бы найден более иной повод для создания «истинно свободной» интегрированной среды.
На самых ранних стадиях разработки KDE вокруг проекта собралась небольшая, но сплочённая группа товарищей, в основном вполне студенческого возраста. Они создали и некоммерческую организацию KDE e.V. (eingetragener Verein – зарегистрированное объединение, по немецки), уставной фон для которой набрали из карманных денег. И, как свидетельствуют очевидцы, например, один из соучередителей, Маттиас Далхаймер (Matthias Kalle Dalheimer), процесс разработки KDE проходил весьма весело, в лучших традициях университетских буршеншафтов.
К слову, Маттиас Далхаймер в те далёкие годы работал в фирме Star Division – той самой, в которой разрабатывался кросплатформенный офисный пакет StarOffice, предшественник современных OpenOffice и LibreOffice. И занимался он там как раз его портированием на Linux – исходно тот был предназначен для OS/2. Но эту историю я расскажу как-нибудь в другой раз.
А ещё Маттиас – один из авторов последних изданий знаменитой книжки «Запускаем Linux» (Running Linux). Написанная в 1995 году Ларом Кауфманом (Lar Kaufman) и Мэттом Уэлшем (Matt Welsh), она, обрастая соавторами, за десять лет выдержала 5 изданий. И стала настольной книгой многих поколений линуксоидов, как начинающих, так и действующих.
KDE – в жизньВследствие не вполне свободного характера библиотеки Qt, основанная на ней среда KDE была настороженно принята столпами дистроения, в первую очередь ревнителями идеологической чистоты, такими, как Debian и Red Hat.
Так что поначалу KDE самостоятельно собиралась исключительно энтузиастами в рамках более иных дистрибутивов. Однако звёздный час её был недалёк: в июле 1998 года выходит первая версия первого по настоящему юзерофильного дистрибутива – Mandrake Linux, потомком которого является современная Mandriva и ряд её дериватов.
Первая версия Mandrake, как ни странно, носила номер 5.1, ибо представляла собой достаточно точный клон Red Hat 5.1, появившегося на свет незадолго до того, весной 1998 года (кажется, с тех пор и пошла традиция для клонов – наследовать номера версии прародительской системы). Но её «юзерофилия» как раз и заключалась в том, что она штатно включила в себя среду KDE с её штатными приложениями, в том числе графическими и мультимедийными.
Более того, среда KDE была в первом Mandrake десктопом по умолчанию. А сам дистрибутив этот оказался первым, вообще получившим умолчальный десктоп. Ранее такого понятия просто не существовало – и тому было много причин, одна из которых – отсутствие свободных десктопов вообще (оговорки на счёт Qt будем считать юридическим крючкотворством, тем более что и повод для них скоро пропал).
Вслед за Mandrake, осенью 1998 года, среда KDE в качестве умолчальной была включена в версию 5.3 SUSE. И с тех пор судьба обоих этих дистрибутивов оказалась тесно с ней связанной. Хотя, разумеется, ни в том, ни в другом KDE не был единственным десктопом, да и простыми оконными менеджерами они не оскудели. Но, как говорится, оба они «затачивались» в первую очередь под KDE.
А затем, на рубеже тысячелетий, поднялся первый вал «Linux'ов с человеческим лицом», или, точнее, первых систем быстрого развёртывания, начиная со StromLinux'а. За которым последовал вал второй – VectorLinux, MEPIS и другие, ряд которых существует и сегодня. И во всех этих системах в качестве десктопа, теперь уже не просто умолчального, а единственного штатного, задействовалась среда KDE. Хотя в то время она была уже не единственным представителем своего класса, имелись и альтернативы, о которых пойдёт скоро пойдёт речь.
Среда для холериковКак было только что сказано, к рубежу тысячелетий доминирование KDE в ряду графических интерфейсов свободных UNIX-подобных систем. Однако KDE существовало не в безвоздушном пространстве, в чём мы сейчас и убедимся.
Буквально через несколько месяцев после выхода KDE, появляется среда XFce. Говорят, что первоначально название её расшифровывалось как XForms Common Environment – разделяемая среда на библиотеке XForms. К тому времени, как я её впервые увидел, та же аббревиатура трактовалось как The Cholesterol Free Desktop Environment – «обезжиренный» свободный десктоп. Хотя мне больше нравилась трактовка названия как среды для холериков – её действительно отличала не просто быстрота реакции на действия пользователя, но именно порывистость. Однако давно уже в Xfce не осталось и следов от библиотек XForms, да и того взрывного впечатления, как некогда, она уже не производит. Так что, подобно большинству аббревиатур FOSS-мире, ныне Xfce не расшифровывается никак.
Среда Xfce была создана французом Оливером Форданом, и не столько под впечатлением и по примеру KDE, сколько как попытка создания свободного аналога CDE. И в интерфейсе её ранних версий чётко прослеживается влияние первой рабочей среды UNIX'ов.
И строилась она по совершенно другим принципам, нежели KDE. Если последняя стремилась стать самодостаточной средой со всеобъемлющим набором пользовательских приложений, то в Xfce, кроме средств управления окнами и сквозной настройки, имелся лишь очень небольшой комплект базовых утилит и приложений, типа файлового менеджера и эмулятора терминала. Благодаря этому Xfce была средой очень компактной и быстродействующей.
Среда Xfce основывалась на наборе библиотек XForms весьма сложного происхождения, но восходившем в конечном счёте к IRIS GL, проприетарной графической библиотеке компании Silicon Grahics (ныне SGI). Да и сама XForms в то время не была свободной, а только лишь бесплатной для личного некоммерческого использования (настоящую свободу в понимании FSF она обрела годы спустя). И потому отношение к ней дистроителей было не менее настороженным, нежели к KDE. То есть её существование игнорировалось и Red Hat'ом, и Debian'ом. А поскольку по своей функциональности Xfce не намного превосходила развитые оконные менеджеры, то и большого интереса энтузиастов она тоже не вызывала.
Отчётливо маргинальное положение занимала среда Xfce во время жизненного цикла своей 1-й и 2-й версии. Версию же 3-ю Фордан весной 1999 года полностью переписал с использованием библиотек Gtk – тех самых, которые, как мы скоро увидим, перед тем легли в основу среды GNOME. В результате этого «освобождения» Xfce стала включаться как дополнительный десктоп в ряд дистрибутивов, в частности, в ту же Mandrake и её русскую редакцию. Однако дистрибутива, в котором она выступала бы десктопом по умолчанию, не существовало вплоть до середины нулевых, когда появились первые «лёгкие» системы быстрого развёртывания, такие, как Zenwalk, в которых она пришлась очень ко двору. Но это уже переход к следующему этапу нашей истории.
А пока – несколько слов об Xfce версии 3. Именно в отношении её название среды трактовалось «с холерическим уклоном» – и к тому были все основания. Она работала чрезвычайно быстро и, так сказать, «импульсивно». Ощущение это передать словами почти невозможно, но оно осталось незабываемым – больше нигде и никогда мне такого испытать не довелось.
Да и интерфейс её тогда сильно отличался от уже примелькавшихся к тому времени KDE и GNOME, не обнаруживая ни малейшего намёка на «Windows-подобие», и скорее вызывая в памяти WPS из OS/2 эпохи «Кривого Мерлина».
Завершая этот раздел, ещё раз подчеркну: появление Xfce не оказало большого влияния на мир рабочих сред для свободных UNIX-подобных систем. Ибо ось развития их проходила по линии противостояния KDE, о котором уже шла речь, и GNOME, к рассмотрению истории которого мы сейчас перейдём.
Disclaimer, он же – отмазка. Однако прежде чем перейти к истории GNOME я должен принести слова покаяния. Настоящая книга, как неоднократно декларировалось, написана, по мере возможности, в соответствие с заветом Тацита – «без гнева и пристрастия». Один раз, в главе девятнадцатой, я уже отступил от этого завета. И ныне вынужден сделать это вторично.
Ибо, когда речь заходит о среде GNOME, мне этого завета придерживаться трудно. Разумеется, никакого гнева против этого десктопа я не испытываю. Нет и особого пристрастия или противострастия – одно время я даже был его пользователем. А все предыдущие годы честно (хотя и безуспешно) пытался найти те самые его несравненные достоинства, о которых столько говорили его приверженцы.
Нет, речь идёт не о гневе или пристрастии, а скорее о чувстве недоумения: почему такая эклектическая, неорганизованная и даже не очень оригинальная в идейном плане среда завоевала столь широкую популярность. Разумеется, к тому были некоторые объективные предпосылки, о которых я скажу по ходу дела. Но во главе угла всё-таки стоял субъективный фактор – тот самый, который можно назвать кредитом доверия пользователей. И который, как мы увидим, оказался фактически безграничным, хотя разработчики GNOME раз за разом подвергали его испытанию на прочность. Причём таким, на какие не решалась даже компания Microsoft, чья Windows даже на заре своего существования имела несоизмеримо большую пользовательскую базу.
В общем, говоря об истории GNOME, мне очень трудно сохранять объективность – что и прошу учитывать читателя.