LINUX.ORG.RU

Разработчик из команды Gentoo выступил с критикой systemd

 ,


10

4

Большую бурю споров вызвала сегодняшняя запись в блоге одного из участников команды Gentoo Linux Патрика Лойера. В ней он с критикой прошёлся по systemd, её концепции и разработчиках.

Ниже привожу свой перевод его публикации.

Пропагандистам Systemd: это отстой!

Сегодня я получил ссылку на пост Леннарта Поттеринга по итогам обсуждений в листах рассылки Debian ... хм... даже толком не знаю о чем.

Поэтому мне хочется разобрать все по полочкам.

Разработчики ядра хотят, чтобы в юзерспейсе существовала система разрешения конфликтов для CGroups. В системах с systemd этим как раз systemd и является, и вам не удастся лишить ее этой функциональности.

Без понятия, что это значит, наверное они хотели сказать «нам лень».

Я уверен, что ребята из Ubuntu даже близко не понимают сложности этой проблемы.

Забавное косвенное оскорбление, но CGroups *не* сложные. Я убежден, что понимаю их общую концепцию, сегодня днем я уже успел написать начальную поддержку OpenRC.

Разумеется, Control groups лежат в основе того, что требуется от современных серверов.

... что? Нет. Сервер должен служить (и защищать? постойте, не тот девиз). CGroups - просто еще одна технология, которую будут игнорировать сисадмины. В ней нет никакой магии, она не сложнее работы с ulimit.

API, предлагаемый systemd, очень systemd-специфичный.

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

Ясно, что сейчас большая часть экосистемы Linux уже использует API systemd...

Помню эту штуку... возьми, расширь... смысл? Возможно имеет смысл создать стандартные API и использовать их где угодно вместо того, чтобы применять прибитые гвоздями хаки с DSL вследствие плохой архитектуры.

В принципе демон D-Bus уже реализован внутри самой systemd (и в ядре), и логика работы не уже может обходиться без него. Фактически при переходе на systemd логика работы распределится на несколько демонов, которые для активации должны быть описаны в юнит-файлах .busname и .service, а не в старых конфигурационных файлах.

Так, давайте с этого и начнем. Идея состоит в том, чтобы прибить все гвоздями к systemd так, чтобы появление альтернативных систем оказалось бы просто невозможным из-за отсутствия документации, непортируемых API, то есть неверных абстракций, которые вообще не имеют смысла без той штуки, которую у них не получается абстрагировать? И зачем, черт возьми, мне надо патчить описание каждого демона? Все работало уже десятки лет безо всяких хаков.

Теперь один из самых сложных компонентов - перегруппировка сервисов, преобразование старых dbus1 сообщений в kdbus GVariant, преобразование их обратно в сокет-сервис systemd, и это из sysetmd не вырвать даже с корнями.

Нет, с такого суждения начинать нельзя. Кто-то задастся вопросом: а почему форматы сообщений kdbus и dbus отличаются, когда одна система есть замена другой? И только то, что это часть sysetmd и она никак не документирована, еще не означает, что ее нельзя аккуратно вырезать и заставить работать отдельно или написать с нуля как самостоятельный инструмент. Игнорирование (или непрофессионализм?) в приведении этого утверждения заставило меня вспомнить пользователей windows, которые ругают Linux потому, что в нем нет красивых GUI...

Разумеется, logind - один из тех компонентов systemd, в документации которого мы явно указали, что его никак нельзя убрать.

Если вы так написали, еще не значит, что так оно и есть. Но это отличная попытка пресечь дискуссию заявив, что альтернатив нет, нам так нравится и вообще заткнитесь, как говорят политики. logind это не программа, поэтому у нее нет описания архитектуры или корректной документации, что она делает. Это просто API, зашитый в systemd так сильно, что понять его - большая головная боль. Единственное, что сдерживает меня от написания подобного инструмента с такой же функциональностью, это то, что понятия не имею, что он должен *делать*... Для меня нет никакого удовольствия читать код всей systemd, чтобы это выяснить. Но, исходя из того, что я знаю сейчас, в реализации ее нет ничего особенного.

Спустя несколько месяцев после того, как это сделали в Canonical, все снова cломалось, как мы и ожидали: сейчас logind использует новые API для работы с CGroups.

«Когда ломаешь вещи, они ломаются»... Единственная причина того, что ничего не работает это... отсутствие документации и ломающие изменения. И такие нелогичные высказывания сами тому подтверждение.

...связывающий слой в юзерспейсе Linux в настоящее время разрабатывается как большая часть systemd.

«Мы теперь даже не прикидываемся, что понимаем философию Unix.» Репозиторий systemd - скорее помойка, чем что-то еще, его нужно разделить (на подмодули), чтобы независимые компоненты были независимыми. НЕТ никакого смысле держать в одном репозитории udev, hwdb или еще десяток несвязанных друг с другом вещей.

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

Учтите, что logind, kdbus или CGroups - это новая технология, мы ничего не поломали, просто написав их. Следовательно нет никакой регрессии, мы просто добавили новые компоненты, которые, по нашему мнению, будут крайне интересны пользователям.

CGroups - «старая» штука, новое - это просто заставлять всех использовать их по-другому. Это противоречит документам по разработке systemd, которые теперь считаются неверными после того, как были Единственной Верой для нас в течение нескольких лет. Сложно понять, что сегодня в меню, когда оно меняется так часто...

И может быть, если кто-то нормально напишет, что должен делать LoginD (а не просто даст дамп API, который никому ни о чем не говорит, чукча не читатель!), мы смогли бы выполнить правильную реализацию где угодно и не заставлять людей ломать свои системы, чтобы наконец logind делал то, что должен делать. Свинпаук, свинпаук делает то, что он делает [прим. ссылка на «Симпсоны в кино»]

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

... простой? По-моему это слово означает не то, что вы думаете! (Не для 200 тысяч строк кода для того, что можно быть написать и в 35 тысячах.)

Я просто надеюсь, что вы делаете это, зная, что это всерьез и надолго.

Итак, подведу итог. Никто не сможет реализовать то, что делает systemd, и поэтому вы вынуждены ее использовать. Это так прекрасно, что не стоит даже пытаться искать что-то еще!

Простое чтение этой пропаганды очень меня расстроило своим уровнем лжи и запутывания, не понимаю, как у нас может получиться нормальная дискуссия с ними. Все доводы либо логически противоречивы («Никто не может написать logind без использования logind») или ошибочны («Cgroups лежат в основе того, что требуется от современных серверов»).

В то же время все, кто с ними не согласен - старообрядцы... или неграмотные... или кто угодно. В любом случае, ВЫ КОЗЛЫ и я победил в споре! или что-то такое.

Ах, да. Если кто-то ожидает рациональной дискуссии в то время как вы просто порождаете кучу флейма и тратите время, вместо того, чтобы что-то улучшать и доводить до совершенства... то это будет просто скучно.

>>> Подробности

★★★★★

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

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

Давайте вы в гугле почитаете? По ключевым словам copyright assignment.

Я там выше пять ссылок дала, вот ещё одна http://lwn.net/Articles/359013/

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

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

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

Ну нам-то некогда весь интернет читать, в отличие от.

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

Давайте вы в гугле почитаете?

Давай без давайте. Я прочитал всё, что меня интересовало в твоём посте.

Тебя пугает что марк может поменять лицензию на твой код? Ричард тоже может, так как он забирает копирайты на твой код. Опять двоемыслие?

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

А речь шла о третьекедах.

Ну как бы в этом мире так принято, что вещи сломанные в старых версиях фиксят в новых.

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

Смотри, специально для тебя написано:

