SCIENTIFIC-LINUX-USERS Archives

January 2021

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
"~Stack~" <[log in to unmask]>
Reply To:
~Stack~
Date:
Sat, 23 Jan 2021 18:41:39 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (149 lines)
On 1/22/21 8:20 PM, Yasha Karant wrote:
> I had not heard the history of SystemD in any detail.  What, if any, 
> were the software engineering and design justifications for SystemD?

TL;DR synopsis. It's just a tool. A tool that solves a very common and 
VERY painful problem for people who build Linux based OS's. And those 
developers made the decision. Not the users who, honestly, most of the 
time don't have a clue about the pain the developers face. It isn't 
perfect, and it causes problems sometimes in the user space. But it 
isn't a tool for the users.


I was incredibly active in the Debian community for a number of years 
leading up to the SystemD fiasco. You can still find my posts going back 
as far as 2002 on the Debian mailing list. The vast majority of my posts 
are still publicly accessible (so if you really doubt what I say below, 
you can go find my emails on the Debian archives). :-)

Most of my issues regarding SystemD are political, not technical. Though 
I've had a number of technical problems over the years and I've filed 
bug reports to get most of them fixed - technical is usually the easiest 
to fix.

One thing people tend to overlook in these conversations is that systemd 
was clearly not meant to help SysAdmins - the fact that does is a by 
product. The point was to help system builders and integrators. EG: the 
people building the distro that others use; the ones who try to make all 
of the sub-services play nice with each other so that the end user can 
just click around on a mouse.

You can think of SystemD as the the low level communication of services 
that not a whole lot of people (developers nor users) want to do but 
everyone who uses a desktop or server depends on to work- it's at the 
integrator level where SystemD starts to shine. It helps a lot of the 
underpinning communications where most users don't ever dare to tread. 
Those dark tunnels where experienced SysAdmins have their eyes gloss 
over at the dread they encountered upon their last traversal.
Those places.

By the time you get up to the level where SysAdmins work or even higher 
where the users work, most of the time SystemD is just a tool to use. 
How you use it and how much you invest in learning it is up to you. But 
if you are using a spanner as a hammer because you don't want to learn 
how to use a hammer, well...good luck, but you are going to have problems.

"So it's just another tool for services to communicate?"
Essentially, yes.

"Why all the hate?"
Two reasons:

1) Technical:
Because getting all the services to talk to one another is incredibly 
difficult. Speaking as someone who used to do a bunch of dbus level 
programming to get services to talk to each other, the old InitV methods 
sucked. It was painful. And every time there was a new service that did 
things differently, it made my work harder. I particularly recall in 
~2008 tracing out an issue with a kernel notification to a network card 
that caused Pidgin to flip out and spam the dbus to the point of 
crashing other completely unrelated services because of a custom 
plugin...gah...I was down reading hex code off the kernel processes to 
figure that out...and it still gives me 
wake-up-screaming-nightmares...But all the users knew was that their 
music player would cause a kernel panic - they had no idea it was even a 
plugin on Pidgin that was doing it because why would Pidgin (a chat 
program ) care if a music file was played? And what did that have to do 
with crashing the kernel?

THAT'S the low level communication I'm talking about here. The stuff so 
far behind the scenes that the users don't even know nor care it happens.

This is simplifying it quite a bit, but if you think about SystemD as a 
single API every program can use to communicate you get the gist of it. 
But that API is MONSTER and its growing. So some of us old-school *nix 
guys who have a hard time breaking the mentality of "One simple program 
to do one simple task" struggle with something like SystemD.

The analogy I used is that for me trying to get these services to talk 
to each other before was like herding cats. They don't want to listen, 
they want to do their own thing, and by the end of the day I'm tired, 
cut, and bloody. However, the alternative is the Marshmallow man from 
Ghostbusters - one incredibly large and growing gooie monster...

MANY MANY developers who work on the underpinnings that I know prefer to 
fight the one monster they can sort-of-deal-with vs herding cats.

2) Political:
The fiasco was handled badly. Distro developers made the choice, not the 
users. Distro developers failed regularly to explain why they made the 
choice and often either attempted some detailed technical drivel the 
users didn't understand or told them to "shut up or leave".

The reason why I left the Debian community was because of the vitriol 
aimed at those of us caught in the middle. Then when it started to get 
crazy, they got ban-hammer-happy. I got banned multiple times from the 
Debian forums (then reinstated every time because they knew me as 
someone who helped out) because I pointed out legitimate bugs. But those 
of us pointing out bugs were lost in the sea of outrage so the SystemD 
guys wouldn't even listen to valid criticism and errors. The systemd 
group itself even went into full lock-down because of the backlash so 
you couldn't submit a bug to them at all.

Then I got "banned" TWICE because someone complained of a legit systemd 
problem, and I responded with the answer to fix their problem. Why was I 
banned for helping? Because, no joke, at that point they just started 
auto-banning based on key words.

The first time, one of the devs personally reached out and apologized 
because he saw that I was trying to help. The second time, I was just 
done. I was sick and tired of the arrogance of the SystemD people and I 
was sick of the rage from the users. I backed out of contributing 
anything at all to the community for over a year. I still haven't had 
the strength to install pure Debian again...I still get sad and angry.

Even reading through the replys others have posted, you can see the pain 
and misery caused to others. And most of that is because of politics, 
not technical misery. Sure, there is probably that one time that really 
irks them. Just like I still remember that time my car sprung a oil leak 
which abandoned me in the middle of nowhere over night and I get ANGRY 
at that car even though I had 5 years of great reliability from that car 
before the incident and another 7 after. I'm not faulting nor 
diminishing that bad experience, rather reminding that we often remember 
the worst and best while forgetting the every day mundane when SystemD 
just did as it needed to and we didn't care that it was doing its thing.



These days, SystemD is just something that is there. It works well 
enough for most people that they don't know nor care that it is there. 
Even SysAdmins who get low into the internals like me just see it as 
another tool. Sure, there are those who have decided that's their hill 
to die on - more power to them. I do not want to criticize or speak ill 
of their choices. I'm glad that they have a choice. But before I engage 
with much more than what I've stated above, I want legit technical 
concerns to talk about. Because honestly, right now the number of 
systems I manage is in the hundreds and when I come across a system that 
DOESN'T have the SystemD tools, it's often more frustrating to me then 
all of the issues I have with SystemD combined today. I don't mind 
talking about legit technical problems.

As for talking politics? Well, I threw in the political towel with 
SystemD years ago. I've had enough biased politics the last few years 
shouted at me by the media. I sure as hell don't care to engage in 
SystemD politics any more. :-D

I hope that helps.

~Stack~

ATOM RSS1 RSS2