Remix.run Logo
Dwedit 3 hours ago

Can someone explain why SystemD was controversial in the first place? I just saw faster boot times when distros adopted it.

Sharlin 3 hours ago | parent | next [-]

Scope creep, violation of the Unix philosophy, large attack surface area, second system syndrome, interoperability concerns. It didn’t help that the creator’s other well-known project, PulseAudio, was also controversial at the time, for similar reasons.

BearOso 2 hours ago | parent [-]

PulseAudio, when it came out, was utterly broken. It was clearly written by someone with little experience in low-latency audio, and it was as if the only use case was bluetooth music streaming and nothing else. Systemd being from the same author made me heavily averse to it.

However, unlike PulseAudio, I've encountered few problems with systemd technically. I certainly dislike the scope creep and appreciate there are ideological differences and portability problems, but at least it works.

noirscape 3 hours ago | parent | prev | next [-]

Wrote about present day reasons to dislike systemd a few days ago on HN, which encompasses most arguments of actual substance[0] (tldr: Unix philosophy, it homogenizes distros and it may be too heavy for some low-resource environments).

Historic reasons mostly come down to systemds developers being abrasive jerks to people. Systemd has some weird behavior choices that only really make sense from the perspective where every computer is a desktop; ie. it terminates all processes spawned by a user when logging out unless they were made in a specific way with systemd-run. This makes sense on a desktop - users log out, you want everything they did to be cleaned up. On a server it makes less sense, since you probably want a tmux/screen session to keep running when you sign out of your ssh session (either by choice as a monitoring tool, or alternatively because you have an unstable connection and need a persistent shell).

Every downstream distro got surprised by this change[1] and nowadays just ships a default configuration that turns it off, because upstream systemd developers weren't interested in hearing the complaints.

Most of these footguns have been ironed out over the years though.

There's also some really dumb arguments to dislike systemd, most of which just can be summarized as "people have an axe to grind with Lennart Poettering for some reason".

[0]: https://news.ycombinator.com/item?id=46794562

[1]: It was always available, but suddenly turned on by default in an update.

neoCrimeLabs 3 hours ago | parent | prev [-]

To over-simplify, it's about conflicting philosophical alignment:

- systemd: integration and features at the cost of complexity and scope

- traditional: simplicity and composability at the cost of boot speed and convenience

systemd conflicts against the more traditional unix philosophies as well as minimalism.

ahartmetz 2 hours ago | parent [-]

systemd also replaces some pre-existing services with its own reimplementations that are worse. The systemd developers aren't e.g. DNS or NTP experts, but they act like it and the results reflect all that.

22 minutes ago | parent | next [-]
[deleted]
neoCrimeLabs 20 minutes ago | parent | prev [-]

You are correct. My comment was over simplified deliberately. I felt integration and scope accounted for the details in a TL;DR one slide answer.