«Не надо только начинать мне что-то доказывать по поводу разумности претензий. Я не собираюсь отстаивать какую-то конкретную точку зрения по этому вопросу.

Речь о том, что претензии есть, и что в сообществе они постоянно являются предметом горячих споров и обсуждений. И что это немаловажный фактор при выборе upstart vs systemd, Mir vs. Wayland и других подобных.»

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

Смотри, специально для тебя написано:

«Не надо только начинать мне что-то доказывать по поводу разумности претензий. Я не собираюсь отстаивать какую-то конкретную точку зрения по этому вопросу.

Речь о том, что претензии есть, и что в сообществе они постоянно являются предметом горячих споров и обсуждений. И что это немаловажный фактор при выборе upstart vs systemd, Mir vs. Wayland и других подобных.»

Для меня? Да ты что? Т.е. я тебе что-то доказываю? Где? Покажи.

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

Скорее вы читаете только о том, что сказала Сара Линусу и как Леннарт назвал Марка.

Я хз, кто такая Сара, но вижу, что времени у тебя свободного много. То ты весь интернет про CLA прочла, то теперь вот про Сару. :)

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

Ну как бы в этом мире так принято, что вещи сломанные в старых версиях фиксят в новых.

В нормальном мире — да, так и есть. А в альтернативном мирке опенсорса обычно всё переписывают с нуля, ломая совместимость и порождая море новых багов. Кстати, когда там плазма перестала падать?

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

Я не говорила о том, что меня лично что-то пугает. Поэтому направь свою энергию на кого другого.

Можешь, например, пойти задать свои вопросы в G+ у Aaron Seigo или Matthew Garrett. Думаю они тебе даже ответят.

alpha ★★★★★
()

Троль моде офф

А в Виндовсе есть аналог системдэ. Без подколов, просто интересно.

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

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

Чую вы с планшета Surface сюда пишете..

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

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

Информационная изоляция - вообще одна из главных проблем русскоязычного сообщества.

Ну и время да, пока имеется.

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

Я не говорила о том, что меня лично что-то пугает. Поэтому направь свою энергию на кого другого.

$username, ты сейчас с кем разговаривала?

Так смешно: тебе пишут штуки три разных анонимуса, а до тебя всё никак не дойдёт, что анонимусы бывают разные.

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

Смотри, специально для тебя написано:

Смотрю, и вижу, что отвечаешь как-то невпопад.

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

Я тебе ничего не доказываю по поводу разумности чьих-то претензий и не требую ничего отстаивать. Вот это вот твои слова:

Это очень существенная разница.

Я тебе доказываю, что ты не права и разницы нет. Возражения будут?

Речь о том, что претензии есть, и что в сообществе они постоянно являются предметом горячих споров и обсуждений.

Сообщество на то и сообщество, чтобы спорить и обсуждать. То, что кто-то кому-то что-то предъявил, кого-то заинтересует, а кому-то пофиг. Например у леннарта есть претензии к марку, но дебиановцы при выборе загрузчика на претензии леннарта со спокойной совестью положат, ибо них и чсв.

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

Пост на который я пишу ответ доступен по ссылке «Ответ на: комментарий»

А уж как вы там делите кто из вас кто - это явно не ко мне вопрос.

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

Для меня? Да ты что? Т.е. я тебе что-то доказываю? Где? Покажи.

Нет, бро, не для тебя. Тут над комментариями есть ссылка «Ответ на: ху»

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

нужен рабочий скапй= Pulseaudio ,иначе групповое общение закрыто....

Я, видимо, хорошо засиделся в криокамере... пульсаудио уже научился работать без АЛЬСы?

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

В этом и беда! Пусть они поддерживают какой-то один. Но должно быть нормальное API и должна быть возможность замены одного инита на другой без особых проблем. А у них - жесткие гвозди и никакого выбора.


вообще-то ещё недавно инит (BSD-style/SysV-style), как и формат пакетов, выбирался исключительно вместе с дистрибутивом и никого это особо не расстраивало.

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

