The Tragedy of systemd
linux.conf.au16 HN recommenders · 2019–2025
1.3M views · talk · evergreen · Uploaded 2019-01-24
FreeBSD developer Benno Rice traces the history of init and bootstrap systems at linux.conf.au 2019 to explain why systemd was seen as necessary and why it provokes such strong reactions. He also discusses why change is scary.
The most-recommended balanced take on systemd, from a BSD perspective, handed to anyone caught up in the systemd debate.
1:48:55The Thirty Million Line Problem
Molly Rocket
1:03:51VCF East: Ken Thompson interviewed by Brian Kernighan
Vintage Computer Federation
45:35The Real Story Behind Wayland and X - Daniel Stone (linux.conf.au 2013)
Mladen Mijatov
1:04:04LISA11 - Fork Yeah! The Rise and Development of illumos
USENIX
1:10:15Tech Talk: Linus Torvalds on git
Google
1:06:20USENIX ATC '21/OSDI '21 Joint Keynote Address-It's Time for Operating Systems to Rediscover Hardware
USENIX
27:27AT&T Archives: The UNIX Operating System
AT&T Tech Channel
1:25:52TempleOS | Down the Rabbit Hole
Fredrik Knudsen
20 comments from Hacker News
I think that the section on change at is great. The first 1500 seconds are about systemd any why it is and what it's trying to do, but that doesn't really get to the core of why I complain about it. [VIDEO] Systemd is change. Massive change that's being forced on us by a twat. Unlike Linux, which was a kernel delivered by a twat but was take-it or leave-it, this is being forced on us. It's untrustworthy and threatening and unknown. In some cases it's an attack on our identity -- "the way you did it in the past is rubbish, do it this way". Clearly we are going to be defensive about it. This isn't unique to people who've used linux for the last 3 decades. Douglas Adams knew this 20 years ago: 1) everything that’s already in the world when you’re born is just normal; 2) anything that gets invented between then and before you turn thirty is incredibly exciting and creative and with any luck you can make a career out of it; 3) anything that gets invented after you’re thirty is against the natural order of things and the beginning of the end of civilization as we know it until it’s been around for about ten years when it gradually turns out to be alright really.” His original article (in a newspaper - remember them?) is at [LINK] He mentions John Humphrys and his sneering view of this new fangled internet. Humphrys was (and still is) the bbc radio 4 breakfast presenter. At the same time Terry Wogan was the radio 2 breakfast presenter, a similar age (about 60 at the time). His attit
> SystemD definitely spurred some controversies years ago but is it that bad in 2019? The reasons for the controversies have not really changed (lennart, the idea that it's not "unixy", a takeover of many subsystems by various systemd components, …) so people who didn't like systemd years ago probably still don't. As somebody who's not really involved, I found Benno Rice's The Tragedy of Systemd[0] interesting and enlightening. [0] [VIDEO]
I recommend watching this to give you some perspective on the SystemD hate: [VIDEO] I too was furious about the existence of systemd, but now I realize that was mostly because I don't want new things and consider many new things to be bad because they are new and there have been a few 'bad apples' in my personal experience
Additionally, no alternative project is even providing close to the set of features that i.e. systemd or pulseaudio does, not even via modules. sysvinit for example is only an alternative to systemd the same way a SUV is an alternative to F1. (watch [VIDEO] if you don't know why)
oooooo, the grandparents video is very different in tone than the version I watched, which is the same talk: [VIDEO] I'm sorry, I had assumed I had seen the exact video, but I had just seen the talk from another venue.
- Hardware support out of the box I can be given a work laptop, slap some Debian or derivative along with XFCE, and I know that most hardware will work out of the box without much fuss (including but not limited to: webcams, video cards, wireless/bluetooth, thunderbolt docking station). - Containers They're just very good. FreeBSD looks like it has most of the pieces to get containers going but it's not their priority to get that going. The people at Joyend did that, reimplementing the docker server APIs to manage underlying zones. I wonder why don't FreeBSD do something similar. - Reference documentation I like to use RHEL and derivatives (CentOS) when I can, and the reference documentation its so, so, so good , ample and complete. The FreeBSD reference guide is good, but not as thorough and/or up to date as the RHEL documentation. - systemd & NetworkManager They're rock solid, battle tested and well-thought. systemd is much more than init and does a lot of system management, stuff that previously was simply not being done by anything else. BSDs lack that completely -- see [VIDEO]
"Linux has systemd" and that's why the author didn't select it supposedly. I hear this line of thought from people that use FreeBSD often, although I suspect if you ask many of those people why systemd is so horrible you won't actually hear a legitimate (and still relevant) reason from them. I suggest anyone that thinks systemd is terrible and doesn't spend lots of time in Linux to watch this presentation by Benno Rice. [VIDEO]
Wouldn’t have to be systemd, macOS has launchd for init, FreeBSD could come up with its own thing. This is a good talk I saw recently (by a FreeBSD contributor) on why these sorts of systems have become more common, and why they seem so sweeping in scope. [VIDEO] (In fact systemd and launchd are so tailored to their respective operating systems that FreeBSD likely would have to do their own init replacement if they cared to.)
You have probably already seen this, but I found this an interesting explanation to the why question: [VIDEO]
There was a great talk by a FreeBSD developer about systemd, and specifically the (in his eyes, somewhat unwarranted) hatred it has attracted and why [VIDEO]
For those looking to understand some of the history of the anti-systemd feelings, I found this presentation useful: The Tragedy of systemd ( [VIDEO] )
I like what Benno Rice said[1] concerning a third "system" layer other than kernel and userspace. Systemd tries to fill that space entirely by providing a suite of tools that integrate well with another. But you are not forced to use these all of these, you're not forced to use resolved over resolvconf. > It should only do one thing well. I know this is a popular principle that some believe to be part of the unix philosophy. But an OS should also be coherent. Some tools can do their own thing and be independent from the rest of the system. But I think this works best for simple userland tools, not tightly integrated system services. In any case I really like resolved. [1]: [VIDEO]
I never had any horse in systemd/init.d and wasn't too familiar with the issue until I watched this presentation. systemd seems reasonable enough after considering it. [VIDEO]
I always appreciated this presentation for being a reasonable and balanced take, if you're interested in other examples: [VIDEO]
It’s interesting you say that? It runs completely counter to my experience coming from the “BSD-style” rc.d init Arch used to use, and migrating to systemd. Any specific issues? I didn’t see any. No offense. One factor may be that Arch prioritizes not patching upstream - helped save them from targeting here, and it doesn’t go overboard with default configs, which I’ve long appreciated. Not to distro-war, I’m very grateful for Debian. My background is finding Linux in the mid-00s and breaking many SuSE, Ubuntu, and one or two Debian systems before finding something I could understand, repair, and maintain in 2008 Arch. systemd accentuated its ability to stay relevant with enterprise Linux, made it even easier to package for, and has been a useful tool in diagnosing service issues and managing bad software for me. I’m not sure how often it’s posted here but Benno Rice formerly of FreeBSD Core Team has an excellent and amusing discussion of systemd’s technical merits. [VIDEO]
> Turning Linux into Windows by replicating svchost.exe shouldn't be applauded by the Linux community. ... We've got Linux's PID 1 (for most distros) controlled by a MS employee, who replicated Windows' svchost.exe. And people are all excited? systemd was pretty consciously patterned after launchd, not svchost. The goal was, and for good reasons, to make Linux behave like a more integrated Unix-like that already existed: MacOS. Benno Rice has an excellent presentation on systemd that's worth watching through to the end; unlike most of the table-pounding (and "it's just svchost.exe!!" is exactly that), he provides what I think is a pretty fair--and, interestingly to me, a BSD-grounded--view as to where systemd is strong and is weak. [VIDEO]
[VIDEO] (The Tragedy of systemd) is an interesting talk on this topic from the view of someone (Benno Rice) in BSD land. Highly recommended. EDIT: this is mentioned in the article, thanks koalacola
If you haven’t seen this talk[0], I think it covers in a fair shake the positives, negatives, and what even a post-systemd world would have to deal with. [0]: [VIDEO]
There is a wonderful talk by Benno Rice a few years ago. Insightful and entertaining. Not focussed only on the negatives, BTW. [LINK] [VIDEO] HN discusion: [LINK] LWN comments: [LINK]
I linked it elsewhere in this thread, but you should really watch this talk, particularly 12:45 through 16:20: [VIDEO] tl;dr: systemd isn't meant to be an init system, it's meant to manage services, and the alternative world where you don't have a unified system for managing services and events actually sucks.