[arch-general] systemd new dependencies impede using OpenRC

Tobias Hunger tobias.hunger at gmail.com
Fri Jul 3 14:31:25 UTC 2015


To be fair: There is more to here than "Unix philosophy" and "I hate Lennart".

Number 1 is "systemd is a monolithic mess" and reveals a glaring
misunderstanding of layered architectures. He is basically claiming
that kernel/xorg/browser is one mess since the browser won't start
without the kernel and xorg running at the same time.

Number 2 about "everybody uses systemd" is barking up the wrong tree:
The question is not "Why do distributions adopt systemd?", it is "Why
do developers adopt systemd?". Distributions have to tag along for the
ride once enough developers use the stuff. He sees that ("A big
motivating factor is that other application suites (e.g. GNOME)
increasingly depend on it to work."), but does not bother to examine
that issue.

Number 2 is "systemd is not for every use case" and he is actually
right with that.

Number 4 is about shell scripting and that you could have shell
scripts that are as clean as systemd unit files... if that was true,
then at least one distribution would have managed that in the last
couple of decades. He is right that systemd does not reduce complexity
though, it just moves it into a different place. That in itself is a
big achievement though.

Number 5 is "you can use Linux specific features without systemd",
which is correct, but it is less convenient to do, so nobody bothered.
Systemd did make many of those features mainstream.

Number 6 is "No other init provides anything of value to userspace
(besides starting stuff), so systemd is evil for doing that."

Number 7 is "all the claimed benefits of systemd can be archived
differently", which is obviously correct. Pretty close to Number 5
though.

Number 8 is "but everything does indirectly depend on systemd as init,
not just on services provided by things in higher layers", which is
just another misunderstanding of a layered architecture.

Number 9 boils down to "systemd is too complex for some use cases". He
is right there, just as he was in Number 2 before.

Number 10 is the boring binary logging again. Nothing new here... but
he raises one interesting question: Why have a journal when it can
just forward to syslog? Because systemd needs to log stuff, even when
syslog is not yet running or was already stopped. So it needs to
either throw away the logs (which is what sysv init did) or it needs
to have some internal interface that makes sure stuff is not lost and
can optionally interface with syslog when that is available. That is
pretty much what the journal is. It did grow a bit from there once it
became clear that it is useful.

Number 11 is "I do not like Lennart", which I actually consider to be
a valid point. He is right in claiming that there is a social
component to projects and that this does influence the selection of
software one is comfortable to run.

Number 12 is "the kernel is complex is no excuse for systemd being
complex". Mostly another misunderstanding about layered architectures
that again result in the claim that systemd is a entangled mess.

Number 13 is "most of systemd was written by just a handful of
people", which is true for any open source project. IMHO that does not
diminish the value of having many contributors at all: Those did read
(parts of) the code and they do provide feedback and what not.

And that's it...

Best Regards,
Tobias


More information about the arch-general mailing list