Opinions about Arch are usually categorical, people either love it or completely avoid it and questions like “Shoud I use Arch ?” or “Why would anyone use Arch Linux ?” are often asked (like on this recent reddit post for instance), usually resulting in controversial discussions and big miss-conceptions.
Well… I’ve been using Arch Linux, mostly exclusively, for a few years now (at least on my personal computers, my personal servers and my workstation) and, as an Arch Lover myself, I surely can’t tell you why would anyone use Arch Linux but I can tell you why I’m using it ! 🙂
One of the foundations of Arch Linux is to be simple.
We’re not talking about « ease of use » here but more about simplicity by design in its structure, according to the KISS principle.
Indeed, Arch Linux doesn’t come with anything pre-installed and it only needs a few packages to run.
It is then up to you to install the packages you need, without having to deal with extra stuff pre-installed by your distribution. Arch Linux also offers a “Vanilla” experience, meaning that it ships software as released by the original developers with minimal distribution-specific changes (as stated is the Arch Linux Principles).
Why does it matter you would say ? Every extra stuff pre-installed or added by your distribution has to be maintained at some point, even tho you probably have no use for them. They’ll have to be updated, as well as their potential dependencies, etc… Mathematically, the more packages you have installed on your machine, the more packages will need to be maintained; so (indirectly) the more sources of potential problems you get, even for packages you most likely don’t need at all.
I understand that some distributions choose to pre-install software suits and several additional packages, so they can cover pretty much every “classic” user needs out of the box. But I tend to think that simplicity is maintainability’s best friend.
Also, simple systems have a lower footprint, meaning that they are more resource efficient.
As you may know, Arch Linux doesn’t come with a graphical installer like most of other distributions do. The installation method is manual.
While some people see this as a cons, it is a big strength in my opinion.
Indeed, as I said earlier, Arch doesn’t come with anything pre-installed, you have to “build” your system yourself. This “Do it yourself” approach can be a bit intimidating at first but it is actually a fantastic way to learn how linux systems (and computers in general) work.
This also makes the system fully customizable. As stated in the previous part of this article, it is up to you to choose and install every packages you want/need. This also includes the desktop environment (if you need one). You don’t have to stick with the desktop environment that comes pre-installed (and potentially pre-configured with extra stuff) like on most other distributions. You’re free to install and use the one you wish with a “Vanilla” experience that will let you configure it just the way you want.
If you want to go deeper into simplicity, DIY approach and customization, feel free to install a standalone window manager of your choice instead ! To sump up briefly, a standalone window manager will only provide a graphical user interface that is able to spawn windows (and sometimes a few additional things such as a launch bar for instance). It is then up to you to configure it the way you want (usually by editing text configuration files) and to install and integrates other pieces of software with it to add additional features you might need (such as a system tray, a dock, an app menu, a notification server, etc…). You basically create your own desktop environment.
To give you a little example, I personally use IceWM which only provides a graphical user interface capable of spawning windows and a simple task bar.
This is how it look freshly installed (with its nice default wallpaper :p) :
And this is how it looks after I configured it the way I want :
While this “DIY” approach might be time consuming at first, the endless possibilities it gives in terms of customization, the amount of learning it involves and the huge satisfaction it brings certainly worth it !
Arch Linux uses a rolling release update model, meaning that updates are continuously delivered as the original developers release them (after being initially tested); as opposed to a standard/point release update model which delivers major updates through new OS version (as Ubuntu does, among others).
A rolling release update model mainly brings two benefits :
- It brings you latest software (nearly) as soon as they’re originally released, so your system is always up to date (sometimes even bleeding-edge, like Arch Linux tends to be).
- The fact that there’s no OS version. Updating your packages is enough to be fully up to date.
A rolling release update model has inevitably a cost in term of stability of packages’ version changes which might not be adapted to some specific contexts (such has professional contexts that depends on specific versions of some packages or that can’t easily deal with numerous changes of packages’ versions in a short period of time).
While I don’t specifically need the absolute bleeding-edge packages, I like my system to always be fairly up to date. Also, not having to completely reinstall my system every 6 month or so to stay up to date (like you have to do with Ubuntu for instance) is a big plus for me !
Pacman is the package manager of Arch Linux and it is fantastic !
It might not be as user friendly as other package managers such as apt or dnf but it is extremely reliable and incredibly fast compared to others (even more with parallel downloads enabled).
Furthermore, the huge amount of options that can be used makes it really flexible.
I won’t go into technical details but pacman’s reliability, great management of dependencies, flexibility and speed are definitely good points in favour of Arch Linux.
Arch Linux is a community driven distribution (such as Debian for instance).
I highly prefer community driven distributions compared to distributions led by companies, for various reasons (that I may list in a future post, perhaps).
But there’s something special about the way the community of users plays a centric role with Arch Linux.
Contributing to Arch is very accessible and encouraged ! For instance, people often rate the Arch Wiki as one of the best documentation internet has to offer about Linux, and it couldn’t be rated as such without the numerous people that contributed to it. The Arch Forum and Arch IRC channels are also great ways to get support or answers to your questions and they’re both mainly led by the community as well.
Arch even has a package repository dedicated to its users, the “AUR” (Arch User Repository), on which anyone can create and maintain packages in order to allow users to compiled them easily, directly from this repository. Its aims to organize and share new packages from the community and to help expedite popular packages’ inclusion into the community repository (which is part of the official repositories).
I myself contribute to Arch Linux through different forms :
- I contribute to some Arch wiki pages by adding, correcting or questioning some information.
- I’m talking and answering/asking questions on the Arch forum and the Arch IRC Channels from time to time.
- I’m a member of the Arch Testing Team, which is in charge of making sure that packages submitted to the testing repositories are functional before they’re moved to the “regular” repositories.
- I submit and maintain a few packages on the AUR (Arch User Repository).
- I make donations from time to time.
All of this only requires moderate to no technical skills at all, and just a bit of time here and there.
There’s a lot of ways to contribute to Arch (see https://wiki.archlinux.org/title/Getting_involved) and anyone can apply the vast majority of them without (big) technical prerequisites nor the need to already be an Arch contributor or being part of the Arch staff whatsoever; and it does not require a lot of time for the most part. Moreover, I can safely say that any contribution is helping, probably a lot more that you might think, no matter what type or at which rate it is.
Contributing to such projects where the community plays a crucial role is truly enjoyable, even at a “low” level. It really makes you feel like you’re a part of it, which it is very pleasant and motivating !
As said in the introduction (and as demonstrated through this article), Arch is a special Linux distribution with manual installation method, DIY approach, rolling release update model and all that stuff. It might be time consuming at first and it may not suits all kind of users or contexts.
Indeed, as stated in the “User centrality” Arch principle :
“Whereas many GNU/Linux distributions attempt to be more user-friendly, Arch Linux has always been, and shall always remain user-centric. The distribution is intended to fill the needs of those contributing to it, rather than trying to appeal to as many users as possible. It is targeted at the proficient GNU/Linux user, or anyone with a do-it-yourself attitude who is willing to read the documentation, and solve their own problems. […]”
Actually, the above statement combined to the few reasons why you might not want to run Arch Linux that are listed here should be enough to determine if you’re the kind of user targeted by Arch or not.
As for the reasons why you might want to run Arch Linux, I gave you the main ones (at least to me) in this post. There’s probably a lot more, every user has its own reasons.
But the one we all agree with, when answering the question “Why would I want to use Arch ?”, is simply because Arch is the best ! 😉