Thoughts: Windows and defaults
December 5th, 2007A few days ago, a friend mentioned that one of the great things about Windows was that he could call a tech support number and get immediate help with any hardware or software problems. Having called tech support (not for Windows) in my earlier years, and finding it neither immediate nor helpful, I found his argument unpersuasive. A little while later, he lamented the problem of choosing a distribution and the difficulty of acquiring a copy of Linux to install. While I was sympathetic to the information overload involved in choosing a distribution, I found the other argument strange. Linux strikes me as one of the easiest pieces of software to acquire, period. You can buy it in a store, have a disk mailed free of charge, or download it over http, ftp, and bittorrent.
I only realized later that he wasn’t arguing that it is difficult per se to get Linux – because it clearly isn’t. What he really meant is that it is difficult to make a choice among all the different avenues of acquisition. It isn’t that major Linux websites make it a chore to find an install link – it’s the fact that there are so many of them, and that you have to make a choice as to which one you want. What he, likes about Windows (and implicitly, OSX) is not the technical superiority or troubleshooting efficiency – but the fact that it has clear defaults. Want to install Windows? Choose Vista or XP. How are you going to get it? Go to a store and buy it. Having trouble with your new webcam? Call the listed tech support number. It doesn’t matter that a one-size-fits-all operating system is the computer equivalent of an elastic waistband (as compared with a tailored suit), it doesn’t matter that I can download an install disk faster than I could drive to a computer store, and it doesn’t matter that 10 minutes of googling will get you better results than 45 minutes on hold at tech support. The choice has been made for the user and that is why it is straightforward and easy – and inefficient.
Interestingly enough, software repositories, one of my favorite aspects of Linux and other Unix-like systems, closely resemble this idea of defaults. Software repositories are a great way to let one centralized system handle your installation, uninstallation, and upgrading of all the software on your Linux system. Many Linux distributions come preset with a main software repository that serves as your source of programs, drivers and updates.
The fact that I can now pick and choose the software that I want from a single program stands in stark contrast to fond memories of browsing Tucows and other shareware sites in my youth. Indeed, software on Windows is still a very decentralized experience. Shareware, freeware and independent software developers are still major sources of Windows programs, not to mention major developers and Microsoft itself. Programs tend to have their own separate little update applets, and even have their own uninstall icons in the Start menu (although there is a nice unified uninstall interface in Windows). So interestingly enough, software repositories appear to be a default implemented by your Linux distribution – that is to say, a default source of new programs.
However you can still find Linux software in the same decentralized manner as you would with Windows. Just browse SourceForge or sites dedicated to specific software projects, download, compile (if necessary), and use. In fact, whenever I need a new version of a piece of software really quickly, either because the one in the repositories hasn’t been updated fast enough for me, or if a piece of software isn’t in the repositories at all, that is exactly what I do.
But one great feature of the repository system is that it can have all the benefits of centralized software management with the benefits of decentralized software choice. True, I can go to different websites to download new programs and run them – either on Windows or on Linux. But on Linux, I can add third-party repositories.
What this means is that if a third-party software developer or interested user creates their own repository (and many do), then I can add it to my system simply by copy-pasting the repository address into my preferences. This means that I can have my cake and eat it too: I get to enjoy all the Linux software out there, and my system updates and manages it in one central location, without any extra work for me.
Adding a Third-Party Repository
Although Linux repositories appear to be a default set for you by your Linux distribution on a very important choice (source of software), in reality the repository system enables choice by making it easier to manage a wide variety of software from different sources. Thus, just as you get the benefits of both centralization and decentralization of acquiring and maintaining software, you also get the benefits of having a default (main distribution repository) and of having choice (easy addition of third-party repositories).