Я тебе доказываю, что ты не права и разницы нет.

Нет разницы между наличием CLA у Canonical и отсутствием его у Red Hat? Вряд ли ты сможешь мне это доказать.

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

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

На тиливидинии штоле работаешь?

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

Тут над комментариями есть ссылка «Ответ на: ху»

В курсе. Да походу я мимо одной из таких ссылок промазал, когда листал. Пох. Всё равно она со странностями. :)

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

Нет, это моя самопровозглашенная роль в Fedora-сообществе :)

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

Это очень существенная разница.

Это не несет вообще никакой угрозы комьюнити. Ну захочет марк закрыть код, ну и пусть закрывает, все равно все зарелизенное будет под открытыми лицензиями. Форкаем и вперед.

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

Чую вы с планшета Surface сюда пишете..

Зачем? У меня на полноценном компьютере всё по-прежнему работает.

wintrolls ☆☆
()

А и правда, почему launchd не используют? Во фряхе вон потуги к портированию были... Или идеология не позволяет? Так вроде же под Apache License опубликовано

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

Нет разницы между наличием CLA у Canonical и отсутствием его у Red Hat?

Ты на самом деле права, разница есть.

Марк, в отличии от леннарта, таки сможет сделать ещё одну (пятую?) систему инициализации, на этот раз проприетарную, используя при этом твой код. Будет эпическое и не где не используемое нинужно. И как страшно наверное кому-то из-за этого жить.

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

Году к 2020-му перестанет

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

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

Кстати, когда там плазма перестала падать?

А фиг его знает, я кеды в августе накатил, плазма не падала.

anonymous
()

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

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

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

Вы можете считать что это не страшно - ваше право. Но проблема имеется, и от того что вы лично её не видите, она не пропадает.

Посмотрите на Cons: https://wiki.debian.org/Debate/initsystem/upstart

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

На Red Hat пофиг. Тут такое дело, что часть возмущенных CLA Canonical подписывали CLA Free Software Foundation. Это прямое доказательство политической подоплеки / подкупа Red Hat-ом / работы людей на Red Hat и (или) другого корпороса.

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

Он акционер Red Hat. Дальше сам догадаешься?

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

Это прямое доказательство политической подоплеки / подкупа Red Hat-ом / работы людей на Red Hat и (или) другого корпороса.

Ну да, то, что FSF — это

1) некоммерческая организация,

2) имеющая подтвержденный статус и репутацию,

3) уже применявшее свои права для перелицензирования кода под GPLv3

-- это всё чепуха. Здравый смысл нам не нужен, когда есть «невидимая рука» Red Hat.

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

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

Пора на пенсию

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

Посмотрите на Cons: https://wiki.debian.org/Debate/initsystem/upstart

Посмотрел на конс - «he position of the Debian maintainers is that, while contributions to upstream must be covered by the CLA, no such considerations attach to the package itself; if Debian ever decides that upstream maintenance is inadequate, we can always fork upstart, since the code itself is GPL and would be no worse off than we are today with a sysvinit package that also has no upstream».

В общем, нет здесь особой проблемы, Альфушка.

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

что сказала Сара Линусу

Она не Сара, а Туве.
Что гораздо существеннее - у неё очень чёрный пояс по карате.
Ну ей-богу, пусть они сами разбираются - тем более что женщина у Линуса очень надёжная.

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

Поддерживаю гентушников.

Молодец.

Первая и последняя заповедь: работает - не трожь.

Жаль только ты не понимаешь, о чём эта заповедь.( Это про продакшн, а не про разработку дистрибутива.)

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

некоммерческая организация

Спасибо поржал. Знаем мы эти американские «независимые» и «некоммерческие» организа.. корпорации.

это всё чепуха

Ребята выступают категорически против CLA, но для FSF делают исключение. Это лицемерие!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.