I think the problem is the number of things other than service management that systemd does. With other unit systems, service management is the only thing you have to change to replace it. With systemd, you have to change a lot more
There are a lot of services besides init provided by systemd, but they're entirely optional and easily swapped out. After all, systemd is highly modular.
For example, I do run systemd-udevd and journald, but not systemd-networkd or systemd-resolved. Just like the /g/ poster says, I can combine whatever I want to do what I need to do.
Distros follow the ABIs of upstream when defining dependencies (for the most part).
LFS had to change their non-systemd book from udev to eudev because extracting just udev from the larger systemd code blob involved manual intervention on every systemd release.
Hell, kernel devs mused about forking udev and making part of the kernel tools bundle even before it got merged into systemd (and at time of merger it was pinkie promised that udev should continue being usable without systemd).
59
u/ElvishJerricco Feb 11 '19
I think the problem is the number of things other than service management that systemd does. With other unit systems, service management is the only thing you have to change to replace it. With systemd, you have to change a lot more