:: Re: [DNG] Systemd as tragedy
Top Page
Delete this message
Reply to this message
Author: Steve Litt
To: dng
New-Topics: [DNG] Fwd: Systemd as tragedy
Subject: Re: [DNG] Systemd as tragedy
On Wed, 30 Jan 2019 16:38:28 -1000
Joel Roth via Dng <dng@???> wrote:

> On Thu, Jan 31, 2019 at 12:19:44AM +0100, Alessandro Selli wrote:
> > Might interest someone:
> >
> > https://lwn.net/Articles/777595/
> >
> > [Front] Posted Jan 28, 2019 20:05 UTC (Mon) by corbet
> >
> > His attempt to cast that story for the
> > pleasure of his audience resulted in a sympathetic and nuanced look
> > at a turbulent chapter in the history of the Linux system.
> Hard to believe I listened to the same talk Corbet
> is describing. What I heard was a propaganda piece,
> finding reasons to sell the systemd approach
> to BSD conference attendees.
> To Benno Rice, the tragedy is the pathetic opposition
> to what he construes as the inevitable forces of
> progress and rationality.

I watched the following video of Benno Rice's presentation:


This presentation is despicable. He's taken every the same tired flawed
arguments from Poettering's writings, and filed off the patented
Poettering nasty haughtiness so it sounds, well, rational. But it
is still founded on Poettering's original fallacies. And if Rice is
even 1/4 as smart as he appears to be, he knows darn well this
stuff is false.

Note: Rice refers many times to "rc". That's what he calls the BSD init
system, or at least the part spawned by PID1.

The king of all this video's fallacies occurs at 17:57, where he
"refutes" "objection" "It's bloated and monolithic." He trots out
Poettering's old refutation that systemd is made from many binaries,
and he says it all fits together to deliver a "system layer" for Linux.
Most intelligent Linux users have rebutted such nonsense: Here's my
rebuttal, in cartoon form:


Lot's of component binaries, but every single one of them requires an
incredibly complex (and therefore error prone) interface, which in turn
almost completely eliminates interchangeable parts, making
repairability much more difficult and limiting opportunities to DIY.

I recently heard a quote on NPR radio that 50 years ago you could start
an auto repair shop with a lift and a couple hundred dollars of tools,
but now it takes a million dollars of diagnostic equipment. This is the
cost of complexity. Of course, with cars, this complexity is partially
necessary because to raise MPG (Miles Per Gallon) you need a computer
to micromanage timing and amount of spark, air, fuel, and how they
interact. I know of no similar necessity with computers.

Systemd forces more of your management and repair to be outsourced to a
specialty house with the right tools and knowledge, instead of
repairing it in-house with interchangeable parts and the test points
those parts introduce. [LITT'S NOTE: I say this in spite of the
snazzy layer of meters and test points which systemd bestows after
epoxying off your real OS functionality] Not good for the computer's
owner, very good for those specialty houses, of which Redhat leads the

The fact that systemd is a grossly entangled monolith of custom-made
pieces incompatible with pieces not made by the systemd folks is reason
enough to stay way away from systemd.

8:33  "What the traditional rc system really doesn't do is automated
      service management. You can bring in other tools to do that like
      runit or supervisord or other things, but that is bringing in
      third party stuff that thinks a bit differently to the way that
      everything else does, and so you kinda need to [stutter] it's
      this other notion of bringing in other things that you suddenly
      have to think of the way it thinks, the way your servicing
      manager thinks, and various other things, which again --- we
      kinda get used to, like if you pick runit and install it you
      kinda get used to the way runit thinks, but that doesn't
      necessarily mean that the impedence mismatch between what runit
      does and what rc does is good."

