I, like most Linux advocates, have demonstrated the power of Linux to people who had no idea such power existed in technology, much less in free technology.
I have a friend who was at my house one day while I was at work. For some reason, he needed me to reboot my computer. So I did, via SSH. When I'm at work, I stream music off of my desktop at home for my listening pleasure via the web. Sometimes if I need to do something from my desktop when I'm working, I'll X-forward an application to my work computer and do it that way.
People see all of these things, not to mention the various desktop effects that Compiz provides, and marvel at how awesome and powerful it is. They ask what it is. When I help them set it up, they get frustrated and quit. These are the problems faced by many a Linux demonstrator. The complaints that I hear are consistent. Always.
But I'm not here to complain. I'm here to solve problems. So I will offer a solution to each complaint that I've heard a dozen times as I go.
The first complaint:
"I put a DVD in my player and it won't play."
This problem, like most of them on this list, is the result of user ignorance brought on by some external force or another. This particular problem comes about when terms like DVD and MP3 become marketing buzzwords. Their definitions are reduced to the most distilled, basic descriptions of what they should be because products sell better that way. Here's how these words look in a Best Buy salesman's dictionary:
DVD - n. A movie.
MP3 - n. Music.
But they're both so much more than that. They're patented formats, which makes all the difference. Any time you purchase a DVD or a DVD player or a DVD-ROM drive, anytime you buy any device that plays MP3 files, part of your money spent is paying the owners of the DVD and MP3 license. Some company turns a profit every time you buy a DVD or MP3 player whether or not they manufactured or even designed the device. When you pay a license to Microsoft to purchase Windows Media Center Edition which comes out of the box ready to play DVDs, you're buying the right to watch DVDs on that device.
Most Linuxes are free of cost, but more to the point, they're about freedom of usage. How free are you to play a DVD anywhere? In other words, why should you have to buy the right to watch DVDs that you have either bought from a store, rented, or made yourself? That's not freedom. Which is why most Linuxes won't give you the ability to decode DVDs upon immediate install.
But people shouldn't be discouraged by this. The guys over at VideoLAN have begun distributing a library of code called libdvdcss that decrypts DVDs just fine. And your music, those MP3s and AACs and WMAs and WAVs and whatever else you may have can be listened to by installing the appropriate libraries from the amazing folks developing gstreamer. Installation of these packages is simple enough, either by direct download from those websites or by using whatever repositories your distribution makes available to you.
The second complaint:
"Some piece of my hardware doesn't work."
This is a more legitimate complaint than the first, but I still must object to the reason why the complaint is valid. Microsoft has a long history of making contracts with hardware developers that say that they cannot write drivers for non-Windows operating systems or even disclose the methodologies of the hardware to non-Microsoft developers in exchange for promotion deals. This effectively prevents drivers for Linux from being made.
Unless, that is, a truly dedicated Linux dev decides to reverse engineer the driver from the activities and data transmissions of the hardware. This is difficult to do, and time consuming. These devs are a benefit to us all.
Even with this understanding that the disposition of Linux hardware drivers is dismal, I still can't validate fully giving up on such a problem. Rarely is a piece of hardware rendered completely unusable due to a driver issue. Forums exist for the sole purpose of spreading functional hardware drivers for Linux.
The main complaint used to be that wireless cards never worked. Back in the day, you might have had to use the Windows driver for the card in Linux via a utility like NDISWrapper or MadWifi. Those days are gone. Ubuntu now has built-in drivers for Intel, Atheros, and Broadcom wireless chipsets. These are automatically detected and installed in roughly three clicks of the mouse. Linux is no longer in the disparity it used to be in, but I don't know that I'd call it disparity anyway. Let's not forget that Linux initially grew and spread when people passed around the OS in its sapling form, writing drivers to match their hardware, creating in the process a massive driver base.
The third complaint:
"Installing software is too hard"
This is an almost unforgivable combination of a terminology confusion combined with the false belief that Linux is just like Windows, but better.
A Windows user wants to install a program by putting a disk in their computer and waiting for an installer to pop up onscreen. Then they want to go through seven wizard pages, ignoring all settings, just clicking "Next" a bunch of times. Then they want to wait while it installs, then have to dig through thirty unorganized program listings to find the software, then dodge some links to various readme text files and Internet links to corporate sponsorship websites to finally launch their program. And they want to do this for every single program they install. It's simply too much of a hassle to learn that Linux does things differently.
In Linux, you run a program that was installed when you first put the OS on the system. You search there for the software you want. You check a box suggesting that you want this installed. You do this for all programs that you want installed. Then you click an Okay button and wait while all software is automatically downloaded, all dependencies taken into account, then installed and configured to a predetermined best practice set of settings. Then they get organized by type - Internet, Games, etc. - so you don't have to pick through so much, and then they're alphabetized. The process is simpler, faster, and more organized. It's not harder. It's just not what they're used to. Uninstallation is just as easy.
The fourth complaint:
"Linux is not good for gaming."
Again, we see a confusion of terminology. Linux is actually great for gaming, especially since you don't have so many of your resources tied up in the OS alone. (Side note: generally, I speak of Windows XP here since that's still the version that's most common in the world, but it gets worse with Vista and Windows 7.)
The problem is that Linux isn't popular enough in the world for commercial game companies to bother porting all their games over. It's not financially viable. This, I will admit, is a viable reason to keep a Windows installation around. I myself dual-boot between WinXP and the most recent release of Ubuntu.
That field is changing, however. id Software is porting more and more games to Linux. Some older games are being ported in, which proves that it's doable at the same time that it lays out a process for doing so, a streamline to take care of future ports.
This is not to say that some great games do not already exist for Linux. Take a look at Savage 2 or Sauerbraten or Nexuiz. The graphics are phenomenal, the gameplay is great. The only thing these games lack is a storyline, but the tremendous success of the Unreal Tournament series, Team Fortress, and the Quake Tournament games prove that a storyline is not an absolute requirement of a good game. If you're looking for something with a plot, you can check out the Penumbra series of games.
Linux is great for gaming, some might argue that it's actually better for gaming than Windows, but the games are less available. Just clearing that up.
The fifth complaint:
"I have this program that runs fine in Windows, but it doesn't run at all in Linux."
The people making this claim apparently never looked at the system requirements for the software, and therefore never saw the part where it required Windows. This problem is to be expected. Linux has an entirely different software architecture beneath it because, well, it's a different operating system.
Giving up at this point is a display of short patience and also ignorance to the thought that there might be equivalent software out there for Linux. Need a word processor? Try AbiWord. Need a full productivity suite? Try OpenOffice.org. Need a Visio-style diagramming program? Try Dia.
Do none of those match your specifications? Install WINE and try to install your Windows software that way. The fact that Linux can execute a large chunk of Windows code is more than Windows can stake a claim to.
If all else fails and that software is an absolute necessity, then, yes, there's always Windows. Feel free to use it.
The sixth complaint:
"I asked how to do something, and they told me to type commands. That's not intuitive!"
Chances are this user was told to do it on the terminal because it was
- The easiest way to describe the solution in a message board or chat room or
- The fastest way to get the job done.
Probably, there's a way to do it through the GUI, but they asked how to do something that's been bugging them, so they were shown the fastest method, if perhaps not the method that they would have liked.
Besides, the terminal's not the scariest thing in the world. Running an apt-get command isn't the same as compiling software from source. Being told to use the terminal once, and being told exactly what to type, is not the most complicated thing one can accomplish on a Linux system, and it's not a constant requirement. Most full-time, die-hard Linuxers will use the CLI very regularly. I know I do. That's because we know it's the fastest way to get things done and we've taken the time to learn it. That's not really expected of a first-time user, especially one who isn't technologically inclined. Next time, the user should specifically ask how to do the task using the mouse instead of the keyboard.
The seventh complaint:
"Linux is not ready for the desktop."
This isn't so much a complaint as it is the sum total culmination of all of the others. People fear new and different things. Human beings don't always react well to change. The natural reaction is to call that change inferior, even against obvious examples of it not being so.
There are several million Linux users worldwide who would disagree with this statement fundamentally, and are proving its wrongness on a day-to-day basis. Millions of people use some form of Linux as their primary desktop OS. In fact, there are millions of people who use Linux every day and don't even realize it. The system is so versatile that it can be tweaked to perform on everything from iPods to Tivos to cell phones. It is backed and assisted by many multi-million dollar corporations like IBM and Google. Believe it or not, Microsoft runs a lot of their web servers with Linux, which goes a long way toward showing their faith in their own product.
But if people give it a try, adjust to changes for the better, and most of all contribute some way to the community that keeps advancing Linux and its derivative software far beyond the scope of Microsoft Windows, it just might work out for them. It already has for millions of users.