How and why systemd has won

September 27, 2014 by Lucian Mogosanu

systemd is the work of Lennart Poettering, some guy from Germany who makes free and open source software, and who's been known to rub people the wrong way more than once. In case you haven't heard of him, he's also the author of PulseAudio, also known as that piece of software people often remove from their GNU/Linux systems in order to make their sound work. Like any software engineer, or rather like one who's gotten quite a few projects up and running, Poettering has an ego. Well, this should be about systemd, not about Poettering, but it very well is.

systemd started as a replacement for the System V init process. Like everything else, operating systems have a beginning and an end, and like every other operating system, Linux also has one: the Linux kernel passes control over to user space by executing a predefined process commonly called init, but which can be whatever process the user desires. Now, the problem with the old System V approach is that, well, I don't really know what the problem is with it, other than the fact that it's based on so-called "init scripts"1 and that this, and maybe a few other design aspects impose some fundamental performance limitations. Of course, there are other aspects, such as the fact that no one ever expects or wants the init process to die, otherwise the whole system will crash.

The broader history is that systemd isn't the first attempt to stand out as a new, "better" init system. Canonical have already tried that with Upstart; Gentoo relies on OpenRC; Android uses a combination between Busybox and their own home-made flavour of initialization scripts, but then again, Android does a lot of things differently. However, contrary to the basic tenets2 of the Unix philosophy, systemd also aims to do a lot of things differently.

For example, it aims to integrate as many other system-critical daemons as possible: from device management, IPC and logging to session management and time-based scheduling, systemd wants to do it all. This is indeed rather stupid from a software engineering point of view3, as it increases software complexity and bugs and the attack surface and whatnot4, but I can understand the rationale behind it: the maintainers want more control over everything, so they end up requesting that all other daemons are written as systemd plugins5.

However, despite this and despite the flame wars it has caused throughout the open source communities, and the endless attempts to boycott it, systemd has already won. Red Hat Enterprise Linux now uses it; Debian made it the default init system for their next version6 and as a consequence, Ubuntu is replacing Upstart with systemd; openSUSE and Arch have it enabled for quite some time now. Basically every major GNU/Linux distribution is now using it7.

At the end of the day, systemd has won by being integrated into the democratic ecosystem that is GNU/Linux. As much as I hate PulseAudio and as much as I don't like Poettering, I see that distribution developers and maintainers seem to desperately need it, although I must confess I don't really know why. Either way, compare this:

systemd doesn't even know what the fuck it wants to be. It is variously referred to as a "system daemon" or a "basic userspace building block to make an OS from", both of which are highly ambiguous. [...] Ironically, despite aiming to standardize Linux distributions, it itself has no clear standard, and is perpetually rolling.

to this:

Verifiable Systems are closely related to stateless systems: if the underlying storage technology can cryptographically ensure that the vendor-supplied OS is trusted and in a consistent state, then it must be made sure that /etc or /var are either included in the OS image, or simply unnecessary for booting.

and this. Some of the stuff there might be downright weird or unrealistic or bullshit, but other than that, these guys (especially Poettering) have a damn good idea what they want to do and where they're going, unlike many other free software, open source projects.

And now's one of those times when such a clear vision makes all the difference.

  1. That is, it's "imperative" instead of "declarative". Does this matter to the average guy? I haven't the vaguest idea, to be honest. 

  2. Some people don't consider software engineering a science, that's why. But I guess it would be fairer to call them "principles", wouldn't it? 

  3. One does not simply integrate components for the sake of "integration". There are good reasons to have isolation and well-established communication protocols between software components: for example if I want to build my own udev or cron or you-name-it, systemd won't let me do that, because it "integrates". Well, fuck that. 

  4. And guess what; for system software, systemd has a shitload of bugs. This is just not acceptable for production. Not. Acceptable. Ever. 

  5. That's what "having systemd as a dependency" really means, no matter how they try to sugarcoat it. 

  6. Jessie, at the time of writing. 

  7. Well, except Slackware. 

Filed under: computing, olds.
RSS 2.0 feed. Comment. Send trackback.

