We spend a lot of time covering the "Who, What, When, Where and How" of Linux, but rarely talk about "Why." Many of the questions we get through our firstname.lastname@example.org email address essentially ask, "Why should I (or my company) use Linux?" There are many possible answers. I'm going to try to cover, in the most newbie-friendly way possible, a few of them here. Please feel free to chime in with your own in the "comments" section.
I first started messing with Linux, back in 1996, because Windows crashes were "eating" too many tightly-deadlined stories for my taste. I wanted an alternative that would handle my writing tasks and let me browse the Web "full strength," including graphics. All the graphical DOS Web browsers I tried were unsatisfactory, and the Web was becoming increasingly image-driven, so dropping back to DOS wasn't an option. I heard about Linux from a friend and gave it a try. I dual-booted Windows and Linux through most of 1997, and dumped my one remaining Windows partition in early 1998. I chose Linux because it offered me high stability, didn't need powerful hardware to run, and had all the (very simple) applications and capabilities I needed. The fact that it was free (or available on CDs for very little) was a fringe benefit.
Some choose Linux primarily because it can be had for free or at very low cost compared to commercial operating systems. Others choose Linux primarily because of licensing freedom. Under the GPL, the license that controls the Linux kernel and the GNU tools that, together, make the operating system most people call "Linux," technically "GNU/Linux." Under the GPL, anyone who has a copy of Linux or any other GPL-licensed software is free not only to make copies of it to give to friends and associates, but is also free to modify that software in any way, and to share their changes with the rest of the world. This is the exact opposite of the way things work with commercial operating systems. If you found a way to modify Windows's base code to make it impervious to viruses without add-on anti-virus software, and shared your new "super-secure" version of Windows with all your friends, you would be breaking the law and Microsoft could have the police come and put you in jail.
Freedom to modify code means that flaws, including security problems, in Linux are usually fixed at a much faster rate than flaws in any mass-market operating system produced by a company that only allows its own programmers to change its programs. It also means that companies or individuals can and do freely modify Linux to work with specific hardware ranging from PDAs to mainframes. You may not have the skills, yourself, to make beneficial changes to Linux or to adapt it to specific devices on which you want to run it, but hundreds of thousands of others around the world do have those skills and contribute to Linux or write free Linux software. You are free to use their work even if you have not helped these people do it.
At some point you may wish to help further Linux development in some way other than programming (donating money to a Free Software project; getting involved with a Linux Users Group; advocating Linux to people who have not yet discovered it) but you are not required to do so. In fact, if you "get Linux" in the form of a "boxed set" of CDs you purchase from a commercial Linux distribution publisher, you are making a cash contribution to Linux development because all of these companies have Linux developers on their payrolls.
Why Linux is becoming the server OS of choice for smart companies
The most-publicized use of Linux is as a commercial server operating system, handling "back room" computer tasks like sending and receiving email, hosting Web pages and downloadable files, funneling "print" commands from many desktop computers to a single printer, hosting databases, and all the other mundane things computers do in corporate environments that are hidden from public view but are absolutely necessary for efficient daily operation. Even if you walk into a company's office and see Windows on every desktop computer in the place, there is still a good chance -- one that increases every year -- that the heartbeat computer to which all those Windows desktops are connected is running Linux.
Microsoft's Windows NT, Windows 2000, and Windows XP Professional are the most heavily-marketed server-level operating systems in history, and this endless promotional "push" has been reasonably successful at inducing non-technical managers to purchase these products. But technologically sophisticated managers who look beyond sales brochures and take the trouble to check the cost of software licenses, hardware purchases, software and hardware maintenance labor, software updates, security and virus protection, and all the other factors that determine their servers' total cost of ownership (TCO) over a span of three years or more, end up running Linux more often than not.
Note that the vast majority of low-cost Web hosting services run Linux. This is a price-competitive, dog-eat-dog marketplace. If servers running Windows -- or commercial Unixes -- cost less to set up and operate than servers running Linux, Web hosting services would not be able to afford to use Linux. In most cases, though, the exact opposite is true: Low-cost Web hosting services can't afford to run anything but Linux on most of their computers. Note, too, that some insurance underwriters that write "anti-hacking" insurance are starting to charge more to insure Windows servers than Linux servers. Insurance underwriters are not swayed by advocacy or marketing. They look at numbers, period.
Some Windows users claim -- truthfully -- that sysadmin competence may have more to do with a server's reliability and security than which operating system it runs. There are competent Windows sysadmins and incompetent Linux sysadmins. But I believe -- based on personal observation, not formal research -- that Linux sysadmins are, on average, more competent than Windows sysadmins. This is because Linux's reputation as a "geek" OS, combined with the fact that anyone can customize it to suit their needs and tastes, tends to attract highly competent sysadmins; the kind of people who truly love their work and care about it; who didn't "get into computers" because they saw a trade-school ad on TV that told them they could become a "high-paid computer networking professional" in a few months, but learned how to work with Linux by installing it on their home computers and becaming fascinated by it; who spent night after night learning how to build and secure a network as if it was a game, a puzzle, a calling; as something that (don't tell anyone) they would do for free if they didn't get paid for it.
The intangible feeling that Linux is yours -- that if you have helped set up a Linux network and have documented it so that others can see and admire your work; that the patch you wrote is being used by fellow sysadmins elsewhere -- is something no pre-made, unalterable operating system like Windows can give its users. Indeed, Linux sysadmins are part of Linux, as welcome as anyone else to submit their ideas and any useful code they write to the linux-kernel mailing list. They are not just "users" who bought an operating system in a box that someone else created -- and controls.
Make Linux your own
Whether you use Linux at home or at work, on a single personal computer or to run a Google-sized server farm, you can customize Linux. My little laptop has a desktop that is set up the way I want it, not the way someone at Apple or Microsoft said it should be. This is but a tiny touch of Linux freedom, one that sophisticated users can laugh at when they talk about how they have recompiled their kernels for optimum performance, something that cannot be done in Windows or Mac OS. It is a thrill when you improve your computer or its operating system beyond its "out of the box" state, through your own efforts, in even the smallest way, especially if, before you got Linux, you never thought you would be able to customize your computer's operating system and the graphical interface through which you interact with it; that only super-technical guru-wizards in far-off places were allowed to do that.
After using Linux for a while, it is actually hard to use proprietary operating systems. At one point, after using Linux for several years, I bought a laptop equipped with Windows ME. Out of curiousity, I decided to try this operating system for a little while, just to see what it was like. There were several simple things about the way it behaved I wanted to change. Because I was as much "at sea" with Windows ME, due to my lack of experience with it, as the average Windows user is when he or she first tries Linux, I contacted the laptop manufacturer's tech support people. They replied, "Windows doesn't offer that choice." That was it. Not, "Why don't you submit that as a feature request?" or "Have you checked the user knowledge base to see if someone else has figured out how to do that already?" Just "Windows doesn't offer that choice."
Upon hearing that, I immediately removed Windows ME from my hard drive, a decision I have not regretted for one second. I have gotten used to my computer's operating system being mine, and having the freedom to change it to suit me, instead of putting up with a one-size-fits all solution that doesn't really quite fit my needs.
Next week: The disadvantages of switching to Linux.