Когда несколько дней назад компания Canonical — вотчина популярнейшего Linux-дистрибутива Ubuntu — известила о намерении заменить систему X Window на продукт собственной разработки под названием Mir, мало кто из журналистов и блоггеров обратил на это внимание. Линукс давно уже превратилась в подобие пылесоса или стиральной машины: ею так же пользуются миллионы и точно так же никто не лазит «под крышку» (хоть в данном случае любопытство и приветствуется). Так что тех немногих обозревателей, кто всё-таки не поленился упомянуть инициативу Canonical, стоит похвалить уже даже если они написали «X Window» без ошибки (пальцы просятся, но писать надо без буквы S на конце).
А ведь на наших глазах творятся странные и страшные вещи. Демонстрируя презрение к общественному мнению и намереваясь списать в утиль архитектуру, верой и правдой служившую не только Линукс-, а и всему UNIX-сообществу аж с начала 80-х годов, Canonical без преувеличения посягает на устои. В меру способностей я постараюсь объяснить суть и важность происходящего. А вы попробуйте не смеяться, потому что начинать придётся с азов. Так что же случилось на прошлой неделе?
X Window System — это, говоря упрощённо, программа, отвечающая за вывод информации на компьютерный дисплей в особой форме: в прямоугольных, изолированных друг от друга областях, называемых «окнами». Разработали «Иксы» почти тридцать лет назад сотрудники Массачусетского технологического института (MIT), опиравшиеся, в свою очередь, на ещё более древние наработки (W Window System и далее). Нам, впрочем, сейчас важно уяснить, что X Window — не только программа, рисующая на экране, но и одноимённый сетевой протокол, посредством которого рядовые приложения с Иксами «общаются». Такое разделение очень ценно. Скажем, благодаря ему можно строить «тонкие клиенты»: запускать X Window на маломощном персональном компьютере, оснащённом только дисплеем, клавиатурой и мышью, а вычисления производить на сервере, обслуживающем сразу несколько рабочих мест. Кроме того, таким образом гарантируется, что с экраном в любой операционной системе, на любом процессоре и любой видеокарте можно «говорить» на одном языке, то есть без модификации программ, Иксами пользующихся.
Совместимость, абстрагированность от конкретного железа, гибкость сделали X Window очень популярным инструментом, особенно в мире UNIX. История компьютерной техники знает всего несколько успешных UNIX-отпрысков, обошедшихся без Иксов (Mac OS X и iOS, Android). Во всех остальных случаях (и уж точно на подавляющем большинстве Linux-машин) вы обнаружите тот или иной вариант X Window: вплоть до начала нулевых самым популярным был Xfree86, а десять лет назад его потеснил более шустрый и прогрессивный X.org. Откуда взялась конкуренция? Дело в том, что с ростом производительности персоналок у Иксов обозначились острые углы. Вся эта строгая официальность X-протокола, когда с собственным экраном приходится общаться через сеть, словно с другим компьютером, здорово сказывается на быстродействии приложений, активно использующих графику. Грубо говоря, сделать плавный, быстрый графический пользовательский интерфейс (GUI) с помощью Иксов невозможно.
Так что спецификации X Window начали обрастать дополнениями, смело воплощавший их X.org стал фаворитом, а лет пять назад несколько разработчиков X.org решились и на совсем уж отчаянный поступок. Они предложили отказаться от X Window вовсе. И зачали Wayland.
Опять же упрощая, Wayland — это плагин, подключаемый к X-серверу (к той же X.org, например) и позволяющий приложениям обращаться к видеокарте напрямую, минуя сложности X-протокола, через набор стандартизованных простых, очень быстрых инструментов. В перспективе Wayland способен превратиться из «довеска» в главного посредника между прикладными программами и дисплеем. Иксы же будут цепляться уже как плагин к Wayland, обеспечивая совместимость для старых приложений. Идея радикальная, но необходимость её диктует сама жизнь: устаревшие, медленные Иксы мёртвым грузом повисли на шее современных Linux-приложений. Только избавившись от X Window, можно надеяться построить в Линуксе рабочий стол, использующий весь потенциал современного железа и технологий (процессоров, видеокарт, коммуникационных механизмов и пр.).
Что ж, знакомая вам Canonical стала первым большим игроком, который официально одобрил идею отказа от X Window. Основатель и руководитель компании Марк Шаттлворф вообще любит смелые решения. Его инициативы не всегда находят понимание в глазах линуксоидов, это правда, но в конце концов именно благодаря его агрессивной политике Ubuntu и стал самым популярным дистрибутивом на десктопах. Так что три года назад Canonical начала планировать переезд на Wayland, но подготовка затянулась — и вот на днях история получила неожиданное продолжение. Теперь вместо Wayland Шаттлворф с коллегами намерены переезжать уже на продукт собственной разработки, названный Mir.
С точки зрения функционала Wayland и Mir — близнецы-братья, разве что первый уже более-менее отлажен, а второй пока существует только в форме демонстрационного прототипа. Так что и аргументы в пользу того и другого одинаковые: они заменят Иксы, упростив и ускорив процесс общения прикладных программ с экраном. Canonical нуждается в этом чуть ли не больше любого другого Linux-вендора, ведь она планирует экспансию Ubuntu на мобильные устройства и умные телевизоры, где вопросы производительности и энергоэкономичности обладают наивысшим приоритетом.
С Wayland не сложилось, но разработку Mir Canonical контролирует единолично, а потому может строить планы. Осенью Mir будет работать на смартфонах, а следующей весной станет обязательным элементом Ubuntu Linux. После чего имеет все шансы проникнуть и в другие дистрибутивы: уж очень значителен социальный вес Ubuntu. Linux станет красивей, быстрее, удобней. Так чего же боятся критики — которых было немало уже три года назад, а сегодня ещё больше? А боятся они, что из гибкой, взвешенной UNIX-подобной конструкции Linux превратится в обособленное нечто, направлять которое сможет один отдельно взятый разработчик.
Для рядовых пользователей, равно как и разработчиков классических (X-ориентированных) приложений, ничего не изменится: X Window будет работать фоном, пристёгнутая к Mir или Wayland. Но в стратегическом смысле произойдёт очень важная перемена. Если X Window следовала общей UNIX-философии (гибкость, переносимость, совместимость и т.п.), Mir и Wayland — это уже чисто линуксовые программы, опирающиеся на специфические свойства конкретной операционной системы (собственно Linux). Вряд ли они будут так же переносимы, так же гибки, как X. А вместе с ними гибкость потеряют и приложения, на них ориентированные: чем шире распространится Mir, на котором, благодаря поддержке Canonical, наверняка и будет сосредоточено внимание Linux-сообщества, тем дальше мы уйдём от привычных взвешенности и гибкости.
Впрочем, Linux и без того давно уже превратилась в де-факто главный UNIX планеты. Больше критиков пугают диктаторские замашки Марка Шаттлворфа. Ведь Canonical так и не смогла убедительно объяснить, почему она предпочла отказаться от Wayland в пользу собственного Mir. Предполагают, что таким образом Шаттлворф просто пытается получить ещё один рычаг влияния на Linux и Linux-сообщество. Формально Mir — свободный проект, подключиться к которому может каждый желающий. Фактически же, как и для всей Ubuntu с недавних пор, направление развития выбирает Canonical, в значительной степени закрывшая процесс разработки своих продуктов от посторонних (якобы для того, чтобы брожение умов не тормозило прогресс дистрибутива).
Canonical — не самый активный Linux-разработчик. Но ей принадлежит самый модный, самый популярный среди рядовых пользователей дистрибутив. И её вес может качнуть лодку в ту сторону, в которую сочтёт нужным Марк. Так вот не перевернуться бы. X Window развивали всем миром. Mir — вопреки названию — детище одной компании.