[aklug] Re: multiple distros coordinate to establish /run directory

From: Arthur Corliss <acorliss@nevaeh-linux.org>
Date: Thu Mar 31 2011 - 15:03:57 AKDT

On Thu, 31 Mar 2011, Christopher Howard wrote:

> For the curious, could someone explain what is wrong with systemd? It is basically just a backwards compatible replacement for sysv init services, correct? For managing daemons better? Website advertises better startup parallelization and d-bus support.

Quite a bit more than that. It's sysvinit, it's a service monitor, it's a
psuedo inetd, it's a mount monitor, it's a hardware monitor, it's basically
one ring to rule them all. If all it was was a sysvinit replacement I
wouldn't have a problem with it. Hell, I wrote one myself, I understand the
draw.

There is no one thing that systemd does that I object to, they're all
laudible goals. It's the thought of *one* application doing all of them at
once that gives me the willies. It means that trying to troubleshoot one
specific malfunctioning aspect means wading through a code base of which 90%
has nothing to do with your problem. It means trying to figure out which of
the several things it does in succession is the ultimate problem is more
problematic. It's the fact that the code base itself is guaranteed to be
lower quality because they have a more complex application with a large
amount of co-mingled functionality. It's the fact that it involves so much
more external dependencies for all of it, be it udev, dbus, libnotify,
libcryptsetup, etc.

You know how many dependencies the real sysvinit needs to operate? Libc. A
basic shell and userland. That's it. It's fast, it's small, it's easy to
understand and simpler still to troubleshoot. Systemd, on the other hand,
is fat and heavy out of the box, with its invasive little fingers
everywhere.

Even at that level I wouldn't deny systemd a right to exist, I can see
platforms where it's desireable, like portable embedded devices, etc. But
what happens is that a few distros start implementing it and then, instead
of just implementing them for the logical use-cases, they implement it
everywhere. Ironically, while it's more standardized for them, it really
doesn't decrease their workload because it's a heavier package with more
dependencies that's harder to QA. And then more people adopt it, eventually
it becomes a defacto standard, and regardless of whether it has any benefit
to your use-case your stuck with it because so much of the software you
actually need will be designed with the basic assumption that it's always
available. And disentangling that mess becomes interminable, thankless, and
tedious.

UNIX is supposed to be simple little lego pieces, not a hodge-podge of
extremely complex geometric shapes with a million sharp corners. *That's*
what Windows is, and those corners cut more often than not. You should be
able to take those discrete little pieces and couple them as needed, but not
be forced to take on a large amount of accumulated baggage for the sake of
one application. And that's what systemd is, it's the second or third step
on that slippery slope.

I understand that in "desktop environments" integration is all the rage.
But that level of incestuous intermingling and cobbling is anathema to a
well built server. But with the focus on the desktop, the server is left to
cope with what's foisted on them by popular fiat.

> And individual distros can still choose to use sysv or openrc, correct?

At some point you won't have a choice. Most of distro maintainers will be
faced with a very simple choice: either drink the koolaid or face spending
exponentially increasing amounts of time trying to disentangle those little
blocks from the cancerous mass. And at some point, some version of package
foo will refuse to build without it's systemd binky at all, and we can
either stay down-rev, find an alternative package, or fork. When you
consider the security and maintenance hurdles you'll be faced with, you find
that all of those options are more man-hour costly than checking into Jones
Town and accepting your plastic cup. And another little piece of you dies.

Contrary to Greg's assumption, I'm not anti-change, I'm not
anti-problem-solving. I'm anti-huge-blob. I'm
anti-non-discrete-components. I've seen the alternative, I've seen the
costs of maintaining those kind of systems first-hand, even down to the
desktop. And, no, I want no part of it.

         --Arthur Corliss
           Live Free or Die
---------
To unsubscribe, send email to <aklug-request@aklug.org>
with 'unsubscribe' in the message body.
Received on Thu Mar 31 15:04:05 2011

This archive was generated by hypermail 2.1.8 : Thu Mar 31 2011 - 15:04:05 AKDT