LINUX.ORG.RU

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

 , ,


2

4

На основе вопросов пользователей ЛОР состоялось интервью с Вадимом Жуковым, мейнтейнером 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 ()
Последнее исправление: Klymedy (всего исправлений: 6)

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

Дай Бог здоровья! :)

кстати, Вадим недавно перенёс тяжёлую операцию :( так что здоровье - это главное, что ему стоит пожелать.

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

и это всё делает один человек

Фактически, всё по KDE и Qt в OpenBSD делает один человек. Хотя другие активно помогают, особенно на хакафонах.

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

Фактически, всё по KDE и Qt в OpenBSD делает один человек

Ну по самому Qt у нас тоже 1 человек - Davide Pesavento. И он дико зашивается обычно. Если б на него еще и KDE накинуть - я думаю он бы вообще офигел :-)

// Мда, зашел на страницу проекта Gentoo Qt - а там всё грустно. За три года после моего ухода с должности тимлида и впоследствии из проекта вообще количество людей уменьшилось с 10 до 3. Пичалька...

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

это потому, что в Gentoo песенок нет

как известно, нам песня строить и жить помогает

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

читай выше. там большая часть его портов записана то в porting list, то в какую-нибудь team. некоторые вообще на меня, хотя я к ним ни разу даже руки не приложил :)

смотри лучше логи коммитов, логи review и коммиты в openbsd-wip

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

У qrfcview мёртв исходный апстрим. Релиз сделан вместе с другим разработчиком.

KDE я сейчас занимаюсь уже не в одну харю, сейчас помогает Rafael Sadowski. Marc Espie пообещал помочь с парой багов в Qt. Qt-based приложения в основном также не на мне (если не считать KDE), хотя приходится за ними смотреть по мере работы над собственно Qt.

И таки да, признаю, что мейнтейнер я не лучший. Но других просто нет.

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

читай выше. там большая часть его портов записана то в porting list, то в какую-нибудь team. некоторые вообще на меня, хотя я к ним ни разу даже руки не приложил :)

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

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

Раз вы сюда заглянули, то задам интересный вопрос. Используется ли ck2 или уже logind? С какими проблемами столкнулись при портировании частей связанных с управлением сессиями пользователей?

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

К счастью, ConsoleKit — не моя головная боль. :)

http://openports.se/sysutils/consolekit

Смутно помню, что были какие-то небольшие проблемы в эпоху KDE4, но не более того. Больше проблем принёс, например, kdesu, для которого пришлось писать свой бекенд с поддержкой BSD auth — в итоге он оказался самым компактным изо всех при аналогичной функциональности. :)

Если речь о том, чтобы обеспечить несколько одновременно запущенных консольных X-сессий, то не уверен, что это вообще можно в OpenBSD сделать. Я сейчас в парке отдыхаю с коллегами, ноутбук доставать лень, простите. :)

anonymous
()

Хорошее интервью, человек говорит, что думает...Так бы всем )

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

Жопа не в ебилдах, а в самих сырцах KDE

можно пример?

anonymous
()

Очень много букв, зачем пользователю всё это надо читать, если можно просто взять и поставить Neon и всё будет отлично работать из коробки?

anonymous
()

Интервью с мейнтейнером ненужно и слегканужно в совсемненужно. Очень увлекательно.

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

А что, в Neon пакеты сами собираются, по щучьему велению? :)

В OpenBSD тоже все просто ставится и работает. Но точно так же есть люди, которые за всем этим стоят.

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

Интервью с мейнтейнером ненужно и слегканужно в совсемненужно. Очень увлекательно.

Ненужно с ненужно ненужно и слегка ненужно в совсем ненужно.

Хз зачем вообще мейнтейнерам давать слово. Всё равно что на стройке брать интервью у рабочих таджиков.

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

А что, в Neon пакеты сами собираются, по щучьему велению? :)

Шёл 2017г., линуксоиды до сих пор не знают про CI.

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

Т.е. пока используется ck и принципиальных проблем с запуском kde4 на нём нет.

В любом случае, спасибо за ответ)

Будет время — потыкаю палочкой в виртуалке.

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

я сам не использую KDE как именно DE

Как, вероятно, и большинство разработчиков и мейнтейнеров KDE.

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

Генту на втором жестком ради эксперемента пилю по чуть чуть

До конца еще далеко, но крыса собрана, минимальные нужные приложения есть, и надо что то мудрить с юз флагами, у меня не собираются браузеры. Пока только мидори собрал, потому, что там глобальных перемен не нужно.

К тому же браузеры все прибиты гвоздем к пульсаудио, а у меня там только алса.

И еще куча мелких проблем. Все они в общем решаемы, нужно только время

Но генточка получилась православная, с алсой и опенрц.

Как будет время, дальше буду в ней ковыряться. Весьма интересное занятие, скажу вам.

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

А то версия 2010 года - перед другими стыдно. Даже в NetBSD - версия 4.0.4

отсутствием желания с кем-то в чём-то конкурировать

Мне кажется, тут первично отсутствие возможностей с кем-то конкурировать.

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

У тебя две части одной фразы не связаны меж собой

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

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

Держу пари, он на самом деле вообще на десяточке давно)

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

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

Значит мне есть куда рости:)

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

А КДЕ3 не падает? (не падал?)

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

anonymous
()

KDE изначально я просто пользовался.

И я тоже.

А потом появился KDE4

И я ушёл на гном. А потом гном3 появился, и я ушёл на мате.

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

А жаль.

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

Абсолютно аналогично!

нельзя применять OpenBSD [skip] меньше мегабайта ПЗУ.

Вот не понимаю я, почему современным осям мегабайта пзу не хватает? Ведь когда-то всё с дискетки можно было загрузить. Ну хрен с ним с графическим интерфейсом, но ядро, минимальную оболочку (необязательно bash или tcsh) и пару-тройку лёгких команд всегда можно было разместить на дискете! Кругом мастдай, и всё туда катится!

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

А как обстоят дела с Nouveau?

Как мне ответил buratino в треде вопросов для интервью:

там, по-моему, фирмварь нелегальная. точно не помню, у меня были только две карты nvidia - riva 128 в прошлом веке и Geforce 4 в начале этого :)

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

Ну вот и не говори глупостей. Вне КДЕ использовать кде-шные приложения неудобно, они сильно интегрированы в кде-шную систему. Уж не говоря о том, сколько зависимостей они за собой таскают.

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

А КДЕ3 не падает? (не падал?)

До версии 3.4 это был эпичный глюкодром, просто все забыли уже. Приложения валились от каждого чиха с красивым звуком разбитого стекла. Я как одержимый жал Ctrl-s в кейте каждую минуту, чтобы не похерить набранный текст. Киккер тоже падал, после чего приходилось перелогиниваться. При этом все эпично тормозило как вам и не снилось сегодня.

bread
()
Ответ на: комментарий от meliafaro

Вне КДЕ использовать кде-шные приложения неудобно

Я только так и делаю, и очень даже удобно.

Уж не говоря о том, сколько зависимостей они за собой таскают.

Это да, но чай не в эпоху тотального диалапа живём. :-)

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

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

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

иначе этот порт по сути не поддерживается.

Главное, чтобы у порта были пользователи, а уж кто там прописан маинтейнером не суть важно.

danfe
()

Прочёл как:

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

задумался...

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

Как можно юзать KDE без Akonadi, я честно говоря, в Fedora 25 так и не узнал. Akonadi в Fedora ставится вместе с KDE, а попытки его удалить приводят к удалению такого количества пакетов, что от KDE остаются рожки да ножки.

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

Верно, KDE Applications и KDE Plasma - разные вещи. Мне не нравятся приложения вроде KMail или Ktnef. На любой платформе я предпочитаю громоптицу в качестве почтового клиента.

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

После удачного проекта комплементации человечества. Или экстерминатуса, — две стороны одной медали, в общем-то.

commagray ★★★★★
()
Последнее исправление: commagray (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.