> Модульность - это когда вы свободно можете заменить одну реализацию на другую.Не на любую другую, а на совместимую по интерфейсам. Вполне естественное и очевидное требование для любой модульной системы, но почему-то очевидное не для всех.
А вообще среди аналитиков и экспертов по системах инициализации на опеннете своё понимание модульности - это когда что-то выкидываешь, а оно должно работать. А если не работает - значит не модульное. Если journald нельзя выкинуть - значит не модульное. Если компьютер без блока питания не работает - значит тоже "монолит".
> Представим некий абстрактный "модульный" компьютер. Но, к сожалению, мат. плата требует установки компонентов только от того же вендора, а эти компоненты могут взаимодействовать далее тоже только с продуктами этого вендора.
>Абсолютно аналогично systemd вводит software lock-in
> а заменить реализацию никакого из "модулей" никак нельзя.
Это просто откровенная ложь. Вполне очевидно, что можно переписать любую часть systemd, при сохранении совместимости в плане взаимодействия с другими частями. Абсолютно никаких препятствий этому нет - исходники есть, документация есть, никакого реверс-инжиниринга не нужно, никакие патенты этого не запрещают, никто получать лицензии на реализацию интерфейсов и протоколов не заставляет.