LINUX.ORG.RU

Интервью с Вадимом Жуковым, мейнтейнером KDE и Qt в OpenBSD

 , ,


1

3

На основе вопросов пользователей ЛОР состоялось интервью с Вадимом Жуковым, мейнтейнером KDE и Qt в OpenBSD. Получены ответы на самые интересные вопросы.

Как вы оцениваете эволюцию KDE от 3 к 4 ветке? Оправданы ли такие революционные изменения интерфейса?

Прежде всего должен сказать, что вспоминать KDE3, конечно, можно, но нет большого смысла. TDE остаётся маргинальным, а больше никто базу KDE3 не развивает, насколько мне известно.

Если говорить об интерфейсе пользователя, то все прелести наработок компенсируются тремя «но»: падучесть Plasma, тормоза Akonadi и падучесть Akonadi. К сожалению, и в эпоху KDE5 в этой области остаются проблемы... В итоге я сам не использую KDE как именно DE, но с удовольствием пользуюсь рядом KDE-программ: KMyMoney, Digikam, KSnapshot, Filelight и другими. В плане интерфейса мне очень импонирует глубокая степень интеграции в KDE и, как мне кажется, большая ориентированность на пользователя с инженерным мышлением.

Как вы адаптируете KDE под OpenBSD? С чем больше всего сложностей возникает?

Главная сложность — нехватка времени. Проект KDE — это более десяти миллионов строк кода и несметное число пакетов с кучей зависимостей, которые регулярно меняются. То есть много рутинных действий, которые, к сожалению, проблематично автоматизировать: регулярно всплывают какие-нибудь особенные ситуации.

Серьёзной проблемой является Plasma Workspaces (это уже из мира KDE5): чтобы его портировать. нужно сначала втаскивать в базовую систему (точнее, в Xenocara) поддержку Wayland. Мною подготовлены порты для собственно wayland и wayland-protocols, но, опять же, не хватает времени даже на то, чтобы пропихнуть в апстрим патчи для поддержки kqueue...

Также всё больше становится необходимым портирование Qt WebEngine. Очень надеюсь закончить этот процесс до начала учебного года — после этого студенты уже не дадут мне столько времени. :)

Кем вы видите себя через 5 лет? Чего вам не хватает в своей работе? А какая зарплатная вилка? ;) Шучу.

Если речь про основную работу, то не хватает умения пробивать идеи (в частности, выбивать ресурсы), а также банальной аккуратности.

Если про образовательный процесс, то не хватает компьютерных аудиторий.

Ну а если всё же речь про open source, то не хватает времени на всё, что хочется сделать. :) Думаю, я бы отказался даже от нынешней основной работы (на которую трачу три дня в неделю), если бы можно было обеспечивать сравнимый уровень жизни.

Общались ли вы с Тео де Раадтом? Какое впечатление он на вас произвел?

Общался неоднократно. Впечатление — потрясающе эрудированный и очень быстро мыслящий человек. Думает и говорит как пулемёт. Очень энергичный и полностью живёт проектом OpenBSD.

Вы вообще читаете ЛОР и как часто? Зарегистрированы ли на ЛОРе или пишете из-под анонимуса? Какое впечатление ЛОР произвел на вас?

Читаю очень редко. В комментарии ходить — жалко время тратить, а новости те же, что и на OpenNet, например. Ничего лично, просто так исторически сложилось. Так что изредка меня заносит на ЛОР шальным ветром гиперссылок, но не более того.

Вроде бы зарегистрирован, но в любом случае не пишу. Полез было восстанавливать учётную запись и понял, что она была, похоже, зарегистрирована на мой первый почтовый ящик, ныне канувший в Лету вместе с хостером E-mail.ru.

Как вы относитесь к Wayland? Появится ли он когда-нибудь в OpenBSD?

Отношусь — с сомнением. С одной стороны, код Wayland мне скорее нравится, и ряд заложенных в него идей звучит здраво. С другой — по работе я довольно активно использую проброс X-окон... В OpenBSD он, конечно, появится, вопрос лишь — когда.

Как вы относитесь к flatpak и прочим snap-aм?

Я понимаю, зачем они нужны, но по моему скромному мнению они, во-первых, вредят open source (уменьшается стимул участвовать в работе на девелоперской веткой кода), а во-вторых, провоцируют халтурный подход к организации инфраструктуры. Это примерно как «умные лампочки»: на словах прикольно, а в реальности — куча внезапных проблем.

Как вам вообще OpenBSD на desktop? ЗАЧЕМ она нужна там, ведь есть Linux-системы, более ориентированные для desktop?

Нормально она на desktop. Программы есть и работают, даже какие-то игры есть и работают. Steam нет, это да. И бинарных драйверов от NVIDIA нет. И Wine.

Я не соглашусь со словами об «ориентированности». OpenBSD так же как и многие дистрибутивы GNU/Linux является ОС общего назначения. «Заточенность под десктоп» — это очень общие слова, так как этот самый «десктоп» может быть сильно разным. Какие-то задачи лучше решаются с помощью того или иного дистрибутива GNU/Linux, какие-то — с помощью OpenBSD, какие-то — с помощью Windows.

На своей основной работе я вначале поднимал местные сервисы на CentOS. А потом, устав от войны с гиперусложнённой системой, потихоньку перетащил всё на OpenBSD. Сбоев стало меньше, времени на обслуживание я тоже трачу меньше, инфраструктура более единообразная — profit как он есть.

Мою систему проще обслуживать, обновления куда более управляемые, файловая система, опять же, не сыпется... :)

Почему лично вы вот пользуетесь и поддерживаете KDE для OpenBSD?

KDE изначально я просто пользовался. Когда я только приходил в мир Unix, именно с этой средой я подружился. А потом появился KDE4, а в OpenBSD его всё не было и не было. Я и начал сам. :) Точнее, подхватил эстафетную палочку у Марка Эспи (Marc Espie). Если честно, зная, сколько усилий и проблем придётся преодолевать, я бы, может, и не стал браться за это дело... Но что есть, то есть.

В каких сферах можно применить openbsd?

Я бы скорее сформулировал вопрос наоборот, так как оригинальный дать в меру краткий ответ невозможно: «В каких сферах нельзя применять OpenBSD?»

Прежде всего это сферы, где нужна RTOS, конечно. Туда же идёт совсем мелкая эмбедовка — условно, меньше мегабайта ПЗУ.

В каком состоянии поддержка железа в OpenBSD?

В целом неплохо. Нет Bluetooth (был, но выпилили, так как оказался никому не нужным настолько, чтобы нормально поддерживать) и FireWire.

Нет поддержки фирменных технологий NVIDIA, так как нет бинарных драйверов. Какие-нибудь фирменные мелочи на разных ноутбуках могут не поддерживаться, но поскольку я по жизни пользуюсь ThinkPad'ами, то подробнее сказать не могу.

Зато очень хорошо работает звук (OpenBSD реально может гордиться sndio), ну и неплохой сетевой стек. :)

Systemd в openbsd не появится? Что вы думаете об этом системном менеджере?

Нет, но в портах вроде как были какие-то заглушки для сборки ПО.

Systemd решает ряд задач, которые действительно требуют кардинально нового подхода. Например, проблемы журналирования при запуске и выключении ОС. Однако реализация в целом вызывает лёгкую оторопь. А, главное, инструмент, который призван решать проблемы, создаёт их не меньше, да ещё сильно ограничивает в некоторых возможностях — по-моему, это неправильно. Одни только бинарные журналы чего стоят...

Плохи ли вообще комбайны и в каких ситуациях?

Иногда пользователю нужен комбайн, и тут ничего не поделаешь. Всё как обычно: разные потребности — разные решения.

Современные браузеры — те ещё комбайны. Но пути обратно в Web 1.0 нет. Это может нравиться, может не нравиться, но от этого никуда не денешься, и нужно стараться хотя бы как-то управлять этими процессами, вот и всё.

Сколько времени уходит на создание одного порта? Это сложно?

Смотря какое ПО. Порт для какого-нибудь Ruby gem делается за несколько минут. Ну а порт Qt WebEngine съел у меня лично уже с неделю чистого времени.

Есть некоторый минимум знаний: прежде всего, bsd.port.mk(5), pkg_add(1), pkg_create(1) и Porter's Handbook: http://www.openbsd.org/faq/ports/ . Для портов, которые устанавливают системные службы, нужно ещё владеть rcctl(8) и rc.subr(8). А перед этим всем, конечно, нужно в целом понимать, что как устроено в системе, для чего есть общий FAQ http://www.openbsd.org/faq/ и свободно доступная книга «Absolute OpenBSD».

Как стать мейнтейнером?

А оно вам действительно надо? :) Это ведь в первую очередь ответственность, а не привилегия.

Прежде всего, нужно или сделать новый хороший порт, или взять под своё крыло бесхозный имеющийся — в любом случае это делается через список рассылки ports@openbsd.org . Добиваться обратной связи, не бояться быть настойчивым. Получив обратную связь — слушать внимательно и выполнять рекомендации.

Если работа над портом идёт медленно — имеет смысл закидывать pull request в особый репозиторий openbsd-wip на GitHub: https://github.com/jasperla/openbsd-wip/ . Например, именно там вначале часто появляются новые версии портов KDE.

