I’m not sure just how old this philosophy really is. Maybe it’s just a coding principle I’ve read too often. Maybe it’s something Plato wrote (in a much more polite form of the phrase, of course). Maybe it’s beaten into me through constant use of Arch Linux. Who really knows? The important thing is to “Keep it simple, stupid!”
What it really means
The KISS principle refers to simplicity in design. Explaining it in the context of Arch Linux, the KISS philosophy is a guiding principle towards how the developers build their OS. For starters, there is no graphical installer. And in recent releases, there isn’t even a text based one. The installation medium boots you up into a command line with all the tools required to install Arch Linux, and it leaves you to do the heavy lifting.
This is where the “simplicity in design” part of the KISS principle shines through. Non-Archers might be flummoxed at me describing this as simple. But bear with me. There’s a page on the Arch Wiki called the “Beginner’s Guide”. It details, step by step, just exactly how one installs the OS. It anticipates challenges, tries to troubleshoot common problems and anticipates most beginners’ questions. In short, it holds your hand through the installation, just like any graphical installer will.
At this point, the astute reader might wonder the purpose of this exercise. After all, if both these ways accomplish the same thing, would it not be better to simply make a graphical installer and be done with it? Well, no. The purpose of the wiki page and the bare-bones install is to teach the user how his/her system works; something no graphical installer can do. If you’ve installed and configured your own system from scratch, you mostly know where all your important configuration files are, what they do and what they’re called.
In other words, the KISS principle mandates that your design should be simple enough for any person to peer into and understand the working to a good extent. Arch Linux does this by exposing the configuration files directly to the user. It hides nothing behind fancy GUI prompts. In fact, as soon as you’re done with the beginner’s guide, you’re going to be left with a blinking prompt on a black background. Configure it as you please.
Simply in order to empower the user. A typical Arch Linux user can follow technical discussions, contribute back to the projects he uses and most importantly, a typical Archer can make informed decisions.
Case in point: Ubuntu uses upstart as its init system. Most Ubuntu users don’t even know what it is. They might not even notice if Canonical decides to change it (for better or for worse).
Arch, on the other hand, used BSD-style initscripts till 2011 before shifting to systemd. There were lively discussions on the forums and IRC between developers and users before this decision was made. The devs had to explain their decision to the users and satisfy them before they went ahead with it.
Another point which should be made here: Archers trust their core developers. The KISS principle has led to a lot of trust being built between the members of the Arch community. Our devs don’t hide anything from us. We have no reason to doubt their motives.
And lastly, the Arch Wiki is one of our crown jewels. The community has built it into a goldmine of information the likes of which few other Linux distros can boast of. It would never have been possible had Arch Linux not encouraged us users to dive into and understand the OS.
The world is not the same as it used to be. It’s more complex, more diverse, has a lot more to offer than it did a hundred years ago. And yet, people insist on treating it the same. Our democracies are opaque, they do things secretly behind our backs. People don’t wish to come out and vote because they feel that it won’t change anything. Complex markets govern what should be simple free trade. Currencies fluctuate for no particular reason, public works get delayed for reasons beyond us, Facebook changes its privacy laws on whim, Google collects data and analyzes it without us understanding how, I could go on and on.
What we need is to know more. And what our governments need to do is to allow us to understand. When democracy was first conceived, the Ancient Greeks knew that without being part of its machinery, they would never be able to understand or take advantage of its depths. That holds just as true today as it did then. Democracy is governance for the people, by the people. For this promise to be realized, the people need to understand its design and philosophy. The processes of democracy should not be veiled, rather, they should be opened to all. The concentration of power in the hands of elected representatives must be lessened and the people must be empowered to have a say in decisions that affect them.
Keep it simple, stupid. After all, if our own representatives do not lie to us and we understand exactly why decisions are being taken the way they are, why would we not trust them?