This page is a static mirror of an older article found on Sporkbox. Its content no longer fits in with the current direction of Sporkbox, but is kept here for link integrity. Please bookmark this new URL if you wish to link to this content.

Goodbye, Arch Linux

In a recent update, it was made apparent to me that systemd includes udev, and dbus requires systemd (on Arch) in order to function. Since I was unable to excise systemd from my Arch Linux installation, I have left the distribution after 5 years and am currently seeking a new home for my free software computing.

Think I'm spreading FUD? Check out the details for the systemd package:

Arch Linux package page for systemd

As I predicted, the switch to systemd has effectively been forced. Take a good look at the list of packages that require systemd thanks to the project's takeover of udev. In order to successfully remove systemd from an Arch Linux installation, you have to rebuild separate udev, then rebuild every package in the "Required By" list to depend on the now re-separated packages. Despite the vehement repetition from developers and users that "systemd is not being forced on users", it's very clear that the Arch team has communicated that Arch will be systemd powered and does not care if its own users like it.

Before this big push to systemd, developers had began to introduce some of systemd's lower level functions to the old initscripts, which shows us (now) that this was their plan all along. In effect, the users are the frogs in the pot that have been boiled. This was masked as a "not so important update", which required systemd-tools, which did not include systemd, yet was still tied to it and "wasn't a concern". This is akin to having a GNOME or KDE lib installed and not actually using a GNOME or KDE app. The implications of this are obvious to anyone who likes to keep a system clean of things that aren't required.

Long story short, this move was planned and devs were not transparent about their long term plans. They have been unprofessional and dishonest. Even today, they insist that initscripts is not being replaced and users aren't being forced over to systemd. Talk is cheap, however. systemd provides udev, and itself. So even if one is to keep initscripts or move to upstart, openrc, or runit, they still have to have systemd taking up space on their system, unused.

This is an attack against UNIX philosophy by Lennart Poettering and people who agree to package systemd with these add-ons that should be separate. User choice is one of the biggest reasons to use GNU/Linux, and Lennart's efforts to "unify" and "homogenize init" are little more than a hostile takeover of GNU/Linux. One mailing list thread (and another) contains proof of Lennart's intent:

With systemd we have a very strict policy: we want to gently push the distros to standardize on the same components for the base system. That means that if you use ply and systemd together you get the best features but you can still use them independently too. It's loosely coupled, but we do want to get people to use this combination and no other by offering them the best support for this combination.

(emphasis mine)

If that's not proof of what he wants to do, I don't know what is. Lennart uses the false pretense of "standardization" in order to get his claws into all the major distributions. And for what? So everyone's using his software. An ego trip. Why else would he push it so much? Perhaps there is a hidden security vulnerability that has yet to be uncovered. It seems fishy to me for a developer to be pushing for standardization, but then say "Use my software, it's the best". The software itself isn't necessarily bad. It's the "batteries included" aspect and its insistence on making several packages dependent upon it that I take issue with. Choice is always good. Always. systemd is a choice, so I welcome that. But systemd, in its current form on Arch Linux, discourages user choice. If other distributions also blend systemd with udev, then they too are discouraging user choice and should be considered a threat to user freedom.

Arch Linux developers have told users to either fork systemd and separate it yourself (and rebuild all those packages, like Arch Linux user "gemma" had tried and was ejected from the community1), or leave the distribution. This is effectively a "like it or leave it" argument. The concept of user choice does not enter their minds, regardless of what they say. They repeatedly say they haven't forced systemd, and yet a good number of packages (that are unrelated to systemd itself) have been built to depend on it!

Actions speak louder than words, Arch devs. You say one thing and do another. So I have left Arch after 5 years and will not suggest Arch to anyone until you are done playing with systemd as the backbone of Arch. Arch Linux may not be a democracy, but it most certainly is a popularity contest. Without a steady flow of users, the distro will lose contributors and user interest (and thus bug reports) over time. Continue to treat concerned or angry users this way and your distro will no longer be respected. Merit is both technical and social. Your social merit is faltering. One must wonder what Judd would have done in this situation. I doubt he'd have forced an unproven, bloated init system on thousands of users.

Are you done yet? Where are you going?

Yes, I'm done ranting. I still haven't decided where I'll go. I've been distro-hopping for the past few days. In that time I've tried:

  • Dragora: Didn't boot
  • Linux Mint: The Live environment wouldn't load
  • Lubuntu: See Linux Mint
  • Sabayon: It booted, but combined / and /home into an LVM volume group and prevented me from reversing this, forcing me to lose my music, TV shows, and other downloaded media. It also didn't contain as much helpful documentation as Gentoo
  • Slackware: Not bad... but was a little funny in architecture (read permissions issues on a dir that was owned by me and had 755 permission bits). I may mess around with it more in the future. At least it booted!
  • Gentoo: Extremely powerful and interesting. The 2 attempts I gave it I ruined with misusing emerge. Now that I've read over the handbook, I have a better grasp of emerge and will be installing it next week. Gentoo seems to respect user choice more than any other distro.

I also have a burned disc of FreeBSD, which has a ports system that's similar to Gentoo's portage. I'll test that tonight.

So at the moment, it's down to Gentoo, Slackware, and FreeBSD.

2012-09-15 Update

I have moved to Gentoo GNU/Linux for my free-software computing. Its default init system is OpenRC and its package management system (portage) is incredibly flexible and powerful. It has a higher learning curve than pacman, but it's much more configurable and respects the user's rights to control the system. The udev package that Gentoo's portage tree has is simply separated from systemd with a few units left in in case the user wants to use systemd. I think this is a fair way to go about things. If I decide that too much systemd crap is being thrown into udev, there's a udev overlay available based on the braindead fork, which should fulfill my needs just as well.

Gotta love choice. :)

2013-01-03 Update

The initial publishing of this post indicated that dbus was a part of systemd. I misinterpreted this. I have removed references in the post that suggest systemd took over dbus, since that's not the case. The remaining criticisms still stand.

Upon inspection of the current systemd "Required-By" listing, it appears to be required by more and more packages in an Arch installation. This is likely due to my predicted forcing of systemd and deprecation of initscripts. Arch developers now currently state, "Since it's clear not many people use initscripts and there isn't enough demand to maintain, it will be falling into disuse." Of course that's going to happen! What else would one expect if they were in a position of influence and their (ignorant) followers simply go along with their decisions? Is that not what trust is about? It's clear that whatever is going on at Arch Linux is not being done in a mindful or professional manner. There is a marked absence of the Arch Linux lead developer Aaron Griffin, as well. I'll leave interpretation of that to you, the reader.

2013-01-07 Update

I have removed the unnecessary formatting that was present on some of the package names. Displaying things like this is only really necessary when referring to command-line commands or specific package names in smaller context. My apologies for the prior formatting. In retrospect it was distracting and gaudy. The article should now be more friendly to your eyes. :)

  1. gemma had began an effort to separate systemd and udev in Arch Linux using ABS. Each step of the way, various users and even Arch Linux developers ridiculed him and tried to stop him. The topic that was previously linked to in this article is no longer valid and attempts to find it were unfruitful. One must wonder why such discussions are quick to be censored or removed as soon as attention is given to them. He later moved to the Arch Bang forums, which welcomes systemd-free project ideas.