Everytime I read about systemd in the news, I facepalm in advance. Not because I don’t like systemd, mind you. But because I already expect to see the uninformed or idiotic stuff written in the comments. It divides into complaining that systemd makes things differently (well, duh!), personal attacks against Lennart Poettering and complaints about PulseAudio, one of the previous projects of Lennart.
I for one, welcome our unified boot system overlords. Let me start by listing a number of boot systems that current Linux distributions use:
- System V init, used by many systems because “that’s how it’s always been done”
- initng, used by Pingwinek, Enlisy, Berry Linux, Bee. Honestly, I never heard about any single of these
- OpenRC, used by Gentoo. Together with their older Gentoo init scripts. What the heck is “friendly upstream” in the linked Wikipedia article even supposed to mean?!
- eINIT
- Upstart, written and used by Ubuntu and sometimes used by other systems
- The “BSD” boot scripts in Arch Linux
- At this point I stopped caring about more
They all are basically “init”+asynchroneous process starting. It baffles my mind why everybody has to reinvent the wheel badly, but whatever. The intersting thing is, that they rarely look at the booting problem from a broader perspective. Not only make the computer do things in parallel but also, lo and behold, start only stuff that is necessary.
Now this is a point that many users in Linux cannot accept. Novel approaches are discouraged, whereas reinventing the same thing is great. Please tell me the actual differences between GNOME2 (MATE), XFCE and LXDE. Why do we need so many identical desktops?
I also used to be conservative, afraid that the new “Firefox” will be terrible compared to my beloved Mozilla Suite, nowadays called SeaMonkey. Fast forward couple years, I would be insane to consider SeaMonkey an alternative to Firefox. Also, I tried liking Unity or GNOME3, unlike many others, who looked at screenshots and dismissed it right away. Also, I wanted my smartphone to have a hardware keyboard, but having tried touchscreen keyboards, I realized that the smaller size of the device is much more important.
This is where systemd comes in. systemd takes a broader approach and finally utilizes the Linux kernel with all the extra functionality that it provides to create a solution that is not just a rip off from some old eighties Unix but actually looks how computers are used nowadays. As such it has some intersting ideas. You can read about it in Lennart’s blog. To me, they all sound really reasonable, like the guy behind it knows what he’s talking about. Therefore I don’t understand why people protest because of protests sake. This is all to obvious in this video where the main point was “OMG THE SYSTEM WORKS DIFFERENTLY THAN IT USED TO!!!11!”.
Now, one point is that systemd is bad because it is authored by Lennart Poettering, the guy who wrote PulseAudio, which famously didn’t work in Ubuntu. Now, fast forward to 2012 and PulseAudio is the only audio system on Linux that matters. Who misses the mess with applications written for OSS that blocked other applications from playing? Or the sound-server wars with EsounD, aRts where you had to tell applications which one to use and hope they even supported it. Thanks, my SoundBlaster is IO 220 and IRQ 7. Now, I can plug in additional sound cards via USB at will, control each application volume separately and best of it, it just works. When GNOME 3 on my Arch Linux pulled in PulseAudio, it just worked, no tweaks needed at all.
And I am by far not a systemd fanboy. I am using systemd in Arch which is nonstandard and I had my fair share of problems, when systemd wouldn’t start NetworkManager (by the way, also an evil technology, because it is not distribution-specific config files, you know). But generally it’s been running quite well. In Fedora 16, where it is used by default, it works beautifully. Boots fast and supports the one-to-rule-them-all bootsplash solution, Plymouth. Bootsplash is another topic, some people really need to see the console output of the Linux kernel, because it is always been like this. Yeah, right.
And the next shock will be Wayland, which updates graphic interfaces in Linux to the 21st century. X11 has served us well, especially since Xorg took over from XFree86, but the point is that they are patching around an ancient protocol that was invented 30 years ago. As such it certainly stood the test of time better than FTP for example, but that doesn’t mean it needs to stay around forever.
Ok, so as a final point to you, the reader: please try to be open about things. Don’t dismiss them because they are different. Consider that things like mouses, windows and laptops used to be different but now most people consider these to be great.