03 September 2007

Linux as Desktop OS

I suspect one of the biggest problems with Linux for personal computing* is that *nix operating systems were never designed for this application. *nixes have their roots in large-scale Systems managed by officially sanctioned System Administrators. This has produced a *nix way of doing things, at heart of which is “Thou Shall Let Only Thy SysAdmin Manage Thy Resources.” And just to the right of that is, “Text, man… it’s all in the text.” The *nix way of configuring things is through text files. Lots and lots of text files, in lots and lots of different places, many of them controlled by the God SysAdmin.

*nix’s infatuation with texfiles is both good and bad. It’s good because it’s easy to open/edit/fix/replace plain text files. You don’t need a special configuration editor or “regedit”-like program to maintain your system. It's bad because hacking text is usually not the most intuitive way to configure something and it makes it easy to introduce syntax errors. It's even more bad because if you wanna change something, you need to start looking for the right text file to tweak, and then hope to God you don’t need to be God to change it or that you can convince the master gatekeepers that God sent you. This is the spirit of *nix.

I wonder if the *nix take on system management was a major reason that Apple decided to forego the X Window System in OS X (ironic, really, given the name) and write their own window system. By writing their own window system, maybe Apple was able to bypass a lot of the user and developer *nix inconveniences while still retaining a BSD core. Or not.

In any case, the *nix way of doing things (including the X Windows System) doesn’t mean that Linux can’t form the core of a consumer-oriented PC operating system. Canonical’s Ubuntu proves this. Ubuntu does a very good job of wrapping the *nix way of doing things in user-friendly, user-managed interfaces. But in spite of these wrappers, you can still sense residue in the form of a bit of klunkiness and hoop-jumping-ness. Given the amount of work Canonical have put into their effort, I think it’s fair to expect that any other approach, and especially a home-brewed one, will be much more klunky. So if you are planning to install a conventional Linux system (as am I), don’t expect as smooth sailing as provided by Windows or OS X or even Ubuntu. Be prepared to jump through hoops on a semi-regular basis and try to learn and even love the process. Once you get a feel for how *nix works, it’s not nearly as sucky as it seems at the start.

*By this I mean a desktop or laptop computer used by at most a family-size group of people, networked to at most a family-sized network, and administered by one or more of the users themselves.

No comments: