Linux: A Love Story
This month Ubuntu will release version 10.04 (Ubuntu versions are released on a 6 month cycle; version numbers are [year].[month]), Lucid Lynx (they're also alliteratively named after animals). (A name which is at least somewhat unfortunate for confusing the namespace of the text-based web-browswer Lynx [just fyi, you can use Lynx with twitter if you use the mobile version; very cool]). For most folks this is not a huge deal. But as a Linux user who relies on Ubuntu for nearly everything, it's a happy day indeed (I also use CrunchBang [an ubuntu variant] on my eee and straight Debian on a beatup old Pentium III for various things).
To celebrate, or commemorate, or at least recognize this, I thought I'd write up a quick(ish) account of my own conversion to linux— the tale of how a somewhat geeky humanities grad student fares relying exclusively on linux. I know from twitter that I am certainly not the only person with a humanities background who runs Linux. And some of you other folks are probably much savvier Linux users than I am. Having run nothing but Linux for more than three years now, however, I think I can offer an honest assessment of it as desktop experience. Despite what the image above (created with five minutes of work in GIMP) may suggest, I don't have a Pauline zeal for converting non-Linux folks. If anything, over three years, I've grown more pragmatic in my attitude towards operating systems. I use Flash (rather than Gnash), I listen to mp3s (rather than oggs)—I have chosen, in short, pragmatism and usability over virtue. What follows is an honest assessment of my experience from the perspective of such pragmatism—not an argument in favor of the virtues of free software (which I trust you can find better articulated elsewhere), nor an entry into the debate between "free" and "open-source," nor the larger debate between proprietary (read: Apple) and other models. I've run Linux exclusively for three years. I love it—despite some of the blemishes which remain from an end-user perspective. Let try to explain why.
Linux is gaining no small amount of attention because of Google's Android OS and Chrome OS, both of which are based on Linux. (And plenty of other stuff runs Linux, from devices like the Roku Box to D-Link's Boxee Box to many more). My own love affair with Linux though started when we were both a little younger. And it began with rather disasterous results. It must have been the mid-1990s, and I had received the massive Linux Bible as a holiday gift. I read about installing LILO as a boot-loader, and with that little bit of knowledge I set about trying to install Yggradsil Linux on the family computer. I was entirely too successful. After an hour of work the family computer would boot Linux... and nothing else.
For the sake of the other computer users with whom I then shared a home, I took some time off then from Linux. After high school I was briefly (for exactly 2 quarters) a computer science major at Worcester Polytech. The computer I brought with me to my dorm was a trash-picked 486. Over the course of that year I tinkered and learned enough to finally get X-Windows running on it. That's it; plenty of tinkering and reading about xorg.conf, and I never even had internet access on the thing (which, at the time, was a separate cost from the dorm room itself anyway.)
After that I let Linux fall by the wayside. But a little more than 3 years ago my desktop stopped booting after a motherboard failure (an exploded capacitor). I managed to fix my desktop computer (new motherboard; I wish I were cool enough to repair the motherboard by simply replacing the popped cap) only to realize that I had long-ago lost my Windows XP disk and the new motherboard and installed OS were not playing nicely together. So, I figured, why not try Linux again, if only until I could dig up an XP disk? A quick download of Ubuntu later, and I was booting a live CD. That popped capacitor may very well have been my road to Damascus experience. The installation was easy, nearly everything just worked ("nearly everything"; I was using a PCI WiFi card with, what I would learn was, a Broadcom chipset; that was a bit of a hassle...). The computer was soon running better than it ever had, and for a while I talked about the virtues of Linux with everyone I bumped into. I even got into the unfortunate habit of digging up obscure old hardware just for the fun of installing Linux on it.
That early enthusiasm has waned and been tempered by some of the drawbacks I'll mention below. But Linux's virtues are many.
- Linux is Fun—If you feel like spending time customizing your desktop, Linux offers more options than either Windows or OSX; by separating one's GUI from the OS itself, there are a plethora of options: the standard desktop environments, Gnome and KDE; lighter weight alternatives like Xfce, Fluxbox, and Openbox; or truly minimalistic options like Rat Poison. More generally, if you are at all geeky, it is fun to run Linux. The amount of under-the-hood stuff that is available to tinker with makes Linux a real hobbyist OS. When something doesn't work, you can always find a reason (if not a solution; e.g. I am running 32-bit Ubuntu on a 64-bit Athlon chip, for instance, and right now at least I can't run Adobe Air Apps—like Tweetdeck—b/c of some obscure problem).
- Linux is Free (as in Beer)—Um, there isn't too much to this one. As end-user, download and go. $0.
- Linux is Free (as in Speech)—This is probably the best reason to run Linux. The precise politics of OSS strike me as rather ambiguous—an odd mixture of ideologies that can alternately sound libertarian or socialist. Of course, Linux is a big tent and I think it is impossible to ascribe any coherent "politics" to an operating system. The tension is perhaps well captured in the figures of Richard Stallman (who advocates open source software on grounds I don't think it excessive to describe as deontological, and with a zeal that approaches the religiousness that I have taken as my playful conceit here) and Eric S. Raymond whose essay on the The Cathedral and the Bazaar offers an apologia for open source in terms that are more utilitarian and market oriented.
- Linux works—Linux is very stable and wonderfully snappy. With the exception of a few blips during installation, I've never had any of my Linux machines crash or become completely unresponsive. (I have had occasion to ctrl-alt-backspace out of an x-server that wasn't... living up to expectations; often when playing with linux eye candy). Software installation on Linux is, unless you have to build something from source (which is quite rare these days), absolutely wonderful. Debian's APT is the way all software installation should be done. And the amount of software available to tinker with, for free, is pretty impressive.
Which brings me to the drawbacks. Linux is a great choice. But it probably isn't for everyone. I've heard others describe Linux as the ideal OS for folks on either end of the computer use spectrum—serious geeks and absolute neophytes. The former will be empowered by Linux; the latter will have a stable, unbloated OS to just get things done. But, according to this argument, a large chunk of users at the center of the bell curve, from basically well informed folks to so-called "power users," will just find Linux frustrating. Consider my parents: I often wish that my mother, who is using a very old laptop to email and browse the web, were running a stripped down Linux rather than Windows XP. Her computer is almost unusably slow; with Linux it could be peppy and wonderful and she could do all the things she currently does with greater ease. But my father, who relies on various pieces of software for his job and has a long established familiarity with Windows, would find the experience maddening.
I think there is more than a little truth in this suggestion. But I think it may obscure as much as it illuminates. Let me try to unpack it a little.
Much of the frustration a "power user" (that term just drips marketing-speak) is likely to find in Linux comes from the software that is (not) available on Linux. If you want to use Photoshop, no luck. If iTunes organizes your life, you're out of luck (though for my money Amarok 1.4 is a much better music player/organizer anyway). If you use any of those nifty pieces of Mac software (DevonThink, Things, Scrivener... the sort of stuff I am always envying when I read about it on Prof. Hacker), well you're out of luck too. Same goes for Microsoft Office (and though it may sound like heresy, I quite like Microsoft Office 2007). (Oh, and I won't even touch the issues with games on Linux...)
That said, the software available on Linux is more than sufficient for all my purposes. I use Chrome and Firefox for my browsers; I use OpenOffice for most of my word processing and spreadsheet needs; for music I am a partisan of Amarok version 1.4 which works very nicely for podcasts and plays nice with my iPod (which was a gift; it is a great little device, but in the future I would choose a non-Apple device... though there is always iPodLinux or Rock Box). Skype works without a hitch (nearly; my webcam color goes wonky at random intervals), as do the Amazon MP3 downloader and the Jungle Disk client. F-Spot is a great photomanagement program (though, to be honest, I've never really used anything comparable on another OS). Tomboy Notes is great, as is Tasque (which provides a simple desktop client for Remember the Milk). Gnome-Do (a Linux equivalent of Quicksilver) is also absolutely necessary. Conky is the best system monitor for any OS I know of (though I've heard OSX folks mention Geek Tool). Without adobe AIR, for now, I don't have a great twitter client.
The customizability of Linux, which makes it very attractive, can also make it rather frustrating. Eric Raymond's description of Unix captures this nicely:
the most enduring objections to Unix are consequences of a feature of its philosophy first made explicit by the designers of the X windowing system. X strives to provide “mechanism, not policy”, supporting an extremely general set of graphics operations and deferring decisions about toolkits and interface look-and-feel (the policy) up to application level. Unix's other system-level services display similar tendencies; final choices about behavior are pushed as far toward the user as possible. Unix users can choose among multiple shells. Unix programs normally provide many behavior options and sport elaborate preference facilities.
This tendency reflects Unix's heritage as an operating system designed primarily for technical users, and a consequent belief that users know better than operating-system designers what their own needs are. . .
But the cost of the mechanism-not-policy approach is that when the user can set policy, the user must set policy. Nontechnical end-users frequently find Unix's profusion of options and interface styles overwhelming and retreat to systems that at least pretend to offer them simplicity.
I'd love to be able to say that I am one of those "technical users," for whom the pretended offer of simplicity has no appeal whatsoever. I'm not. The "mechanism-not-policy" approach has a steep learning curve. And sometimes I have Mac envy.
But I like Linux. A lot. Philosophically, I believe in free software. And after three years, I do things much more efficiently in Linux than I could anywhere else. The phrase "it just works" is often offered as a virtue above all others in discussion of computers and usability. And thankfully, at this point, many things indeed "just work" in Linux (you don't need to manually mount a USB device after you've plugged it in anymore). But if you want an OS that smoothly disappears from view, Linux is not it (yet). But maybe it shouldn't be. There are virtues other than invisibility in an operating system. Some amount of resistance forces the user to better understand his tools. That is the current state of Linux—it may not just work, but it works just as well as you need it to. This is not to say it is good enough; it is as exactly as good as you're willing to make it.
So, interested in giving it a try? Bryan Lunduke, of the Linux Action Show did a nice job comparing Ubuntu 9.10 with Windows 7 and OSX a while back (though he may have his thumb on Ubuntu's side of the scale... just a teeny bit). Or why not just download a live CD and have a gander for yourself? Booting from a Live CD lets you see how your hardware is going to behave with Linux without making any changes to your hard drive. If you're looking to learn more, check out Chess Griffin's wonderful Linux Reality podcast. Intended for the complete newcomer, Linux Reality is simply wonderful; by the end (Chess discontinued the podcast after a year, once he felt like he'd done everything he wanted to) he gets through some pretty great stuff (setting up a LAMP server, using screen, etc). And Chess is in many ways the perfect guide—a passionate Linux advocate, a wonderful sharer-of-enthusiasm, and not a professional developer or system administrator (meaning no offense to these august professions, but they might not be the best guides to a new OS for folks who aren't already pretty well informed).