9 Responses to “How and why systemd has won”

  1. #1:
    Mircea Popescu says:

    At the end of the day, systemd has won by being integrated into the democratic ecosystem that is GNU/Linux.

    No dude, systemd "won" by having the correct letters patent from hitler, exactly the way Iliescy "won" some "elections" or that dumb bitch singing about an orange "won" nothing in particular. Can you believe that dumb shit, watch that explosively stupid video and get back to me, what the fuck winnings were those, what was won and on what merit ?

    Yet this is how "democracy" aka socialism works out in practice, all sorts of nullities "win" imaginary "contests" through the inexplicable process of... how did Spritney Bears become "famous" or why was "Harry Potter" inexplicably deemed a book for a few short years ? They "win" and then do exactly nothing with the "winnings" they "won", for the transparently self-obvious reason that there wasn't anything fucking there to begin with.

    If the cheesy cunts stranded at some church camp in inner mongolia / northern indiana, some god forsaken spurious tards who genuinely believe jesus was in bethlehem at abouts the time of his birth because julius caesar had ordered a census and joseph was (allignedly with medieval views of his intellectual capacities) quite fucking dumb enough to "return home" for it -- a belief they formed through self-directed "research" of the kind typical there (and yes this is a true story, yet not in the slightest singular, let alone unique or even vaguely peculiar, it's in fact as american as french pie) -- decide Joe, some retarded local boy with a square neck, a squarer jaw and a perfectly square hayseed in between the square teeth protruding from it is "the true and real Napoleon"... well ? What the fuck's that do for anyone ? Did he "win" "napoleonicity" now ? Similar itinerant primitive populations, vagrants, gypsies, whatever morons also might pretend some random urchin is "the real Madonna" or what have you. Los Angeles sect agricol Ilfov, what the fuck's the problem, it's just a name. They didn't thereby win Losangelesitode, have they now ? It's a word. It's just a fucking name, it doesn't do anything -- especially it wins exactly nothing in any sense that conserves the possibility of meaning.

    One could have said in 2014 "sure, it won -- coupla more winnings like that win and there won't be anything left to lose" ; and then by 2019 the prediction included would have been pretty much exactly carried to term. Somebody didn't [bother to] ; what's changed therefore ?

    I must confess I don't really know why

    It's simple : there's absolutely nothing there. No why whatsoever, if you go to the chicken coop to pick a chicken to be cut for dinner what's the chicken you picked won and why did you pick it ? Every highschool before the internet had a male teacher who was the cursed/designated falling-in-love endpoint for retarded girlies, what did he win ? And what was great sin or crime is he expiating through these "winnings" ? If you go on vacation for a coupla weeks and the people there decide you're "their" Adriano Celentano, what's the why involved ?

    these guys (especially Poettering) have a damn good idea what they want to do and where they're going, unlike many other free software, open source projects.

    Yeah, totally, the Proteros know exactly what NSA told them they have to do so that its vague & hopeless yet systematically bureaucratic "continuity plans" through "technological disruption" float, according to its own "threat assesement" and "evolution models" built entirely out of rice. Big fucking whoop ; bother to follow the history of that guy I killed and his Flacara "opposition to communism", and notice it's 100% Poettering, and 100% every other exactly identical this-device-of-socialism. Because they must be, how the fuck else would it work, the car goes on wheels, they're round and they spin, socialism goes on stupid, it's stupid and stupid, there's not ever going to be any change because stupidity's already, definitionally, at the lowest potential level available.

    Sa ti-o zic si-n engleza ? De ce erau toti puletii la cenaclu' Flacara acolo, pe bune acuma, ca cistigase Paunescu ? Ce cistigase omu' ?

  2. #2:
    spyked says:

    > pe bune acuma, ca cistigase Paunescu ? Ce cistigase omu' ?

    Susținere dă la șefu'? Other than that, fuck if I know.

    The general point of this article is that systemd got to infect most Linux OSen, among others because the fuckers didn't even bother to oppose it properly. Not that it matters too much, sure, but they did grab political control over init, udev and a bunch of other user space utilities, and they wanted to even insert their shit in the kernel, only well, that didn't happen fortunately.

    Other than that, sure.

  3. #3:
    Mircea Popescu says:

    Right, the night of reason births Clintons.

  4. [...] the Unix philosophy, are uncoincidentally the same as those brought in the "SysVinit versus systemd" debate: while init scripts have various issues, performance being but one of them, the hard [...]

  5. [...] is the same kind of idiotic attitude that projects such as systemd are trying to push, and while they're winning in the face of community resignation, that doesn't make these changes any less [...]

  6. [...] Debian, because it's the operating system that's delivered the most bits of productivity to me in the last twelve years or so. Wheezy, because as far as I know it's the last version that doesn't completely suck balls. ↩ [...]

  7. [...] project has seen its share of rape throughout time, the raping coming from both within and without. Thus at some point I stopped installing Debian on new systems, then I played with it [...]

  8. [...] use it irrespective of other considerations, and quite irrespective if its userland comes with a systemd or some other abomination. In other words, I'm really not that involved or invested in that [...]

  9. [...] visited the subject of systemd in the past, so let's take this example again. It's no news that the systemdization of "GNU"3/Linux [...]

Leave a Reply