Linux is becoming famous, even to users of Microsoft Windows operating systems who have no personal experience with it. Some of this fame is hype, and some of that hype is utter bullshit. Specifically, there are some lies being told to try to get Windows or Mac users to switch to Linux. Don't believe it. If you currently use Microsoft Windows or MacOS, and were considering giving Linux a try, read on to find out how you've probably been misled, and why you're most likely better off sticking with what you have now.

This is Linux

Linux is not Unix, but it operates in a similar fashion, with the same fundamental constructs, and even commands which mostly have the same names and take compatible options. If you're interested in the history of Unix, you can read this Unix history from Dennis Ritchie, or this history of Unix, Linux, and Gnu.

If you're an old hand with Unix, however, this article is not for you. Thus, I'll attempt to describe Linux by comparing it to modern PC operating systems like Microsft Windows and MacOS. Note that MacOS 10 is a special beast, and my comments here refer primarily to earlier versions. Also note that while I describe Linux below, most of the comments also apply to the BSD operating systems which run on a PC.

Linux is not developed by a corporation
Microsoft Windows is sold by Microsoft, and MacOS is sold by Apple. At these companies, there are professional managers who decide how things are going to be, and the actual programmers are compelled to implement things in this fashion. This means that the products the company makes will have coherent priorities and objectives, determined by market research, the company's long-term plan, or managers' priviate political agendas. This means that when Microsoft decides that configuration is going to be done primarily via the graphical interface, the programmers can either implement configuration via the graphical interface or start collecting unemployment.

Linux, on the other hand, consists of components largely developed by volunteers. Beacuse these people are not being paid to work on Linux, they cannot be compelled to do things in any way they do not like, as there is nothing with which they can be threatened. They do the work because they love it, and if they stopped loving it, they would stop doing it. This is the fundamental reason that Linux differs so much from proprietary operating systems. Understanding this difference is crucial.

Linux is Free
The people who write Linux, the Gnu utilities which support it, and most software for Linux give it away for free. This means it also comes with source code, which means that you can modify it to make a custom version, something that is not possible (and is actually illegal even when it is technically possible) with proprietary software such as Microsoft Windows.

To understand this, you have to realize that people who write software for Linux are not in the business of selling software. The Microsoft Corporation is in the business of selling software. Apple is in the business of selling hardware and software. This is what they do, and they could not possibly give it away for free instead of selling it, because they would immediately go bankrupt. Unix, however, got started differently. It was originally developed by AT&T, which was very much not in the business of selling software - in fact, they were legally not allowed to sell software (see one of the Unix History links above for details). They were primarily users of the software.

This tradition of development by users continues with Linux today. Most of the people who write components for Linux do so because they want, in the course of their work or hobbies, to use the component in question. Thus, they do not need to sell the component to get value from it - they get value from using it themselves. Furthermore, because their value is derived from the use of it, it is in their best interests to allow other people to improve upon it. If it is improved upon by others, the original author can then use the improved version and obtain extra utility without having put in the effort to improve it himself.

The companies which sell Linux are not its authors
There are some companies which sell Linux "distributions", such as Red Hat. However, most of what these companies are selling are not things that they developed in-house, but instead generic Linux components which they obtained from elsewhere.

These companies are like companies which sell electronics kits. The company draws up instructions, and packages components which are suitable for a particular purpose. The more advanced and enterprising ones have custom circuit boards printed. However, they do not manufactur the transistors and capacitors themselves - they obtain them from outside. Furthermore, the kit manufacturer has little control over the specifications of the parts they buy - if they would like some small change in a component to make it integrate better into their project, they are not guaranteed to be able to get this change from the manufacturer. Linux is similar - if Red Hat wants a change to a part of Linux, they'll have to ask the person or people who write that part, and they might or might not get what they ask for.

In the case of electronics manufacturers, the kit supplier has little pull because the quantities they buy are so small. In the case of Linux, the distributor has no pull with the authors because they aren't paying the authors at all!

With Linux, most customers are wrong
As discussed above, some Linux distributions which sell their product want to keep their customers happy, and want to appeal to as many customers as possible. However, they money they get stays with the distributor, and never reaches most of the initial authors. Thus, the authors have no incentive whatsoever to work to increase the number of copies sold, or the number of users.

The only sort of reward authors ever get is receiving improvements to the things they have written. Thus, the only people whose opinions they care about are those who are capable of making such improvements! Suppose there are 100 non-programmer end users who want a feature to be implemented in one way, and one programmer who wants it implemented in a different way. It is in the initial author's best interests to do what the one programmer wants! The non-programmer end users will never contribute anything back to the original author, but the programmer may.

This is completely different than the motivations of a company which sells a product, and the difference is important to understand.

Isn't it awful?

Now that I've discussed the nature of Linux, I'll explain why it's probably not the right solution for home use by an average person.
Linux is tailored for the technically proficient
Remember that authors of Linux software are generally people who want to use the software they write. This means, of course, that they design it to operate in a way that they would like to use. Because these people are, by definition, programmers, most of the software is tailored to be used by someone as technically proficient as a programmer. It is likely to be intimidating to someone with less skill. Furthermore, because most Linux authors receive no compensation whatsoever from an additional user using their software, there is no incentive for them to make it easier for non-technical people to use. simple plot of windows vs.
linux value as a function of user skill

The figure to the right shows the the value of certain operating systems as a function of the proficiency of the user. Linux does more good than something like Microsoft Windows for an expert, but it does considerably less for a non-expert. There is a point on the figure at which Linux becomes more valuable than alternatives; use Linux if your proficiency exceeds this amount.

