amarao (amarao_san) wrote,
amarao
amarao_san

Category:

systemd

Я не знаю потрохов systemd, так что всё, что я напишу ниже, является мнением человека, который "не читал, но осуждаю". Моё мнение основывается на нескольких ключевых факторах : функционал, его изменение во времени, отношение к легаси, постепенное разрастание.

Итак, моё, стороннее (во всех отношениях) мнение:

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

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

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

В какой-то момент это привело к нарушению совместимости с кусками кода, на которые даже systemd не мог проглотить. И в этот момент, выбирая между своим и чужим кодом, решили пожертвовать чужим, то есть объявить легаси всё то, что не совместимо с systemd. На первое время его всё-таки пытались адаптировать, но есть ли для гордого программиста что-то более унизительное, чем писать хаки, которые совмещают чужой (глючный и нафиг не сдавшийся) код с новым красивым архитектурным решением. Разумеется, от этого быстро отказались.

(самое свежее: http://lwn.net/Articles/531850/rss)

Я спекулирую, передёргиваю и фантазирую, так как я не знаю и сотой доли того, что из себя представляет systemd, зато я довольно часто вижу принимаемые ими решения. И эти решения меня наводят на вполне определённый формат фантазий и спекуляций.

Мораль: В современных условиях невозможно писать код без оглядки на легаси. Даже если вы что-то пишете с нуля, у вас всё равно остаётся код "над" и "по бокам", на который надо оглядываться. Даже если выкинуть код "над" (решив писать весь стек с нуля и до победного скрепыша в финале), то остаётся код "вокруг", который покрывается "open systems interoperability" в OSI'шном смысле "открытой системы".

Если человек ради локального своего удобства жертвует чужим функционалом (речь про технологический стек, то есть "свой" код и "чужой код" относятся не к персоне, а к области "мы пишем" или "мы не трогаем"), то такое поведение есть зло. Ещё большее зло, когда человек, обнаружив проблему пост-фактум, либо игнорирует её, либо реализует минимум из минимумов, игнорируя чужую архитектуру, удобства и принятые соглашения.

Я сказал, что это зло. Зло бывает необходимым, если происходит в минимальном объёме. Хорошим примером является wayland, который, разумеется, зло (ибо ломает то, что работает), но который предоставляет прослойку совместимости (возможность запустить x-сервер на wayland'е). Да, товарищи видят своё светлое будущее в мире без X'ов, но до того момента долгие десятилетия X будет запущен рядом, обеспечивая прозрачную совместимость wayland и x'ов. Возможно, даже так и оставшись в веках (ибо некоторым людям сетевая модель X'ов вполне симпатична). И если wayland так не сделает, то он просто "не взлетит".

Куда собирается лететь systemd - не знаю. И если бы не fedora, то я бы сказал, что чем бы дитя не тешилось... Но есть опасность, что административное давление со стороны RH может сделать его если не стандартом, то компонентой, на которую будут вынуждены оглядываться (сделать это просто - достаточно несколько RH-maintained крупных серверных компонент сделать systemd-only). Если административного давления не будет, то эта штука просто помрёт.

Итак, два варианта:

1) RH делает его основой RHEL7 и все вынуждены мириться с большим злом. При этом в силу политики RHEL systemd де-факто будет оставновлен если не в развитии, то в употреблении. Если RH так не делает, то она сама себе копает enterprise могилу (ибо поломки дистрибутива и переобучение персонала из-за новой версии ПО в ходе штатных апдейтво им не простят).
2) RH не делает его основой RHEL7 и systemd продолжает свой безудержный полёт в стиле "не можем придумать как - пишем своё". Моё предположение, что если выполнится второй сценарий, то в течение двух лет они начнут тесную интеграцию с wayland/X'ами и сдохнут где-то на этапе их переваривания.
Tags: opensource, systemd, футурология
Subscribe

  • мы их теряем!

    Make: 1976 Прямо сейчас выходят на пенсию люди, для которых make был новомодной технологией, которую притащили хипстеры.

  • Админская мудрость

    Когда вывод strace на башовый скрипт становится понятнее самого скрипта, граница разумности давно пройдена.

  • Rules of internet

    Rule 34. There is porn of it. Rule 35. It's used to mine cryptocurrencies.

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 19 comments

  • мы их теряем!

    Make: 1976 Прямо сейчас выходят на пенсию люди, для которых make был новомодной технологией, которую притащили хипстеры.

  • Админская мудрость

    Когда вывод strace на башовый скрипт становится понятнее самого скрипта, граница разумности давно пройдена.

  • Rules of internet

    Rule 34. There is porn of it. Rule 35. It's used to mine cryptocurrencies.