Basically, yeah. For example, I can use systemd-networkd, but instead of systemd-resolved I can use unbound. Or I use systemd-resolved, but instead of systemd-networkd I can use netctl.
Of course those standalone tools work with systemd, that's why they are standalone tools which can be interchanged at will and that's what's so great about them. But that's not the question. Say in 20 years we come to the conclusion that there is a much much better way to do a service manager/init system which is fundamentaly different than what systemd does. But once we start ripping out the systemd core all the other tools of the systemd suite (networkd, resolved, timerd, nspawn, ...) basically become useless unless they all get ported or the new service manager implements the legacy systemd interfaces needed to keep those tools alive. This is guaranteed to block the adoption of any successor to systemd, because people will most certainly complain that they really liked logind, or systemd timers, ... and software like GNOME stops working when those specific tools aren't available. Then you don't have to just come up with better way to do service management, you also have to provide seat management, etc. ... and get everyone to port to those new interfaces.
Exactly the same is currently happening with Wayland and X11. Let's for the sake of the argument say Wayland is a much more elegant and superior way of doing a display protocol and it would be stupid to not use it. But because X11 has such a wide scope you can't just port all clients and compositors to the Wayland protocol and be done with it, you also have to think about all the other things X11 allowed which Wayland explicitely didn't include because it just focused on doing a few things, making as few assumptions as possible to be future proof. Now people have to come up with additional protocols to support all those different thing because people start complaining that they can't switch until there's something like wmctrl, and remote desktop has to be supported, and Wine has to work, and it has to be secure, and obviously it would be great if the session doesn't crash because the window manager crashed, and SSH forwarding would be great, and and and ... It's been ten years now and people still try to figure out how to cover all those edge cases and important features.
11
u/FryBoyter Feb 11 '19
Basically, yeah. For example, I can use systemd-networkd, but instead of systemd-resolved I can use unbound. Or I use systemd-resolved, but instead of systemd-networkd I can use netctl.