This is fine, but why does everything need to be part of Systemd? Like, seriously, why can’t this just be an independent project? Why must everything be tied into this one knot of interdependent programs, and what’s going to happen to all of them when the people who are passionate about it and actually understand all the stupid ways they interrelate move on with their lives? Are we looking at the formation of the next Xorg? Will everybody being scrambling to undo all of this in another 20 years when we all realize it’s become an unmaintainable mess?
Yeah, if all those complainers want something more modular, they’re free to push for protocols that allow to leverage existing components while also allowing for them to come from multiple vendors.
Systemd does a lot of things that could probably be separate projects,
I dont get the hate for this - Linux is full of projects that do the same thing: coreutils, busybox, kde, gnome, different office suites, even the kernel itself. It is very common for different related projects to be maintained together under the same project/branding with various different levels of integration between them. But people really seem to only hate on systemd for this…
Systemd likes to break standards. That’s a big reason
What standards? The old init systems were a loose collection of shell scripts that were wildly different on every distro. Other tools like sudo also broke the established standards of the time, before it you had to login as root with the root password.
Even gnome and KDE have their own themeing standards as well as other ways of doing things. Even network manager is its own standard not following things that came before it. Then there are flatpack, snaps and app images. Not to mention deb vs rpm vs pacman vs nix package formats. Loads of things in Linux userland have broken or evolved the standards of oldern times.
Systemd breaks its own standards. Oh, were you making a replacement for this component of systemd that does some things the systemd version doesn’t? Well the latest version of systemd just changed the Unix socket protocol that it uses to communicate with the rest of systemd from text based to binary. Sorry for the lack of warning.
@AVincentInSpace @nous I’ve always disliked the arrogance of the lead Dev & the inexorable incremental usurping of Linux functionality. I’m deeply uncomfortable with so much being absorbed into a big binary black box
I guess for me the difference is that the kernel is just way beyond what I can understand and has never had any viable alternatives, gnome I really don’t like, and everything else you listed is just collections of simple stuff that aren’t actually very interdependent. Systemd is a giant mess of weirdly interdependent things that used to be simple things. Sure, some of them weren’t great, but every major distro abandoning all of the alternatives feels like putting all of our eggs in one basket that’s simultaneously getting more important and more fragile the bigger it gets.
Except desktop environments - they are far from a simple loosely collection of simple stuff. They coordinate your whole desktop experience. Apps need to talk to them a lot and often in ways specific to a single DE. Theming applications is done differently for every toolkit there is, startup applications (before systemd) is configured differently, global shortcuts are configured differently by each one… If anything it is something you interact with far more than systemd and has far more inconsistencies between each one. Yet few people complain about this as much as they complain about systemd.
Systemd is a giant mess of weirdly interdependent things that used to be simple things.
They used to be simple things back when hardware and the way we use computers were much simpler. Nowadays hardware and computers are much more dynamic and hotplugable and handle a lot more state that needs to persist and be kept track of. https://www.youtube.com/watch?v=o_AIw9bGogo is a great talk on the subject and talks about why systemd does what it does.
And fragmentation of projects is what caused the xz security incident.
It seems a fairly explicit goal of systemd to redefine Linux as a unified platform rather than as a kernel that can run any one of many implementations of many different services. I assume this is not just the systemd lead but also a goal of Red Hat.
Personally, while I am ok with systemd defining itself as a single source for all this functionality, I hate that they are taking away ( or making it hard at least ) to have independent implementations of these services.
What Chinera is doing with dinit and turnstile is really interesting. It would be nice to have feature comparable approaches to the systemd monolith that distributions could choose from.
What Chinera is doing with dinit and turnstile is really interesting. It would be nice to have feature comparable approaches to the systemd monolith that distributions could choose from.
Link for other readers about Chimera Linux, dinit, turnstile : https://chimera-linux.org/development
It does make sense for me to have this functionality in systemd the way they want to go about doing this.
Okay, but why go about it that way? That can’t be the only way of making a viable alternative to sudo. Why does everything need to be part of one project? If you want to reuse code why not spin it out into a library so each component can be installed with just the libraries it needs and not the depending on the whole gigantic thing? KDE works that way. It’s obviously possible for some things, at least.
One of my favorite things about Linux is simply fiddling around and finding the things I like and don’t and just using the ones I do. I can’t do that effectively with systemd though. Sure, it’s theoretically modular, and there are even a couple parts left that can work independently, but mostly it’s just one big block of half an operating system that all gets lumped together into one gigantic mess, and I can’t effectively just use the bits I like. It’s kind of all or nothing, and then maybe being allowed to double up on some of the things I’d like to use an alternative to… for now. It just kinda sucks the joy out of using my computer, but trying to avoid it completely is a massive pain in the butt.
There’s no big dramatic thing wrong with systemd. Using systemd and being happy with it is a good thing. I do not object to the existence of systemd. Systemd is fine. It just makes me like Linux less is all. I am enjoying my time with my computer less than I used to, and the universal dominance of systemd is probably the biggest reason for that.