Debian Talks About Systemd Once Again
An anonymous reader writes: A couple of months ago the technical committee for Debian decided in favor of systemd. This is now a subject for discussion once again, and Ian Jackson says he wants a general resolution, so every developer within the Debian project can decide. After a short time, the required amount of supporters was reached, and the discussion can start once again.
A very well written proposal that outlines many of the concerns I (as a non-Debian user) and I suspect most have about systemd. It’s worming it’s way into everything for the sake of better integration, which it may deliver on, but this goes against much of the traditional Linux spirit of small self-contained bits that can be swapped out at will.
In my mind, this comes down to whether we want a better functioning OS or an OS that adheres to the mindset that I think attracted many of us to Linux in the first place. Personally I want a hackers OS that I can play with and tweak as I feel like, but I accept that many people basically want open source windows or even just zero cost windows (i.e. free as in my wallet).
I hope Debian rolls back on their decision. I doubt this will happen, but at least we’ll get some more discussion in a somewhat visible forum. I may not agree with a lot of the Debian mentality, but they are very good at thinking about and discussing things, so I think this will be good overall.
And before someone says "just use gentoo", I do, and have for almost a decade (I started using it fairly soon after it came out). The problem is that systemd, being basically a virus at this point, is causing exactly the kind of problems mentioned in the proposal. I've had to use the blacklist for the first time in a while because *McBane voice* the use flags, they do nothing!
Debian is by far the most stable of the Linux distros. systemd does not lend itself to this stability. Nothing wrong with the old init system. We all know it and its quirlks. I fell in love with UNIX because of editable text config files. Every aspect of the system needs to be editable by an admin. Linux is losing morally to OpenBSD because OpenBSD does not allow binary blobs in the system. Ever. Debian should be the same. No binary blobs of any kind. If it's not text, it doesn't belong.
A key point is the systemd approach to things seems to directly contradict this goal. It's seems almost by design to be getting hooks into as much as it possibly can to make removal very difficult. It's the lamprey eel of init systems.
In a world where GIMP, a graphics editing tool, has a dependency on a specific init system, it's hard not to discuss whether this was a good idea in the first place when discussing the replacability of that init system.
I'm hoping this is the path these discussions go down. Continuing to support systemd is going to lead to a two tiered Linux where not using systemd excludes you from a tonne of software, and this is about as anti-Linux as you can get.
The problem with supporting multiple init systems is that each package that provides a daemon needs to support all of them. A traditional init script is just a shell script, while upstart and systemd have their own formats. You could write software to convert an upstart or systemd script to a shell script, but there would likely be cases where it wouldn't be easy to translate automatically.
With filesystems, applications don't need to know anything about what's mounted how and where—you could mount /var on a btrfs partition on LVM2, /home over NFS, /tmp on an ext2 ramdisk, /usr on a read-only CD-ROM, /etc on a floppy... and everything would just work (albeit slowly because of some of my hypothetical choices).
This is one of my major gripes as well. I think if we're going to start rewriting/updating software to the spec of a better init system, it needs to be a universal specification that many (perhaps systemd-like, perhaps not) alternative init systems of the future can adhere to, include those on other *BSDs and *nixes and operating systems we haven't even dreamed of yet.
I really dread a future in which, due to current Linux dominance and all distros going systemd, all of the major software packages start depending on systemd's APIs and behaviors, and then the software packages become very hard to port sideways or forwards to other platforms. Don't get me wrong, I love Linux. However, what I love more is the idea and culture behind Linux and all *nix/*BSD. I want there to be alternatives, and I want there to be future upstarts that disrupt Linux and give us something even better.
The reason the culture of all of this was so disrupt-able in the first place, leading to all the greatness we have today, is because we had *standards*, and new implementations could adhere to those standards and all the other software could quickly be ported over to them.
Aside from technological gripes about how systemd operates and/or is implemented, the key failing of systemd is failing to specify a standard for authors of everyday runtime software and daemons, so that those other authors can conform to that standard, and then the *BSDs and whoever else in the world can implement that newer, better standard independently of systemd.
Systemd is like an anti-standard. They seem to have never even *thought* about it from a standards perspective. They think only in a functional perspective, and the only function that seems to matter to them is "Today's current iteration of Desktop Linux systems". Arguably even within that limited realm systemd has standards issues. They make incompatible changes from release to release and hardly even mention them in their changelogs, much less provide backwards compatibility or a path for sane future feature changes.
The funny part is that systemd has nothing to do with making a good desktop system with things papered over. Once the whole cgroups kernel interface will be stabilized, I would expect any number of improvements on the SysV init to take place.
Start with the parallel init already available in Wheezy and add a simple daemon manager called in the init scripts to stick a system daemon in a cgroup and manage it and you have every advantage systemd offered and none of the drawbacks.
If desired, that manager could support the "I'm ready" callback through a passed FD (a pipe endpoint). For non-Linux systems, the wrapper can support the callback and skip cgroups.
My big concern over systemd hasn't been that SysV would go away, but that a mediocre at best replacement would wedge itself in through crazy dependencies and prevent the better solution from even starting.
Well, obviously "moving to the 21th century" means being ignorant about things that work. New is not equal to "better" in any way. Maybe they could put a Farcebook client into systemd as well, that would show the quality level of the design of this thing clearly.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
That people think GIMP and GNOME require systemd is outright absurd. They both depend on a single feature exposed by the kernel which have nothing to do with the init system. It just so happens that the most prevalent API available for this is currently the logind component of systemd.
Rather than bitch and moan about them tying the two together, why not start / sponsor the start / donate to an alternative API that's not part of systemd which GNOME / GIMP can depend on for the functionality they need.
As for Poettering's track record. His software is released early in it's infancy, that and that alone (in my minority opinion) is his big problem. All of his previous projects have resulted from a very real need to clean up some of Linux's most stupid (again in my opinion) design features. People like talking about the disaster of pulse-audio, but those same people have never had the fun of attempting to plugin a USB headset to take a call or transfer audio to another device currently playing, or never had to try and get bluetooth audio work. For all it's complaints pulse-audio is now mature and (in my opinion) works rather well.
systemd is not just an init system. The only people who claim that are those that haven't understood what Poettering is making. It's a complete system management platform. I have no opinion on if it will be good or bad to go this route, but it does look like it will solve some very real gripes that I and others have with the current Linux setups, which includes the arcane task of digging through log files. (Ok I have an opinion that binary logs aren't the way to go, but the old system was just screwed).