Как со Skype или его аналогами (tox, etc…) в OpenBSD?

Со Skype всё плохо: Web-морда работает только с сообщениями, а родного клиента, конечно, нет.

Что же до аналогов — что-то есть в портах, что-то — в openbsd-wip (тот же tox), остальное надо собирать. Главной проблемой в последнем случае может стать завязка на ALSA — в этом случае обычно можно попросить помощи у Alexander Ratchov в написании sndio-бекэнда. Это обычно дело несложное, если есть хотя бы какой-то навык в языке Си.

По официальным портам можно искать с помощью стороннего сервиса: http://openports.se/search.php . А в самой системе есть пакет sqlports (БД SQLite с индексом портов по разным признакам), есть «make search» в дереве портов и есть pkg_locatedb, которая есть обёртка над обычным locate с базой по всем файлам, которые устанавливаются тем или иным официальным пакетом.

Какой ваш любимый стиль (императивное, ООП или Функциональное программирование) и язык программирования?

Для функциональщины моих скромных мозгов не хватает. :) А если серьёзнее, в сфере моих интересов просто-напросто правят бал императивные языки.

Мой любимый язык программирования — C#. Без шуток, именно как язык он мне очень нравится. Но пользуюсь всё же больше C и C++, реже — Perl, а в последние годы под долгу службы часто что-то делаю на Java (которую толком не знаю, но спасает знание C++ и C# :) ).

В контексте последних эпидемий с закладками: как часто проводится аудит кода проверка статическими анализаторами и как поставлены прочие вопросы доверию к коду OpenBSD?

Прежде всего, конечно, код проходит реальный аудит перед коммитом. Разве что в дереве портов допускаются некоторые вольности, но и там любой новый порт должен перед импортом получить okay от кого-либо из опытных мейнтейнеров. Люди, пренебрегающие данными правилами, просто-напросто лишаются прав коммиттера, прецеденты бывали.

А кому вы больше доверяете: разработчикам OpenBSD или авторам статических анализаторов? ;) На самом деле, если для вас действительно важен этот вопрос, то не полагайтесь ни на кого — возьмите свой любимый статический анализатор и пройдитесь по коду.

Из последнего — в связи с переездом на clang (буквально в эти часы, как я пишу данный ответ, идёт подготовка к переключению x86-платформ на сборку clang'ом) был очередной проход по коду всей базовой системы с clang static analyzer. Критических ошибок выявлено не было.

И да, Пользователь ЛОРа commagray просит вас (или других разработчиков) создать и добавить в основное дерево порты qt5-webkit-ng и qt5ct+lxappearance. Что вы ему ответите?

Насколько я понимаю, qt5-webkit-ng не был слишком переделан по сравнению с оригинальным, так что его портирование будет не таким сложным. Правда, если смотреть на ChangeLog, то проект как будто загибается: https://github.com/annulen/webkit/blob/qtwebkit-stable/ChangeLog . Всё-таки будущее, похоже, за Qt WebEngine, так что пока что я буду свои усилия концентрировать на нём. Однако, если кто-то всерьёз хочет qt5-webkit-ng, то я готов помочь — объяснить, показать, сделать ревью.

Насчёт Qt5Ct и LXappearance — можно сделать... Напишите мне на следующей неделе (в начале августа), когда основная буря с clang'ом немного утихнет. Сейчас практически все основные мейнтейнеры заняты этим процессом — думаю, понятно, что смена системного компилятора на основной платформе требует много усилий, и даже если я готов потратить полчаса своего времени на это дело, я не готов сейчас отрывать кого-то ещё для проведения аудита.

В заключение скажу: вы там держитесь, всего хорошего и спасибо за рыбу! :)

>>> Ссылка

★★★★★

Проверено: Klymedy ()

TDE остаётся маргинальным

Это только мнение элитки местного значения...

Вадимом Жуковым, мейнтейнером KDE
я сам не использую KDE как именно DE

Facepalm...

не хватает времени на всё, не хватает умения пробивать идеи (в частности, выбивать ресурсы), а также банальной аккуратности.

Ну и майнтайнер...в биореатор его.

Я понимаю, зачем они нужны, но по моему скромному мнению они, во-первых, вредят open source (уменьшается стимул участвовать в работе на девелоперской веткой кода), а во-вторых, провоцируют халтурный подход к организации инфраструктуры. Это примерно как «умные лампочки»: на словах прикольно, а в реальности — куча внезапных проблем.

Хорошо сказанно. Согласен.

Odalist ★★★★★ ()
Последнее исправление: Odalist (всего исправлений: 3)

Если честно, зная, сколько усилий и проблем придётся преодолевать, я бы, может, и не стал браться за это дело

У меня с гентой так же получилось

