Systemd does a lot of things that could probably be separate projects, but run0 is an example of something that benefits from being a part of systemd. It ties directly into the existing service manager to spawn new processes.
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…
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.
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
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, but run0 is an example of something that benefits from being a part of systemd. It ties directly into the existing service manager to spawn new processes.
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…
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.
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.
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
Removed by mod
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.