You are probably not technically proficient
How can you tell if you belong on the left or right side of the chart? You can ask yourself some simple questions. If you cannot reset the time on your VCR when there is a power failure, you are not proficient enough to use Linux. If your watch alarm goes off at the same time each day, and you can't figure out how to turn it off, Linux is not for you. If you can't type without looking, frustration lies ahead.

To use Linux, you must want to learn
The design of Linux assumes that you want to learn. It's set up so that you can do things quickly once you've learned, but you won't be able to do things at all before you've put some time into figuring out what's going on. You are expected to study and understand the underlying operations that your computer uses to perform tasks before you attempt to perform these tasks. If you expect your computer to have a learning curve like your toaster, or you just want to "get on the internet" and "do your email", you would have to be insane to try Linux.

The distributors are biased
Companies like Red Hat advertise a great deal about how easy to use their produce is. Well, of course they do - it's in their best interest to sell as many copies as possible. While I wouldn't call it lying, it's definitely marketing, and needs to be taken with a large heap of salt.

Remember that while Red Hat would love for Linux to be as easy to use as possible, they are limited in what they can achieve. They cannot cause fundamental changes to most of the components in the distribution. If the Microsoft usability labs report that a certain fundamental change is going to be required to make the software easier to use, Programmer Bob at Microsoft is going to say "yesssir" to his manager when told to make the change. If Red Hat decides that a certain fundamental change is going to be required to make the software easier to use, Programmer Jim who works on Linux for free is going to say "bite me", and go about things exactly the way he was before.

In addition to distributors such as Red Hat, the people who make the Gnome and KDE environments are trying to make Linux easy to use. They will never be able to achieve the same level of success as Microsoft or Apple, however, because they cannot mandate changes to the underlying functionality to support ease-of-use like Microsoft and Apple can.

You will not obtain the advantages for which Linux is famous
There have been some famous papers written comparing Unix-like operating systems, including Linux, to Microsoft Windows. Unix-like operating systems were generally found to be better, having advantages such as higher reliability and lower cost.

Let's consider that. Suppose that a Windows computer reboots twice a day, and is down 5% of the time (these numbers are made up for the sake of the example). A Linux computer, properly installed and configured, would stay up for months and be down 0.1% of the time. However, you will not be able to properly install and configure a Linux server - so your Linux computer will never reboot, because it never runs at all, and it will be down 100% of the time!

One of the largest advantages of Linux is the availability of source code, which allows you to modify programs to suit your taste... assuming you know how. If reading C is like reading Swahili to you, there's no advantage whatsoever in having the source code, because you don't know what to do with it anyway.

Given the choice between $10 cash, or a locked safe containing $100, which would you choose? If you're an expert safecracker, it makes sense to choose the safe, but for the rest of us, we're better off choosing the lesser amount that we can actually use. So it is with operating systems.

Please Go Home Now

Just as it's usually not to the advantage of a new user to use Linux, it's not to Linux's advantage either. Even if you're competent and Linux is ideal for you, please don't recommend it to other people. This section attempts to explain why it is contrary to the Linux user's best interests to advocate Linux to the masses.
Incompetent Users Hurt Linux's Reputation
There are many things for which Linux works well, although general home use is not among them. However, a home user who tries Linux and is unsuccessful with it will not come away from the experience thinking "I'm too dumb to use Linux", he will come away from the experience thinking "Linux is crap!" He will then oppose the use of Linux at his company, or in other situations where it would actually work well and be an improvement.

Of course, it also hurts your personal reputation if people follow your advice and have a horrible experience. That's hardly to your advantage.

Incompetent Users Drain Linux's Resources
Incompetent users never read the documentation before they ask for help, and they ask for help with the stupidest and most trivial problems. This wastes the developers' time. Even if the developer isn't going to reply to the email, time is still required to wade through it and sort it out from the important stuff. If the developer is a nice guy and actually replies, even more time is wasted! This is time which the developer would otherwise have spent making the software better, for the sake of assisting incompetent users who will never contribute anything useful.

Myth: Once People Use Linux, they Will Learn
This is a nice dream, but it's simply not true. Using an environment such as Linux will not encourage people to learn, because if they are not already inclined to learn and be curious, they will never notice any of the important differences between Linux and Windows! By all means, recommend Linux to people who have already demonstrated an inclination to learn, and are feeling limited by their current environment. If they haven't learned enough to feel limited, however, it is counterproductive to recommend they move to something harder. If they're happy with what they have, leave them in peace.

Here's a postcard for your effort

There are some situations in which Linux is an appropriate solution. General home use is not one of them, but I'd like to conclude with a list of what they are:
A company with professional system administrators
The system administrators generally know enough about what they're doing that Linux would be advantageous for them. Even if other people at the company use the computers, the advantage of having computers which are more easily maintained by the experts is often enough to outweigh the fact that they may be slightly harder to use by the users (particularly since there are in-house experts to help). This is true even from the point of view of the users - would you accept a system which is slightly more complicated, in exchange for having it not randomly fail for hours at a time like the current one? I thought so.

A computer you don't fix yourself anyway
If you already get someone else (such as a relative, or the 12 year old next door) to do the work on your computer for you, you have nothing to lose! It doesn't matter if it would be harder for you to do work on your computer, because you're not doing any work on your computer. If you have sticky notes attached to your monitor reminding you the exact steps to perform certain tasks, changing to Linux will require you to simply replace your sticky notes with different instructions. It will be equally easy for you, and easier for your friend who does the real work on your computer.

Now that we've discussed the profound lack of advantages to be had by converting people to Linux, get out there and keep your mouth shut.