== Systemd should be better than it is, but it is still our best init system It all started on Twitter: > [[@hirojin https://twitter.com/hirojin/status/827595685407182849]]: > unpopular opinion: systemd is the epitome of worse is better, and as > such fits right into the unix philosophy. > > [[@thatcks https://twitter.com/thatcks/status/827596836147961859]]: > Systemd has turned into the X Windows of init systems. Some people will see my tweet as a slam on systemd, which is fair, because it is. Some people will see it as sort of praise for systemd, which is also fair, because it is that too. [[Just like X ../unix/XWindowsViews]], systemd is a good illustration of [[Rob http://herpolhode.com/rob/]] [[Pike https://en.wikipedia.org/wiki/Rob_Pike]]'s famous quote that [["sometimes when you fill a vacuum, it still sucks". http://plan9.bell-labs.com/sources/plan9/sys/games/lib/fortunes]] Systemd didn't quite fill a vacuum, but then neither did X. Much like the aphorism that democracy is the worst form of government except for all the other forms, systemd is increasingly not particularly appealing while still being the best overall Linux init system that we have. [[Systemd still gets plenty of things right that other init systems mostly don't SystemdRight]], and it's improved in some of those areas since 2012, when I wrote that entry. But at the same time systemd has increasingly picked up bad habits and [[gotten flabby SystemdDislike]], among other issues ([[eg SystemdSATAPortMultiplierProblem]]), and it always had an air of brute force 'we will get this done somehow' about it. Like X, systemd is not elegant (or Unixy) and it has flaws, and time is magnifying those flaws. But also like X, systemd works and beats the currently available alternatives. I wish systemd was better than it is, but for all its issues and irritations I don't particularly want to go back to upstart or to System V init ([[or Solaris's SMF ../solaris/SMFNotGoodInitSystem]]). I could, of course; I ran servers with both for years, and they worked okay. But systemd is generally nicer than they are. Even the systemd journal can be cool and useful periodically. I care more about systemd's warts than I do about X's, but that's because as a sysadmin I work with systemd a lot more than I write X programs ([[I actually did write one once ../programming/GoLowLevelX]]) or wrestle with window manager issues or the like. As a corollary of this, I agree with [[@hirojin https://twitter.com/hirojin]] that systemd is a 'worse is better' system. I don't think that it fits into the Unix philosophy in one sense, but that's using the appealing and idealized version of the Unix philosophy. Systemd certainly fits into the philosophy of Unix that you can see exposed through its history in things like various of BSD Unix's changes, the kernel internals of V7 Unix, and so on, by which I mean that a great deal of Unix's history actually involves a bunch of pragmatism, getting things done, and brute force.