In association with heise online

The art of simplicity

The jazz musician and composer Charlie Mingus once declared that "making the simple complicated is commonplace", but "making the complicated simple, awesomely simple, that's creativity". Reducing complexity refines the possibilities and gives the user greater control. Greater access to the levers of power opens the door to other possibilities. The starting place is not at the point the end user sees, in the form of a graphical user environment or a super-quick graphical installer, but at the point of the lowest level system configuration – where many distributions hide a mass of unnecessary clutter.

Arch is often described as a KISS distribution, where KISS is an acronym for 'Keep It Simple, Stupid'. In this context, the Arch developers sometimes refer to Occam's Razor or to the principle that "entities must not be multiplied beyond necessity".

The philosophy of the Arch user is: "if you try to hide the complexity of the system, you'll end up with a more complex system", and that "layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they NEED no hiding."

Arch is a community distribution without any significant commercial pretensions, and its primary objective is to serve the interests of its own growing community and its own particular philosophy, so it doesn't have to appeal to every user. The community is responsive and friendly, but there is a very definite "self help" philosophy, aided and abetted by comprehensive and helpful documentation that is as useful for experienced users as it is for beginners. Griffin is blunt on this topic: "We can't help you", he says. "Yes this is a philosophical point. Every Arch user is expected to be able to help themselves – to be able to look up information, configuration files, bugs, etc. You're expected to be able to do a little research when you have a problem. Teach a man to fish, and all that."

He has also said: "We're not about hand-holding. If you want to learn something, you better be prepared to learn it for yourself rather than have someone sit down and explain it to you."

Arch is about the art of minimalism; simplicity, in the context of Arch Linux, refers to what lies under the hood. Arch is not about user friendliness, but does consider itself to be user-centric. According to Griffin: "Arch is not primarily concerned about the user. The user is important", he says. "Sure, but most important are simplicity and elegance. The user is important as long as it does not interfere with these doctrines", and simplicity is defined "from a technical standpoint, not a usability standpoint. It is better to be technically elegant with a higher learning curve, than to be easy to use, and technically crap."

"In short, the Arch Way is about simplicity and giving control to the user. Keeping things simple, and agile."

The way to kiss

Like Gentoo, Arch is an operating system for more adventurous users who aren't afraid to get under the hood and get familiar with the internal workings of their system, and want to understand how things work. Both Arch and Gentoo have been influenced by the BSDs, and both have their own package and build management systems which owe something to FreeBSD's ports system.

But there are also considerable differences between Arch and Gentoo. Arch Linux packages come pre-compiled and optimised for i686 and x86-64 architectures. Arch is more approachable for less experienced users, and it is possible to install a fully working version of Arch in a relatively short time.

The result is worth the effort of the guided install process, with the installation guide in front of you and the knowledge that the install is a one-off process. Like Gentoo, Arch is a rolling release, updated and upgraded as you go along. The Arch Linux community has a very definite idea of its identity and philosophy, as defined by The Arch Way, and, as a result, tidily documents the installation process.

At the end of the process the user has an operating system that is leaner and meaner, less weighed down with bloat and flab, and configured to fulfil the user's objectives. Pacman, the Arch package manager, can be run with the --sync option at any time to synchronise a remote installation with the package sets on the master server. This approach re-enforces the Arch imperative that "relying on complex tools to manage and build your system is going to hurt the end users", and that "maintenance and upgrading should be an active process, not a passive one."

Next: Keeping it simple

Print Version | Permalink:
  • Twitter
  • Facebook
  • submit to slashdot
  • StumbleUpon
  • submit to reddit

  • July's Community Calendar

The H Open

The H Security

The H Developer

The H Internet Toolkit