Очень важной вехой в развитии графических интерфейсов оказалась система NeXTStep, о которой упоминалось в предыдущей главе . Однако это стало ясно годы спустя, после того, как её достижения были инкорпорированы в недра MacOS X.
Воистину судьбоносным в истории графических сред стал август 1995 года – момент выхода Windows 95. Именно в ней впервые появляется центральный элемент большинства графических интерфейсов последующих лет – сакраментальная кнопка Start (она же Пуск), располагающаяся на главной управляющей панели и вызывающая каскадное меню приложений.
Справедливости ради надо отметить, что прообраз этой кнопки, нёсший на себе изображение надкусанного яблока, появился в Macintosh'евских System. Управляющая панель в Windows 95 также в значительной мере унаследована от графической среды Macintosh'а, хотя нельзя исключить и влияние ранних оконных менеджеров Иксов. Наконец, из Иксов же, прямо или косвенно, в «девяностопятке» заимствуется идея контекстных меню рабочего стола.
Я надеюсь, никто не заподозрит меня в излишних симпатиях к Самой Великой ОС всех времён и народов. Однако, вопреки расхожему мнению, я не склонен считать, что разработчики Windows 95 взяли и просто так потибрили все перечисленные компоненты откуда бы то ни было. Во-первых, многие из них восходят к далёким временам экспериментальных графических интерфейсов, разрабатывавшихся в Исследовательском центре Пало-Альто компании Hewlett-Packard (PARC) и оказавших огромное влияние на все последующие графические системы и среды без исключения.
Во-вторых, интеграция всех указанных компонентов в виде, доступном для восприятия тем самым пресловутым простым пользователем, о котором так любят говорить и в проприетарной сфере, и в мире FOSS – это неоспоримая заслуга разработчиков Windows 95.
Так или иначе, Windows 95 создал тот образ графического интерфейса, который быстро завоевал популярность среди широких народных масс. И с этим образом приходилось считаться разработчикам любых десктпопв, ориентированным на ту же целевую аудиторию.
Не стал исключением и Маттиас Эттрих – создатель первого интегрированного десктопа для свободных 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 изданий. И стала настольной книгой многих поколений линуксоидов, как начинающих, так и действующих.
Вследствие не вполне свободного характера библиотеки Qt, основанная на ней среда KDE была настороженно принята столпами дистроения, в первую очередь ревнителями идеологической чистоты, такими, как Debian и Red Hat.