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.
Hopefully they'll come to their senses and reject the disease that Pottering has cursed the Linux ecosystem with.
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.
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.
It isn't developers or distro maintainers who hate systemd
I'm a developer and I hate systemd.
It can't do event driven launches and yes it does impact desktop users. Example, your on your corporate network on a laptop and you close the lid and take a plane to somewhere else and the laptop wakes up. How can Init handle something like this and know to configure it to a new network?
This is why Sun, Apple, and Ubuntu developed their own event driven systems. System D is not good. But event driven systems can respond to events like a hack attack, excess load, and other things for servers.
Init was made for stationary mini computers with only 20 text based commands and apps. It's not designed for the hacks we use to get it to work today on modern systems
So why would/should that be a function of an init system, and not a function of, say, an event driven network daemon that gets started by init on bootup - and receives event notifications on you opening/closing the laptop lid (suspend/resume)? Why should that need an entirely re-written init system when it could easily be done in just a (rewritten) network daemon using the existing init system?
Sounds to me more like entirely missing the point of what the init system is supposed to do... which is *not* reconfiguring NICs, etc (those are functions of the scripts/daemons it starts).
Remember this before ranting too much on Lennart. He is not in any position to force any distribution to do anything. Distributions choose to use his software because it actually is better than the stuff that came before it.
Yes, of course Lennart's just a developer with a better idea. He's never seen software development as a means to a larger political end.
Except when he has:
All of these disingenuous statements that there's no other agenda in place are just bullshit. They're simply and self-evidently not true, because you can't do system design without some kind of vision of what you want. And you don't change the system design unless you don't like the one you've got. Lennart's vision, as he says, is a 'streamlined' Linux, which is to say catholic, not agnostic, unified rather than pluralistic, with fewer options rather than more. And when you cut away all the cruft, it's his stuff that remains.
Poettering and his acolytes can argue all they like that their vision is simply better. I disagree, but I accept that this is always an argument worth having. But when you start arguing that POSIX is a constraint and that Linux should be 'leading' the way (and that POSIX can just catch up, thank you), you're taking a stance that is not simply in opposition to others, it cannot coexist with the others because the alternatives have become mutually exclusive within a particular space.
POSIX is a limiting factor. That's true. Its limitation is that we've all agreed on a basic subset of behaviours in order that we all have enough in common to interact. So when you discard POSIX, you have effectively announced that you do not see the value of playing nicely with the other children. From that moment, your 'better idea' is being implemented at the expense of interoperability.
Which is a really fucking bad idea.
(The quote above is from an interview with Lennart, linked from his Wikipedia page.)
Lastly, to respond directly to the assertion that he is not in a position to force any distro to do anything. The tight web of dependencies, his position at RedHat and the support and assistance provided on the corporate level is perhaps not sufficient literally to force a distro to use his software, but it's enough to raise the question that undue influence is being brought to bear and that rather questionable tactics are being indulged in expressly because Lennart and his cohorts think that doing the right thing does not imply contributing in an open[*] and inclusive way.
-----------------
[*] Lennart's idea of openness is allowing others to interact with his software, but fuck you if you want him to take a second look at your requirements. And then, of course, to act shocked (shocked!) when others get upset.
Crumb's Corollary: Never bring a knife to a bun fight.