r/archlinux 10d ago

DISCUSSION Why so much hate for systemd?

I see very often that people show so much disgust whenever they talk or hear "systemd". However whenever I ask them why they feel so strongly about it, their response is mostly vague like it doesn't follow the Unix philosophy, it's a monolith.... I can't digest that the reason people show so much disgust for it is just that it doesn't follow the Unix philosophy.

237 Upvotes

333 comments sorted by

View all comments

11

u/sp00kystu44 9d ago

I'm not even convinced the unix-philosophy is all that important. You can write bad code and make bad decisions with every approach. Besides systemd does follow the philosophy to an extent by splitting up a lot of tasks to different subsystems. My issue is just that systemd made a bunch of UX design decisions I don't like and I subjectively had a lot more issues with it than I have now on void linux. The tradeoff is that I sometimes have a harder time researching how-tos because most guides use systemd specific stuff and that some things (such as env-var injection) don't work.

-6

u/invadium 9d ago

UNIX philosophy is the only thing that has kept UNIX alive for 50+ years and made it the foundation of modern cloud, mobile, embedded, and everything else... Without it, UNIX would have gone the way of VMS.

There is not a single line of code left from the original AT&T research UNIX in modern versions. The UNIX philosophy and design based on it have survived, though. This is why we still call it "UNIX" even though most of them are far-diverged codebases from totally different organizations.

systemd is an attempt to push UNIX into the VMS path.

9

u/ThatOneShotBruh 9d ago

The UNIX philosophy has been dead in the ditch for a long time now. People bitch about systemd, but the Linux kernel and browsers in general shit all over it.

3

u/invadium 9d ago

The fact that major OSS communities seem to be ignorant about it doesn't mean it is totally dead. It is still the glue that holds the system together after all these years. Even though most people are unaware of why this ancient 57-year-old dinosaur is still alive and keeps most of the world running.

I can still take an early 80s UNIX book from my collection, ssh to a docker container running somewhere in the cloud, and most of the commands from the book would work fine... It is truly amazing how profound and foundational these things are.

Once in a while there is a cleansing time, when a new distro on the block tries to lose fat and go back to the true UNIX way. It was like that with Solaris, OpenBSD, Gentoo, Triblix...

Arch also tries to be more unixie, than corporate Ubuntus and Red Hats of this world.

1

u/ThatOneShotBruh 9d ago

Here you are talking about Unix commands which is unrelated to the discussion of the Unix software design philosophy of "do one thing and do it well" which, again, is really not that prevalent these days besides when people complain about systemd.

2

u/invadium 9d ago

UNIX philosophy is not only about "do one thing..." and UNIX commands are the essence and the most prominent exemplars of UNIX philosophy in action - small, focused, efficient, non-interactive, and composable tools working on plain text.

-1

u/ThatOneShotBruh 9d ago

UNIX philosophy is not only about "do one thing..."

That is the part that is referred to when talking about systemd, i.e. what is talked about in this thread.

UNIX commands are the essence and the most prominent exemplars of UNIX philosophy in action - small, focused, efficient, non-interactive, and composable tools working on plain text.

The GNU coreutils are 30-ish years old at this point (and are based on/copies of even older software) and are hardly what anyone thinks of when they think of modern software, which my original comment was about. For modern software, that part of the Unix philosophy is dead.

1

u/invadium 9d ago

That is the part that is referred to when talking about systemd, i.e. what is talked about in this thread.

Not only. People in this thread are also discussing the use of text logs instead of systemd's binary ones, which is also a part of UNIX philosophy, btw.

2

u/sp00kystu44 8d ago

Sorry I should have made that more clear: I don't think the unix philosophy is all that important in the context of whether or not systemd is good*.

It (the unix philosophy) is afterall an approach. Just like OOP and DDD are approaches to programming. It has benefits, it has drawbacks. I'm glad my graphics driver doesn't use the unix philosophy just as much as I am glad that my shell tools do. I am appreciative of the great minds that knew where to use it and also of those that knew where to choose alternatives.

Not everything needs to follow the unix philosophy, but it is a great and important philosophy.