alexferman ()
Ответ на: комментарий от anonymous

там на kde-либы много приложений заточено

и у нас нет роскоши, чтобы можно было на разные модули разных желающих найти :) мы говорим Гном и гномоприложения - подразумеваем Антошку. Говорим КДЕ и Qt - подразумеваем Вадима.

buratino ★★★ ()
Ответ на: комментарий от droserasprout

в OpenBSD вообще сообщество отличается от других свободных систем. как минимум, очень регулярными личными контактами и отсутствием желания с кем-то в чём-то конкурировать (а значит, кому-то что-то доказывать)

buratino ★★★ ()
Ответ на: комментарий от Odalist

Ну и майнтайнер...в биореатор его.

Безотносительно вышеупомянутого господина, не мог бы ты озвучить сколько пакетов и в каких дистрах мэйнтэйнишь? Это не «сперва добейся», просто мне интересно, понимаешь ли ты вообще трудоемкость задачи.

Я вот например искренне восхищаюсь мэйнтэйнерами KDE в Gentoo. Попробовал я там как-то кое что пофиксить и чуть мозг не вывихнул. Жопа не в ебилдах, а в самих сырцах KDE, в системе сборки и т.д. Она там не самая плохая(на фоне того же Boost), но из-за общего объема самих кед, там всё очень весело.

Неслучайно пятую часть распиливают на более мелкие пакеты.

Pinkbyte ★★★★★ ()
Ответ на: комментарий от buratino

Не использую, да и опенбсд сейчас не пользуюсь, у меня там гента из-за скайпа, да и вообще на clang пусть перейдут по умолчанию для x86-платформ, а то поломается все)))

cetjs2 ★★★★★ ()
Последнее исправление: cetjs2 (всего исправлений: 1)

Интервью с Вадимом Жуковым, мейнтейнером KDE и Qt...
В итоге я сам не использую KDE как именно DE...

Cобственно, всё что нужно знать о KDE...

enso ★★ ()
Ответ на: комментарий от th3m3

Если бы из KDE выпили Akonadi и все сопутсвующие ему извраты, вроде установки mysql(и это для задач, где даже sqlite, вполне вероятно, избыточен) - им бы пользовались куда активнее. Сами по себе 5 кеды весьма не плохи, но им не хватает лёгкости. Вот если бы они выпустли KDE 5 Light без кучи не нужных апплетов, akonadi и некоторых приложений - тогда кеды были бы идеальны. А пока это очень тяжёлая DE.

lucentcode ★★★★★ ()
Ответ на: комментарий от Pinkbyte

понимаешь ли ты вообще трудоемкость задачи.

Да, понимаю. Также понимаю, что мусье Вадимм Жуков, как написано в интервью

сам не использую KDE как именно DE, не хватает времени на всё, не хватает умения пробивать идеи (в частности, выбивать ресурсы), а также банальной аккуратности.

сколько пакетов и в каких дистрах мэйнтэйнишь?

Звучит как «сперва добейся», но скажу, что пакетов не мэйнтэйню, но отсылаю багрепорты.

Так еще раз спрошу. Какой же это майнтайнер? А, и да, забыл упомянуть, что KDE ненужно.

Odalist ★★★★★ ()
Ответ на: комментарий от lucentcode

KDE Plasma можно спокойно использовать без Akonadi.

без кучи не нужных апплетов

Что что мешает не добавлять апплеты, если они не нужны?

некоторых приложений

Это каких? KDE Applications и KDE Plasma — это вообще две разных сущности, которые можно использовать независимо друг от друга.

sudopacman ★★★★★ ()
Ответ на: комментарий от Odalist

нормальный маинтайнер, много чего поддерживает. даже некоторые пакеты, которые записаны на меня, поддерживает по факту он. многие пакеты, в которых маинтайнер не вписан - тоже.

buratino ★★★ ()
Ответ на: комментарий от Odalist

не хватает времени на всё, не хватает умения пробивать идеи (в частности, выбивать ресурсы), а также банальной аккуратности.

Этим занимается тимлид вообще. Не знаю есть ли у OpenBSD отдельная команда портирования для KDE, но если нет и это всё делает один человек, то винить его в том что ему до лампочки организационные задачи и он лучше уделит больше времен техническим аспектам(которых из-за объема работы дохрена!) по меньшей мере странно.

скажу, что пакетов не мэйнтэйню, но отсылаю багрепорты.

Ясно. Значит со спецификой не знаком. Я тоже году эдак в 2009 считал что багрепорт - это полдела. А то и все 90%.

Потом, когда взялся ковыряться в compiz-е, я понял как же я жестоко ошибался.

Эх, давно это было. Сейчас и я уже не торт, и compiz в генте тоже

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)