Hacker News new | ask | show | jobs
by INTPenis 895 days ago
Nice article, after years of emotional flaming finally something fair and balanced about systemd.

The point about there existing no competition and no respect for glibc alternatives is very valid and to that I can only say; if you build it, they will come.

Systemd had the advantage of Red Hat backing so they got a great headstart. But in general people will use whatever works. So roll your sleeves up and get cracking.

4 comments

People will use what works. But there is a limit. If you have two things, one of which does everything under the sun, and the other only does mostly everything, people tend to choose the first. The more people do this, the more "weight" the first carries. Until one day, it makes no sense at all to use anything but the first. Even if it causes you tons of headaches. The more different the two are, the less and less likely that you could or would ever switch. It's too big not to use. And so, building an alternative becomes a fool's errand. Nobody would use it, because there's just too many reasons why they shouldn't or can't.

(In case you don't believe me: it is now impossible to run a desktop without a half dozen Systemd shims, because the entire ecosystem is now hard coded to use Systemd. I know because my desktop is Alpine Linux, a musl distro)

> it is now impossible to run a desktop

I find that hard to believe, unless what you mean is "it is impossible to run a desktop with all of the features that I want, many of which are coincidentally easier to implement/maintain using systemd ecosystem features"

No kde?
KDE really, really needs logind - it can't really use ConsoleKit any more. Same with SDDM, though I think the CK2 backend is still writhing in agony somewhere in its codebase.

And KDE's touchpad integration relies on libinput, which relies on udevd. I think libinput might work with mdev if you really try hard enough?

I am not aware of KDE having dependencies on any other bits of systemd, at least Plasma 5 LTS doesn't.

I was under the impression Plasma 5 (supposedly even Plasma 6 Beta) runs at least "fine" on the BSDs, no?
They have ConsoleKit2 support patched back in.

libudev-devd - a stub implementing UDev APIs atop FreeBSD devd: https://www.freshports.org/devel/libudev-devd/

I always appreciated this presentation for being a reasonable and balanced take, if you're interested in other examples: https://youtu.be/o_AIw9bGogo
If someone built the vision in this article I would use it. I love declarative config.

The article is such a good take it makes me want to try out the author's Adélie project.

Red Hat backing SystemD was hardly an advantage beyond the fact that it had financial muscle.

So for example, Red Hat backing meant that Canonical would have to be pulled in kicking and screaming to use SystemD and Ubuntu is one of, if not the most influential distro in the Linux world.

Ubuntu created and used upstart until it basically lost out to SystemD and had to move over.

What I heard and I'm not sure how much truth is in it -- but it's fun gossip so enjoy -- is that upstart needed some work done, and Poettering went off for 6 months and came back with a replacement (instead of a fixed upstart). If anyone knows the full/real story of systemd origin I'd be curious
jrb explained the origin story to me once in passing at a gnome meetup in SF irl ages ago. But the only part I recall is it involved Lennart and Kay collaborating on a new init system on their own... without rh even initiating the project. I got the impression that this was a sort of rogue effort from these guys.

Folks direct a lot of systemd hate at Lennart, but just take a look at the journald header[0]: uint8_t signature[8]; /* "LPKSHHRH" */

== Lennart Poettering, Kay Siver, Harald Hoyer, Red Hat

I don't know the details but I heard at some point Kay and Lennart had a falling out within the project. By the time I got involved in journald development @ CoreOS, neither Kay nor Harald were visibly participating anymore... It was kind of annoying, as it left just Lennart to review any journald PRs, who was obviously busy, but eventually got around to it. I think it's worth noting that despite being the person who receives all the systemd hate, Lennart didn't promptly abandon maintenance of the project after getting installed everywhere.

[0] https://github.com/systemd/systemd/blob/v255/src/libsystemd/...

RHEL6 did use upstart, but when RH tried to submit patches/work with upstream like they do with most projects they ran into issues with Canonical's CLA and other submission policies. So when Poettering came back with systemd they went "what the hell" and switched to that.