Hacker News new | ask | show | jobs
by blell 143 days ago
Red Hat created hard dependencies on systemd in all of the popular software they develop to ensure its adoption.
4 comments

I don't get it. If you install openbsd, you get dependencies that openbsd developers has chosen. You can try to remove every aspect of those choices but at some point it won't be openbsd anymore.

Is the claim here that Red Hat is unnecessary coupling their critical parts of the distribution in ways that other distributions would not do? A few examples here would be nice.

OpenBSD is a monolithic system with kernel and userspace developed together. Linux was a bazaar.
So if you don't like that, don't you still have the choice not to use software developed by Red Hat?
They do, they just want to whine about software other people made (that they don't contribute to) doing something they don't like.
Embrace extend extinguish tactics, now celebrated in Linux land.
You had choices before, you still have choices, how is that EEE? There never been more distributions available.
At every stage of EEE, you have choices. All but one are made more unappealing as the EEE process progresses.
You had choices not to use $technology that Microsoft embraced, extended and then extinguished, how is that not EEE?
EEE is about taking existing standards/software and making it eventually incompatible with FOSS. That's very different from creating a new thing, and asking people to use that. AFAIK, they're not replacing anything (but maybe I missed something), so I don't see it as the same as what Microsoft did back in the day.
I think it's similar. We have a big powerful company pushing their solution, pushing more and more software to depend on that solution, so people who want to exercise their choice not to have an increasingly uphill battle to do so.

That doesn't seem so different from what Microsoft used to do, as even back then there was always choice if people decided to get together and exercise it, but practically in both cases it's an uphill battle.

Did anything else support cgroups V2?
Which software has hard dependencies on systemd?

Also, it's not just RedHat that's depending on systemd, as if its a conspiracy on their part.

https://www.theregister.com/2026/01/26/plasma_6_6_systemd_lo...

Gnome, for example. GDM now needs systemd's userdb.

It is indeed becoming harder and harder to avoid and I understand that this isn't great, but systemd tackles some genuinely hard problems that others don't. Which is to say I don't begrudge Gnome devs for this and personally prefer systemd over current alternatives.

which current alternatives have you tried?
I've looked at OpenRC, RUnit and S6. I haven't recently run any of them "in production", however.

Personally, I am a strong believer that declaring the desired state is a lot easier to get right than actually writing the code to get there. Beyond that, I'm not saying any of these are bad at being what they are, systemd just has more features, some of which I really like. Two examples I'm actively using currently are automount units and socket activation (S6 also has socket activation). I have some remote folders mounted via SSHFS automatically when I access them and this is incredibly useful for my workflow.

Could I find tools to slot into other init systems that do this for me? Probably. But systemd has this neatly packaged up, easy to configure and easy to introspect state.

Runit (not RUnit) seems pretty cool.

It uses a folder with a subfolder for every service. Each subfolder contains a script called run. The system runs the run script. If it exits, it waits two seconds and runs it again. Repeatedly. It's very worse–is–better.

There are commands to control the services and check their status. For example, if a file called down exists next to the run script, it won't run it. This is how you disable a service.

It checks for service folders being created and deleted. New folders are started, and deleted ones are stopped cleanly. They can also be symlinks, so you don't need to worry about deleting a running service folder and you can remove a service from init without erasing the scripts you wrote.

The whole system is useful in many situations and not only as pid 1.

Maybe one day I'll invent a runit–based distribution.

Dependencies may be becoming less properties of software, and more so properties of the distro's systemd wiring.

More and more software will assimilate systemd features. Free distros will patch, shim, emulate, flounder. Or in GPT parlance "Dependencies are no longer intrinsic properties of software; they are emergent properties of a distribution's systemd orchestration layer"

Meanwhile, gripes, fears etc,

'Linux' becomes interpreted vs inspectable.

Requires superfluous new literacy

Convolutes logs, tools Obscures causality

Centralized control above Unix process model

Fair well ps aux, hello systemctl, cgtop, gls

KILL (less lethalized) superceded, replaced by service stop and mask

Surrender chains for events, ie buggy debugging or complexity accretion

General obfuscation beneath the hood

Centralized ... indexed, logs vs text streams

And....

Upstream assumes systemd

Some resist

Costs rise

Optional becomes expected

Accidental incompatibility

And... systemd ingurgitates one by one, policy, supervision, logging, identity, dependency management and the rest of the world... digests it, and from the aether emerges a sweet smiley face, disgorging forth a monolithic mutant avatar, with Linux features.

I'll be quiet happy to be wrong about everything. Feel free to slaughter everything I've written. I don't even oppose systemd - I simply perceive it as a singularity that's drawing everything around me towards it. Wrong would definitely be good, so please don't hold back. I won't seek pardon for the rant though, because true or false, it's honest.

Edit: I was reading through my threads and thought the parent was asking me, though wasn't. I've unintentionally barged in here, but I'll leave the comment anyway, as it references a very big concern of mine.