I was thinking if I should write this post for a long time. I feel bad when critiquing others (but I still often do it). But this is my own little space and I want to share opinion on systemd, for journaling purposes.
I don’t like systemd, don’t like systemd fanboys and don’t like system haters either.
I don’t like systemd fanboys.
I feel like I’m allowed to don’t like any software, except systemd.
I might prefer Firefox over Chrome/Chromium and nobody bats an eye. I can use Kakoune instead of Emacs, vim, neovim or Visual Studio Code, and again, everybody seems OK with it. But when I’m saying I don’t like systemd and prefer alternatives, I’m suddenly dangerous, crazy, tinfoil-hatted conspiracy theories lover.
I don’t like radical and vocal systemd haters either.
Distributions are provided on as-if basis. You might *ask* if maintainers are interested in supporting alternative init systems, you might provide your opinion when asked, but acting as entitled asshole to people volunteering their time, often thanklessly, to provide other people free operating system is something I abhor.
When maintainers are not interested in supporting alternative init systems, which is actually a pretty sensible choice to make as avoiding systemd is an uphill battle so overworked maintainers often just throws a towel and follow mainstream.
In such case fork is way to go and this important part of open source. It is basically the whole point, isn’t it? When you don’t like something in software you are free to change it and moreover, you can share your modifications with others. So in my humble opinion forking is crucial part of open source culture and shouldn’t be seen as something bad. So I’m happy that Devuan, Artix Linux and other systemd-less forks exists!
So, after some digressions, let’s dive into main topic.
I don’t like how big and complicated the codebase is. This is widespread problem of modern software ecosystem. In my opinion many layers of abstractions over abstractions make software overcomplicated, bloated and unmaintainable. Many software projects are today kind of Ruby Goldberg machines.
But I’m not completely in suckless camp as ultimate goal of any software should be to serve its user. So the user experience is important and shouldn’t be sacrificed to make codebase smaller. But overfitting is problem, though. There are people with various disabilities which need special accessibility features, there are people who are not comfortable using English so they need localization to use their computers, there are less technical people or very technical but lazy people, which want to just press a button to do the job. So in my opinion correctly managing the scope of project and carefully weighting if it’s good idea to add new feature or dependency, is the way to go, instead simply trimming all of the perceived bloat for the sake of making codebase smaller.
I don’t like how it swallows other projects and makes avoiding systemd harder and harder. But there is sufficient interest in systemd-less distros so there are forks of swallowed projects (eudev) and parts of systemd on which other software often depends (elogind). I’ve also read some weird stories about software maintainers being manipulated into using systemd as dependency, but take this with the grain of salt as I’ve just skimmed through threads and not verified it trustfully.
I don’t like how it makes many distributions and other projects depend on one corporation’s whims. The important reason of why I’m still using free and open source software is to escape from corporate grasp, but even here is no safe space free of this dubious pleasure. I have not made any statistical analysis of free and open source enthusiasts but I feel that this is pretty popular stance here.
I think that ecosystem fragmentation is a feature not a bug. Monocultures are very prolific targets for bad actors. Systemd is such a big target that any vulnerability in systemd’s codebase will affect *almost all* distributions so I would be very surprised in any bigger bad hacker’s groups and national surveillance agencies don’t already have their own groups of systemd experts checking its codebase line by line looking for any potential vulnerability. The same problem exist in agriculture. In monocultures any disease and pest outbreaks have very serious and far reaching consequences.
The post above is in most part just my personal opinion, I’m not making any claim about any information presented being objective truth.
If you use and like systemd, I’m cool with it. I want to have choice to use my computer like I see fit, and I want you to have the same choice, this includes using and liking systemd.
This is only a mirror of my Gemini capsule available here: