Russian Fedora

cообщество русскоязычных участников
международного проекта Fedora

Важен ли Display Server?

Robert Ancell, один из немногих разработчиков в Canonical и разработчик GNOME, написал пост, в котором высказал точку зрения, что какой используется Display Server, это неважно для приложений, ведь они используют не платформо-специфичные вызовы, а тулкиты, в которых уже все сделано.

Его пост вызвал смешанную реакцию в коммьюнити. Сразу возник вопрос - если дисплейный менеджер неважен, то зачем весь этот цирк с Mir? Напомним предысторию, если кто забыл. Сначала Canonical распространяла легенду, что якобы в Wayland невозможно было сделать что-то, что нужно для мобильного устройства, и включить дополнительный функционал либо нельзя технически, либо запрещалось некоей контролирующей Wayland коммерческой компанией. Затем в коммьюнити вокруг Ubuntu возникла коротко жившая легенда, что в Wayland нельзя использовать проприетарные драйверы для Android, в отличие от Mir. Затем было озвучено новое объяснение - Wayland разрабатывается слишком медленно, которое потом развилось в еще более удивительное - появление Mir ускорило разработку Wayland.

В этой реальности же, оказалось, что в отличие от Mir, контролирующей организации у Wayland нет, а есть широкое сообщество заинтересованных компаний и индивидуальных разработчиков, управляющее процессом по принципу меритократии и ведущее разработку публично (Mir почти год писался закрыто). Что разработчиков Wayland никто и не спрашивал о той функциональности, которая так требуется Canonical - ни один из разработчиков Mir вообще не общался с ними до самого анонса Mir. Что проприетарные драйверы в Wayldand использовать можно, и именно решение, использующееся в Wayland, было портировано в Mir. Что скорость разработки Wayland не изменилась, а вот Mir заметно сбавил скорость, несколько раз перенеся сроки выхода релиза, пригодного для широкого использования (по умолчанию его теперь планируют включить лишь в 2016 году), т.к. написать болванку проекта, даже такого, как принципиально новый дисплейный сервер - легко, а вот по достижении 80% функционала добить остальные 20 - очень тяжело. Объяснять широкой публике, почему вместо доработки Wayland надо было с нуля писать несовместимое решение, теперь у Canonical получается плохо, особенно учитывая, что Wayland уже используется в мобильных и встраиваемых устройствах, а возможностей Mir хватает лишь для сомнительных демонстрашек.

Но даже и это не то, за что зацепился глаз в заметке Роберта.

Разработчики прикладного ПО, представляющие таких игроков, как Intel и KDE почти сразу озвучили свои в озражения по существу. Ikey Doherty из Intel в своей ленте Google+ не согласился, с тем, что разработчику можно не интересоваться дисплейным сервером.

Есть заметное количество "corner case", где разработчику прикладного ПО придется спуститься на уровень ниже, чем используемый тулкит, утверждает Ikey опираясь на свой опыт. К несчастью, он привел не очень убедительный пример - GTK, к кроссплатформенности которого всегда предъявляли претензии.

Но и с Qt, очень похоже, дела обстоят не так хорошо, как утверждают в Canonical. Martin Gräßlin, у которого интересная и захватывающая история отношений с фанбоями Ubuntu, изложил свои соображения по теме.

Martin пишет следующее - он шокирован тем, что Canonical упорно продолжает не видеть тех проблем, что они создают коммьюнити. На самом деле поведение тулкита Qt на разных платформах отличается. Да, отличается по мелочам, но они есть, и лично он напоролся на несколько.

Благодаря упертости Canonical будут и другие, и их будут сотни, если не тысячи, как предполагает Martin. Это очевидным образом увеличит матрицу тестирования для разработчика прикладного ПО, увеличит сложность поддержки. С ним соглашаются и комментаторы в его посте на Google+.

В GNOME, когда столкнулись с потоком проблем у пользователей Ubuntu, проблему решили тем, что официально или неофициально перестали принимать во внимание багрепорты от пользователей Ubuntu, если их невозможно воспроизвести на нормальной Linux-платформе. Вероятно, что подобную тактику придется и избрать в ближайшее время и сообществу KDE, да и другим сообществам тоже. Martin уже рекомендует другим разработчикам никогда не принимать Ubuntu-специфичных патчей, и утверждает, что уже поступает именно так, и это не политическое, а чисто техническое решение.

Возможен, конечно, фантастический исход, что у Canonical впервые получится задуманное, и доля Mir начиная с 2016 года будет устойчиво расти среди мобильных устройств и десктопов, что, конечно, может повлиять на предпочтения разработчиков. Но не лучше ли забросить вредную для OSS коммьюнити попытку навязать альтернативное решение, и перейти наконец-то на то, что выбрало коммьюнити, т.е. Wayland? Ведь Canonical хватило благоразумия именно так поступить с systemd.

Ситуация начинает сказываться болезненно на обоих сторонах - на коммьюнити разработчиков Open Source, и на Canonical. Ведь не только нашим коллегам все тяжелее и тяжелее поддерживать ПО из-за нарастающих различий между стандартным дистрибутивом Linux и Ubuntu, но и Canonical все тяжелее управлять нарастающей дельтой изменений в условии отсутствия разработчиков в нужном количестве. Мы уверены, что Mir постигнет судьба всех прочих проектов Canonical, и надеемся, что здравомыслие восторжествует, но хочется, чтоб это наступило как можно скорее - это пойдет на пользу всем.

UPD статью прокомментировал и Aaron Seigo.