Linux has several advantages over Windows; it's more stable, cheaper (free, if you're able to download it), comes with tons of free software and will happily run on systems too small for Windows. So why isn't Linux being used on most of the PCs in the world?
Some would say that the problem is that Linux is too clunky and difficult to use. While command-line Linux is certainly not for everyone, modern distributions include self-mounting CDs, drag & drop functionality and other modern conveniences. There are still some rough edges to be smoothed out, but for the average web surfer or office worker a Gnome or KDE desktop is little different than Windows. So, again, why aren't more people using Linux? Perhaps my experiences will help to explain. The story you are about to read is true; only the names have been changed to protect the inept.
I work in a medium-sized bookstore (20 employees, 2.5+ million a year). We are currently using an old DOS based Point of Sale system, but there will be a web-based system out next year. Since this new system is calling for Windows XP capable PC's for every cash register, this is a considerable investment for us. However, I would estimate that we could save $300-$400 per terminal in both licenses and reduced hardware costs by using Linux instead. It also happens that I needed a portable workstation for my desk (I'm trying to develop an email newsletter for our store). So I decided to get a laptop to install Linux into, thinking that this would give an opportunity to both learn more Linux myself and show off Linux to everyone at work - trying to sell my manager on a non-Windows OS. Then, when our new POS system gets up to the sales demonstration stage (i.ei; beta test), I'd already have a Linux workstation ready to hook up to it. Since it's supposed to be web-based, hopefully one or more of the web browsers common to Linux should be able to interface with it correctly. Whether our office server would work using the Apache web server is an entirely different question, but the individual terminals throughout our store are supposed to be, basically, web browsers.
I began by researching different Linux distributions, quickly narrowing it down to one of the best known names in Linux, because they promised secure server/credit card processing support (which we would eventually need for our web-based cash registers) and were actively pushing a monthly service and support contract. Our POS system literally runs our whole store, so we can't afford to just lock the doors and send everybody home whenever we have a technical problem. I'll call this distribution "Commercial Linux", because that's the market they were clearly aiming for.
Since I couldn't afford a new laptop, I started looking on eBay and finally found an old IBM Thinkpad for under $200 (the low price largely due to the lack of a CD-ROM drive). A quick search on Google revealed lots of people happily using various flavors of Linux on the exact model I was getting. I already knew that Linux can commonly be installed in half a dozen different ways - indeed, you can almost tie a wet string between two monitors and install it over that - but before bidding I checked with "Commercial Linux" and verified that a CD-ROM wasn't listed as a system requirement. I also purchased a PCMCIA Ethernet card, again after checking with "Commercial Linux's" Hardware Compatibility List and finding it listed as both "supported and easily installed".
I installed "Commercial Linux" on my home desktop PC and was very impressed with the software. Plug & Play nearly on a par with Microsoft, a definitely improved desktop, etc. The printer setup would have gone more smoothly with better instructions, but after a few tries I has able to get Linux to print. I set up an ftp sever, copied the install files to it and confidently tried to install "Commercial Linux" into my newly acquired laptop.
Plan A: I hooked both desktop & laptop into an Ethernet cable and inserted the PCMCIA boot disk into my laptop. I soon found out that my 3com PCMCIA card is supported by the Linux kernel, but not by the PCMCIA boot disk - not much use with a blank hard disk in my laptop. Neither the "Commercial Linux" web site nor their beautifully laid out and well illustrated installation manual contains a list of which network cards actually are supported by the PCMCIA boot disk.
Plan B: The "Commercial Linux" on my desktop contains a PLIP server and their boot disk contains a PLIP driver. So I hooked up a parallel port, ie; laplink cable and tried to do a network install. Guess what? "Commercial Linux" doesn't provide any instructions on how to do a network install. Their web site doesn't show it, their printed installation guide doesn't explain it, and if you email them the question, you'll be told that your two months of customer support (for which I paid $80) doesn't cover network installs. So I spent a week trying every possible option and configuration I could think and never got any connection at all. It occurred to me early on that the "Commercial Linux" firewall, which their installation software set up by default, was probably cutting off the connection. Guess what? The "Commercial Linux" firewall program doesn't contain any detailed instructions on how to configure the firewall. I searched for "firewall" on "Commercial Linux's" web site. The most current listing they had was generic information from three software versions earlier. After wasting several more days trying to configure a firewall without instructions, I gave up and simply reinstalled my desktop Linux without a firewall. I again tried every possible option and configuration I could think of on the PLIP server (which - big surprise - also had no instructions) and still never got any network connection at all. In searching the Internet, I finally found a third party web site that mentioned that "Commercial Linux" no longer supports PLIP installs (a fact which I confirmed by phoning them, but have never found listed anywhere on "Commercial Linux's" own web site).
Plan C: I could use my trusty Laplink cable to copy the installation files into my laptop and simply do a hard drive install. Sounds fairly straightforward, right? However, when I tried that, I found out several things: While most Linux distributions let you simply copy the directory structure onto the target hard drive, "Commercial Linux" makes you copy an ISO9660 image file of their entire installation CD onto the hard drive. To make matters worse, "Commercial Linux" put some of the required packages on their second CD. So you have to copy almost 1.4GB of installation files! (Windows 98SE requires less than 400MB, other Linux distributions require less than 100MB of installation files for a complete desktop system). In my case, my laptop, which exceeds the published system requirements, doesn't have enough room for both the "Commercial Linux" installation files and the Linux OS both at the same time. At the risk of being truly redundant, neither the necessary procedure, nor the list of required files, nor the actual disk space requirements were explained on "Commercial Linux's" web site or in their installation manual. And when I telephoned to ask them about it, their Customer Service people gave me the wrong information. Seeking to get some OS on my laptop, I tried Windows instead. I had never done a hard drive install of Windows, either, but I simply copied the cab files over, clicked "install" and Windows installed itself with nary a hiccup.
Meanwhile, I played with "Commercial Linux" on my desktop. The factory CDs contained three different versions of StarOffice: not one of them installed correctly. There was no information on their web site as to any problem with StarOffice, much less how to fix the problem. A quick web search revealed several other irate "Commercial Linux" users who had already concluded that StarOffice simply wasn't compatible with the latest release of "Commercial Linux". I tried another word processor (again from the factory CD). This one installed correctly, but as soon as I launched it, it totally locked up my computer - keyboard and all. Warm booting my PC destroyed the file system so badly that Linux wouldn't even boot! By this point I was beginning to suspect that "Commercial Linux" never bothered to test the 3rd party software they ship to see if it even works on their own OS!
All told, I have asked "Commercial Linux" five installation questions. I have received a total of three wrong answers, one flat refusal to even discuss my problem and one failure to return an email. And it's not just "Commercial Linux", either. I e-mailed four other Linux distributions, asking each of them if they supported a hard drive install. Two of them never responded at all, the third one emailed me back the next day saying that they categorically refused to answer any questions unless I first gave them my product registration number. Only one Linux distribution actually took the time to answer my question. (guess which distribution I'm going to buy next time?).
In stark contrast, IBM has done a wonderful job of supporting their Thinkpad laptops. My 760E was built during the transition between Windows 3.x & 95. IBM's web site has a complete set of device drivers for both OS's (including software patches for 98), exhaustive documentation, installation notes, troubleshooting guides and a search engine that actually finds what you're looking for - all freely available for public search & download.
In some respects, Linux already has better documentation than Windows ever thought about providing. There is an internal manual ("man pages") built into Linux. There are lots of external instructions ("HOWTOs") written by experienced users, explaining "how to" do all kinds things with Linux. Any distribution that cared to could build upon these resources and provide expanded and customized help files (specific to their own distribution) to answer common questions regarding program operation, server set-up, etc. Apparently this idea has never occurred to anyone.
Perhaps it is because Linux has traditionally been sold to, well, basically computer geeks. People who either enjoy tinkering with computers as a hobby, or who were already experienced UNIX administers. Consequently, I believe that many of the people who make Linux distributions have fallen into the practice of thinking: "Okay, we put the software on the CD for you. It's not our concern if the software actually works or whether you have the information you need to use it. We did our part. Now send us the money". These same people then wonder why they are unsuccessful at selling Linux to either the general public or to the small business market.
Earth calling Software Vendors! It doesn't do any good to distribute your software if it doesn't work or if your customers don't have the basic details needed to operate it. Here's a couple of really Wild & Radical ideas for Linux vendors: first, test the cotton-pickin' software before you release it! It may not be possible to test every video driver, but it certainly is possible to test if the software you're shipping installs into the correct directory and doesn't have any obvious incompatibly with the OS. I'm sure many venders try to do this, and are no doubt caught between the conflicting demands of constant testing for reliability and trying to hurry out the latest and greatest software. But as a business user, I would far rather wait a few weeks longer for the software to be released and have everything work. If smaller venders don't have the resources needed for comprehensive testing, then please A) note what software hasn't been tested, and B) maybe include general installation procedures, directory paths, etc. so users have some chance of fixing packages that don't install correctly.
Secondly, provide adequate documentation! Let me challenge the vendors to a simple test: Take a laptop down to your local community college. Go into the Computer Science building and select three or four students at random who do NOT know Linux. Offer to buy them all pizza if they will attempt to install and/or operate some software for you (based only on whatever documentation you provide to your users). If they can't at least begin to get a handle on it by the time the pizza is cooked, then YOU are not providing enough information! No, I am NOT talking about another "Guide to Linux". Linux itself is well documented. The individual distributions, however, provide barely enough information to let you install them - after that, you're on your own. And most Linux applications include a header file saying what the program is intended to do, but giving few, if any, clues as to how to get the program to do it. Almost all modern software templates include places for both general help files and context sensitive help. Few programmers use them. If several of the largest Linux vendors made it a policy to not accept 3rd party software unless it includes basic built-in documentation, then they could raise the bar for the whole Linux community.
Oh, and my laptop? I downloaded a small distribution off the Internet, I'll call it "Mom&Pop Linux", which did know what a hard drive install is. Instead of an Installation Manual laid out by a graphic designer, they had a typical Linux "HOWTO";i.e., four text pages of friendly notes. Following the directions installed Linux flawlessly into my laptop. Well, almost flawlessly. It turns out the boot loader in "Mom&Pop Linux" doesn't work. It also turns out that they were apparently switching over from tarballs to RPMs and, perhaps as a result, I can't load any new programs into the laptop. Sigh. Being able to both boot the computer and install programs were two things I was really hoping for in an operating system. But I did at least prove that Linux can operate on my Thinkpad.
By this time, I was now two months behind in my project at work. Searching through IBM's web site, I learned that the addition of a docking station would allow my laptop to have a (non-bootable) CD-ROM drive and a (bootable) floppy at the same time. A little more shopping at eBay and I found the necessary hardware. This put me 50% over budget, but at last I would have a functional Linux laptop!! I happily installed "Commercial Linux" from their CDs, already knowing the correct settings for the X window setup from my earlier install of "Mom&Pop" Linux. Guess what?? "Commercial Linux's" X server doesn't work in my laptop. They list the video chip as supported. I double checked all the settings, but all I get when I type "startx" is a page and a half of error listings. Based on my experience with "Commercial Linux" to date, I have little hope of finding the information needed to fix the problem on their web site. And their tech support won't even talk to me, because my 60 days of installation support has expired.
As far as our bookstore is concerned, I do not currently believe Linux to be a viable alternative for any small business. Even if I did, I doubt I could ever convince my manager that "Commercial Linux" is capable of supporting our office network, since they have already demonstrated that they are not capable of supporting an installation into an IBM Thinkpad!
Oddly enough, I still believe that Linux is a good Operating System, and I am continuing my search for a functional distribution. But so far, the only OS that will actually operate in my Thinkpad is Windows. I would rather be running Linux (Indeed, once Windows XP becomes dominant, I will have to either run Linux in my laptop or else throw it away). I believe there are a lot of other business people who would like to run Linux as well. But it's not going to happen until some of the Linux vendors get their act together.
Let me offer an analogy: Suppose you were looking for a car, and
you heard about this great new sports car that got 50MPG and only cost $5000!
But when you went to buy one, you were told it didn't have any tires, and
there was no alternator (so you had to figure out some other way to keep the
battery charged) and, oh also, don't drive it too fast because the brakes
don't work. And if this car ever breaks, then you'll need to find your own
spare parts and try to fix it yourself, because the dealer that sells the
cars refuses to work on them. Would you buy that car? More importantly, would
you recommend that car to somebody that needs reliable transportation to get
to work tomorrow? Does this sound far-fetched? Well, that's exactly what many
Linux vendors are telling the people who buy their software. Getting back to
my automotive analogy, these same vendors will then loudly complain that
Chevrolet is being unfair because they put radios in their cars as standard
equipment. Well, maybe people aren't buying Chevys because they have built-in
radios. Maybe people are buying Chevys because they have tires and the
dealers are willing to fix the cars if they don't work! Likewise, maybe
people are also buying Windows because it works out of the box (well, mostly
works, anyway), and Microsoft at least tries to offer support when it
doesn't work.
Dennis Field
My first encounter with a computer was when my high school got an
old IBM 1130 (which had a whopping 8k of main memory!), and I've been
playing with computers off and on since then. My first home computer was as
Amstrad, which ran C/PM and came complete with a revolutionary 3" floppy
disk drive (yes, you read that right<g>). Although I've had one college
course each in both C and Linux, I still consider myself a Linux newbie.
However, I am a fan of Linux, and would be delighted to see Linux start
providing some mainstream competition to Microsoft. But doing so will
require more than just technical achievement or even a user-friendly
interface. It will require somebody providing some real customer service
and support.
Copyright © 2001, Dennis Field.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 72 of Linux Gazette, November 2001