Wow, where to start? He first names runit (and supervisord) as doing the
"automated service management" as well as systemd does. But then, to
make monstrosity systemd look better than solid and simple runit (and
s6 and daemontools, which he forgot), he invents an "impedance mismatch"
between runit and rc to downgrade runit. I have a BSEE degree, I know
what impedance mismatch is, and I can tell you the only way you get an
"impedance mismatch" within software is if you're using a circuit
emulation program. Reminds me of guys who go around trying to impress
women by injecting, in worldly fashion, words like "entropy" and
"energy" in discussions of day to day life. Rice really should have
left the pseudo-science at home, with his flat earth and "smoking is not
hazardous" stuff. There's no impedance mismatch, and configuration of
runit is quite easy.

Yeah, configuring runit (he forgot s6, by the way),
is a little different than rc or systemd, so what? Last time I looked,
admins knew both Perl and Python, and could use both vi and emacs and
both Salt and Chef and Ansible and Puppet. So Rice, spare us this lame
excuse for substituting an entangled mess for an existing and already
used succinct solution.

In the 8:33 segment, he also puts forth a poetteristic false choice by
comparing everything to rc. It's a big world out there, with many init
systems and process supervisors, but you wouldn't know it by viewing
this presentation.

He mentions that sysvinit actually does this "automated service
management", which he seems to define as restarting on crash (what
we've all called respawning or restarting since the dawn of time).
Perhaps in his mind he also meant sending specific signals to
processes, which we've done since the dawn of time.

Later, Rice extols the virtues of "automated service management" in
Windows and Apple. Well, I remember what it was like to use Windows:
Crashiness, stumbling blocks restricting DIY, vendor lock-in: I
think his point is in bad taste in a BSD meeting.

14:11-15:35: Introduces the concept he calls "system space" as a buffer
             between kernel space and user space, and then claims that
             made up space for systemd. He mentions several system
             related things to be regulated from there: network
             management, time, udev resolver libraries. He fails
             to mention that these things are done by pre-systemd
             Linux, and that to the extent they're not, they could
             easily be created as small subsystems with thin,
             understandable interfaces.

             Blames the "angst" around systemd on the fact
             that it does things differently than they're used to
             (appeal to novelty), rather than the true cause that
             architecturally it's an entangled monolith.

17:08: Attempts to refute "It violates the Unix Philosophy" with the
       old "systemd comprised of many subsections so it's modular", and
       then a humorous comparison with BSD. His refutation fails with a
       thinking individual.

11:34 "And, what I find amusing occasionally is that a lot of people
      who bitch about systemd don't bitch about launchd [stuttermumble]
      I find that funny because systemd basically is launchd, in

Hmmm. What's he really saying here? Could he be implying that
systemd critics aren't very smart? Or that they're somehow
hypocritical? What I find amusing is that Rice can't contemplate that
we don't criticize launchd because *it isn't our problem*: We don't use
Apple OSes. He got a big laugh though, so I guess his audience
couldn't contemplate it either.


13:00 Discusses systemd as being reactive to hardware and software
      changes within the system, but never mentions there are other,
      simpler ways to do it (inotify and inotifywait, for one).

22:43 Proclaims the wonder of cgroups, without mentioning there are
      other ways of handling cgroups.

23:21 User level units: Proclaims the joy, but forgets to mention users
      can run personal daemontools, runit, s6 etc.

24:40 Trots out the old "we like change when we make it, but not when
      others are in charge", as if all change is good change. I once
      again remind of monolithic entanglement.

25:13 "You might not like systemd, but that doesn't mean you need to,
      you know, send death threats to Linux". Nice way to label
      systemd-avoiders as terrorists.

25:21 "Contempt isn't cool." Oh really? So contempt of things like
      bribery, graft, genocide, theft, and terrorism aren't cool? Is
      software the only arena that gets a pass from bad things being


I see contempt as quite a useful tool, in certain situations. Think of
any legitimate and needed revolution. And think of the first days of
Devuan: As I remember there was plenty of contempt for systemd, and
that drew a crowd of skilled and useful people.

You know what I have contempt for? People who know darn well they've
picked the wrong side, but "cleverly" make their points using fallacies
and left out information.

I have quite a bit of contempt for Rice's presentation, and in the
future will try harder to unmask the fallacies used in the promotion of

Steve Litt
January 2019 featured book: Troubleshooting: Just the Facts