You can also read The problem with the anti systemd attitude.
This is not just hatred towards systemd, it can do things very well, the direction it is going isn’t great.
Even if it is, the biggest problem is that there isn’t today a big distro that is not using it. Ubuntu, Fedora, OpenSuse, Arch, Debian, are all using systemd. One can say, you can try Void or Artix, Void repos are small, Artix is small (and kind of non-reliable) project. Or go to Gentoo and compile your applications, no ty.
This is by far the most nuanced critique of systemd I’ve ever seen. I don’t fully agree with its conclusions personally, but I think it makes a lot of good and valid points about its architecture and its flaws. It feels like such a breath for fresh air in comparison to the most vocal anti-systemd types who vaguely and angrily gesture at “scope creep” and refuse to elaborate further.
This is by far the most nuanced critique of systemd I’ve ever seen.
It’s the same bullshit everyone has always bitched about.
Loosely yes, but I rarely see anyone expound on it beyond “It’s bloated and therefore bad”. I also rarely see specific criticisms outside of that like
journalctlbeing slow or using a binary format for log files.90% of his argument is just “UnIx PhIlOsOpHy” though. Or arguments (term used loosely) that are based on that. He keeps chanting “But systemd Is MoNoLiThIc” over and over as if that ended the discussion while handwaving away the same argument against Linux or Wayland. But somehow systemd is different. Systemd needs to be crap for some reason.
It turns out that system boot benefits from tightly integrated steps. Filesystem mounting can depend on network availability for example. Logging depends on filesystems to be mounted. The sub-systems are naturally inter-dependent. And service management and execution needs to know about all those things. Some services need networking, some need file systems, etc.
You match the design to the problem. You don’t pretend like the Unix Philosophy is some gold standard that everything must adhere to.
handwaving away the same argument against Linux or Wayland
Honestly, I would be happy if there was a mature implementation that was practical to use and was more modular for these too. I’d argue Wayland is much better than X11 in this respect, since the Wayland protocol is much more minimalistic in its design, so I think a big reason why X was superseded was the need for removing things that had been needlessly integrated in the X server and added technical debt.
If there had been usable and working alternatives that were less monolithic at the time those were launched, and people were actually using them but had to switch due to the pressure of other bigger projects… then I’m sure there would have been criticisms too.
Imagine if someone came and proposed “graphicd”, a service that combines not just compositor & display manager but also management of priviledges (like polkit), GUI toolkit (like a Gtk/Qt replacement), password manager, terminal emulator, filebrowser, web-browser and any program that might benefit from tight integration with the GUI environment. And it used protocols and methods that are entirely incompatible with Gnome, KDE or other more modular desktop environments, but the API/ABI is so big and fast moving that it’s very hard for alternative apps to integrate well with the core of graphicd (the external API on the components is stable, but not the API between the components and the core). Then it started becoming the default everywhere, with some programs adding its specific components (and along with them, the graphicd core) as a dependency.
Filesystem mounting can depend on network availability for example
This is one of my pet peeves with systemd… I’ve multiple times tried to use mount units (the “systemd-native” way) but I often have always ended up just relying on either the older /etc/fstab configuration conventions or layers like gvfs and custom scripts (through the init.d-like rc.local compatibility service…) because when writting systemd units to mount conditionally remote drives that might or might not be available they sometimes (not even reproducibly) led to problems in one way or another (like sometimes slowing down my boot or even my shutdown).
The issue is that systemd is considerably more opaque and complex… so it’s hard to tell whether something is a bug in the software, an intentional behavior / quirk, something specific to particular circumstances/cases or an issue in your configuration.
And I’m not saying all of what systemd did is bad, it has advantages… but acting as if it doesn’t have problems that could be smoothed out with a different approach would not be right either… it’s not like it’s impossible to do what you are stating in a modular way, for a long time before systemd was a thing we had syslog implementations (like rsyslog) that handled structured, secure remote logging across networks without needing a monolithic init system to dictate how logging architecture should work.
If you think OP’s link is nuanced, try this one: https://blog.darknedgy.net/technology/2020/05/02/0/
Linux is the second-most popular descendent of Unix, the first being OSX.
This ruffles my feathers. Disregarding servers where Linux has near monopoly, surely Linux is installed on more devices and has more users than OSX? OP is clearly counting only desktop users
Linux is the second-most popular descendent of Unix, the first being OSX.
Linux is not really a descendant of Unix. It is a Unix clone, but its roots do not trace back to Unix.
OSX comes from FreeBSD, which came from BSD, which had to rewrite everything that they got from UNIX thanks to copyright trolls
Beyond that OSX just happens to be unix-like, apple couldn’t give less of a fuck about it being unix-like
OSX also came from NextStep which came from the original BSD Unix. They used FreeBSD as well. OSX is also certified Unix starting from leopard. This year apple did not renew the certification, so later releases of macOS are not Unix, but Unix-like.
alternative reality where macos is the backbone of servers worldwide eurhghghrugr
At least we would all be able to slow down for awhile
cept for the poor IT departments of the world that have to maintain this shit. “ye hold on the server is being bottleneck’d by liquid glass”
Same here, also all embedded system on linux + smartphone. I guess the author meant desktop usage. Still I am very unsure about the world at large. This is north-American take.
I agree. Linux on desktop is so good for at least five years, if not longer, maybe ten. That I imagine many people using it, can recommend it to others, and so forth. And so in absolute numbers, it would be much more than macOS gets.
I use Bazzite and have a Mac, and I despise every second I have to use MacOS. It is unintuitive and painful in comparison. IMO
I haven’t used macOS since circa 2019, which was Big Sur or something. And it was good, more or so. Perhaps it got worse since then. Specifically the Liquid Ass fiasco, I can believe it’s been a disaster.
But in general, you need to invest into their ecosystem heavily to enjoy them properly. Say, an Apple keyboard, trackpad, display, headphones, iPhone, iPad, etc. The more you invested, the more enjoyable the experience. Also, you need to use it for years (if not decades) to truly get some ‘think different’ things. Otherwise they just feel stupid and unnecessary. (Some things still very stupid to me, yeah.)
I’m heavily invested, however, and I still prefer modern Linux. None of my Apple devices run macOS today, all of them are Arch Linux, Fedora, or even DietPi (an old MacBook used as a server).
In my opinion, Gnome wins as-is. If I’m to suggest a macOS or Linux system to an elder relative, I’d choose Gnome, not macOS. About a decade ago, I’d choose macOS, thinking it’s simpler.
My favourite thing with macOS that I use on all my Linux machines is cmd key for things like copy paste (all my keyboards are from Apple). So useful, especially in a terminal.
It might not be to your liking or follow your philosophical inclination, but systemd doesn’t suck at all.
Every time someone posts about systemd I just paste in the link to the Tragedy of systemd video https://youtu.be/o_AIw9bGogo and move on
Amazing talk, was hoping somebody would’ve linked it and was not disappointed
I’ve seen this talk before, but right at the beginning he links this blog-post which I didn’t read the last time: https://blog.aurynn.com/2015/12/16-contempt-culture
It’s worth linking here because it’s highly relevant to these kinds of discussions, and I like that he starts off his video acknowledging it.
That talk is so good. Great idea.
That’s a fantastic talk. I listen to it about once a year and it still holds up (as in the systemd haters are still mostly salty and uninterested in building a better alternative)
The only somewhat serious build-an-alternative-project I know of is Chimera Linux, see their FAQ: https://chimera-linux.org/docs/faq#what-is-the-projects-take-on-systemd
Apparently, I’ve already “liked” this video, even though I don’t remember it at all… Time for a rewatch!
I’ve seen a lot posts against systemd, most of them citing the unix principle as the main argument. But as a user on a desktop computer I don’t understand why would it be bad. Could someone explain it to me?
The crux of the issue, at least as I understand it, is that traditionally you’d build the system components in a way that they were interchangeable by defining some standard-ish API. While you can interchange some Systemd components, since “ststemd-xyz” is just the umbrella name of the project as a whole, so some components are completely independent, the core ones can’t really easily be swapped, and it’s only getting worse, especially as systemd is starting to become a hard requirement, a lot of people are rightfully feeling peeved. There’s a great talk made by a BSD developer that admits the virtues of Systemd while bringing the downsides, so no blind hate, you can google for the video “The tragedy of systemd”.
The Unix principle is the most over-rated design principle ever. It’s sole purpose is to be dragged out when somebody doesn’t like your application. Notably the systemd haters don’t levy the same complaint about Wayland…
It’s based on the idea of programs as “functions” that can be strung together like you often do with things like “cat /etc/passwd | grep user | tr ‘s/:/,/’” (cat put in there to trigger the right people). That’s a great philosophy for cli utilities. But it’s not universally applicable.
The goal is not to make things tiny but to make them “the right size.” You wouldn’t want to run 30 different applications to do what GIMP does and you shouldn’t have to.
And the idea of having dozens of viable replacements for different functions is not a Unix thing but pretty restricted to the Linux ecosystem. And it’s not like it was planned, it just happened because 12 people went out and wrote their own ntp daemons. There wasn’t really much benefit to it. “Oh boy, I can run a different ntpd… And half of them are partially implemented. Hooray?”
I hate Wayland and Systemd.
You’re allowed to have programs whose job is to coordinate other programs. You could totally have a version of gimo that just runs whatever separate program on the buffer.
You’re allowed to have programs whose job is to coordinate other programs.
Sure - it’s just not always a good idea. Would you want to copy your buffer to a dozen different applications applying filters to an image?
It means that you don’t have to fix the set of capabilities at the time you make the program. This is how plugins work.
And there’s no need to copy, sharing memory between processes is easy.
No no no no - plugins are “tightly coupled” which this blog post claims is not the “UnIx PhIlOsOpHy”. They have to be completely independent applications swappable at will by the end user with different implementations!
Like VSTs?
That’s a great philosophy for cli utilities.
I think this might be the crux of the argument. Wayland is certainly not a cli utility, so there’s no need to argue if or how it impacts that environment.
I’m quite familiar with openRC, so when I was introduced to systemd, it felt quite awkward. I use both, but still prefer openRC, maybe still due to familiarity. If I’m operating in an WM or DE, it doesn’t really matter that much.
It’s been over a decade since I’ve run an ntp daemon. 😉
As a user you probably don’t know, and maybe don’t care.
This is more for developers, technology is not magic, vendor/technology-locking can be problematic. It’s not like systemd was made by bad people with bad intention. You may have heard of X11 too. The list could go on, there is a big amount of legacy in our technology, some would just keep it that way. But some argue for changes thus discussing (and criticizing) those legacy, why it fails on some points and what to do/build from that.
So right now if you’re a desktop user, I don’t see why you would bother indeed. This discussion are still interesting to some devs, for instance here I learned about dinit, and it’s code is damn small and clean, hence it was informative and I will definitely try it.
Application developers are not being forced to integrating with systemd at all. They are choosing to do that because it helps them. The only developers negatively affected by this are the ones developing other init systems that don’t want to provide the same features the application developers want to use.
Yes and no, I said “devs” and you come saying “actually […]” but really people “integrating” software “usually” are developpers. If you want to start a web server you will have to deal with systemd. If you want to check logs, you will also. If you need to debug an application that crashed (in C at least) in a production/test environment (not in “my machine”) you might want to get into core dumps.
They are choosing to do that because it helps them
Really? In what universe are you living? Any piece of software I built, professionally or not, had to run on debian-based or arch-based linux hence systemd. Did I choose or any fellow developers of my time? No, maybe people 20 years ago, maybe… That really reminds me of conservative views on “social contract” like we all chose the society we are living in.
On desktop systemd is only now getting used for user services. I don’t care that much about it either, but am not a sysadmin.
One annoyance is long shutdown because of systemd or maybe thats youre holding it wrong type of problem…
Definitely a “holding it wrong” or “you’re using Fedora” type of problem.
I really like systemd’s user services.
most of them citing the unix principle as the main argument.
It’s like building codes. You don’t always know you need a smoke detector, but we have 6 in this apartment.
People suggesting the Unix philosophy needs to prove itself have issues incorporating anyone else’s experience into their own. It’s okay, but watch for that oppositional disorder.
I haven’t read the whole article yet, but it bothers me how the author mistakenly calls the init (with the process id 1) pid 0, which is special and belongs to a part of the kernel.
I never liked it much because didn’t fit my use case, and didn’t see the need for it, but I use it when I need to and honestly it has a few quicrks I don’t like but like many other tools.
But what are you actually referring to? Which direction?
I am not the author (I am asking him right now if I should tag him). I didn’t know about dinit but this looks like a nice alternative.
I would have been fine with just systemctl/journalctl , I really dislike the locking of homed, network, etc. This is very much unnecessary and remove any future possibility of improvement/innovation.
I didn’t care about coredumps as it is part of my setup to disable the dumps to avoid unnecessary garbage on my SSD while activating for debugging with gdb (it is kind of awesome to load the program state from core dumps, also coredumpctl felt like magic).
Networkd is pretty nice on servers and non-wifi desktops imo
That article contradicts itself a bit, especially about journalctl. I also don’t see how an article from 4 years ago is related to the current direction?
I was also confused for a moment due to the way my Lemmy client shows it, but op has actually linked two articles, one from 2022 and one more recent.
I am pretty sure this is from 30th of July 2026 (and not 2025 as the article says, the blog menu seems correct). Did I miss something about it being 4 years old?
It was the 2nd link, Lemmy showed me that rather than the first.
I made the mistake some years ago and moved all my Gentoo installations from openRC to systemd and now I’m too lazy to switch back and I don’t want to handle the fallout. when I think about doing rsyslog config and logrotate I start to puke a little. also I heavily use timers and I’m afraid if something I use might not have init scripts. service units are much simpler
I read the article and find the title to be clickbait.







