Hacker News new | ask | show | jobs
by 3np 1639 days ago
> But it's toxic for the long term, because it undermines the whole point of using linux if you can't swap out pieces or maintain your own forks of individual components.

You can, though? And many distros do by default.

Don’t like systemd-boot? You can replace it with grub.

Don’t like systemd-networkd? You can replace it with networkctl. Want to use it but prefer to handle Wireguard tunnels with wg-quick? Fine!

Don’t like systemd-resolved? You can replace it with dnsmasq.

Don’t like systemd-cryptsetup? systemd won’t care if some other system takes care of your LUKS partitions.

Etc, etc.

1 comments

That’s a short list of other packages (none of which I think are part of a base Linux install, correct me if I’m wrong) that have decided to depend on systemd?
Where's the "hard dependency on libc" list? Or "hard dependency on Bash"?

It's ridiculous to imagine that no program is allowed to depend on SystemD.

> Where's the "hard dependency on libc" list?

There are multiple libc implementations. libc independence is important and valuable. You'll probably find a "hard dependency on glibc" list in the documentation of e.g. Alpine.

> Or "hard dependency on Bash"?

Ubuntu will have a list from when they switched to ash as /bin/sh. Again, multiple implementations and independence are important, and something the linux community generally cares about.

> There are multiple libc implementations

You could make another SystemD implementation if you really wanted. The point is that there are plenty of APIs - even ones with a single implementation - that nobody bats an eye about programs having a "hard dependency" on, but suddenly for SystemD it's apparently a big issue?

It's bullshit technical excuses to hide the real reasons people object to SystemD, which are more embarrassing.

> You could make another SystemD implementation if you really wanted.

No you can't, because they don't offer stable interfaces as a matter of deliberate policy.

That seems to be completely untrue: https://systemd.io/PORTABILITY_AND_STABILITY/