TEN GOOD REASONS TO CONSIDER LINUX FOR YOUR NEXT SOFTWARE PROJECT
By Vaughn Treude
President, Nakota Software, Inc.

Tux the Linux Penguin

Why choose Linux?  Many people have heard of the Linux operating system, but aren't exactly sure what it is or what it does.  This article does not attempt to answer the first part.  I assume that you already know that Linux is an operating system, on par with Windows and the Macintosh OS, and that it's based on a venerable OS called Unix.  We won't review Linux' unusual history, its unconventional means of distribution, or discuss its fanatical following in the software community.  Neither is this article an attempt to denounce the competition (Microsoft) as some sort of evil conspiracy.  It's my philosophy that everything has a time and place, and that now is a great time to seriously consider using Linux as an alternative or even a primary platform for your software project.

With apologies to Dave Letterman, I've listed my top ten reasons to use Linux, in backwards order.  It's not an attempt at humor; it just seemed logical to save the most important reasons for last.

10. Linux has an equivalent for most Windows programs.
    In the past one of the biggest drawbacks of Linux was that there just wasn't a lot of software for it.  For example, there wasn't a good office suite.  There were still good reasons to use Linux for servers and other heavy-duty applications, but it was a significant hardship if you wanted to use Linux to replace a Windows PC for standard desktop uses.
    This has changed; now there is a wealth of software applications for Linux, both commercial and open source.  Many of these programs (such as Star Office by Sun) have the ability to import files from Microsoft Office and other popular programs.  (There are still some problems when importing Word or Excel files with complicated formatting, but I expect the situation to continue to improve.)
    I want to stress that I'm not one of those purists that think that all software should be "open source." (Unlike most commercial software vendors, "open source" developers release the source code for their programs to the public.  This allows other developers to review or enhance it, but may also limit the software's profitability.)  Linux is like television; it's an open standard that allows both "free" and pay-per-view products.  As more companies release Linux versions of their software, it makes the OS more useful and therefore more valuable to all.

9. Linux provides a friendly graphic user interface.
   Another thing that Linux (like its parent Unix) was missing in the old days was a user-friendly interface.  Users had to do everything on the command line (remember what using DOS was like?)   That is, you had to remember a myriad of commands with a host of options, which you had to manually type in on your keyboard.  When Apple released the Macintosh, with its friendly user interface, people realized that computers didn't need to be so difficult.  When Microsoft "borrowed" the concept for Windows, Unix developers created a windowing system called "X", which was soon ported to Linux.
   X Windows was quite primitive to people who were accustomed to a Mac or MS Windows, so Linux developers went to work, using X as a foundation for a more powerful graphic interface.  Because Linux is an open system, there were competing efforts by developers with differing philosophies.  The two most popular systems are called KDE and Gnome.  The former is more mature and stable; I prefer the latter because its "look and feel" seems more natural to someone accustomed to Microsoft.   It's not a critical choice, because applications written for Gnome will generally run on KDE, and vice versa.  Once you get over a few jarring differences from Windows (like single-clicking versus double-clicking, and the absence of the "hourglass" cursor), the Linux graphic interface is quite usable.

8. Linux is more efficient.
   I admit that I'm a packrat; I accumulate computers like some people collect stamps or beanbag toys.  When I buy a new PC, I usually keep the old, and hook them all up to the Nakota Software local area network.  Sometimes we also fix broken PC's that others have abandoned, and put them to good use.  One thing I've discovered is that an old computer that ran intolerably slowly under Windows seems to perform reasonably well when reloaded with Linux.  Linux can't make an old machine run faster, but it does make better use of the cycles it has.
   One of the best ways to make Linux more efficient is to configure it without the graphic interface.  X Windows is something you don't need when running a Linux server, or on an embedded PC.  (Microsoft doesn't allow you that option.  DOS is not a good alternative, because it doesn't have any of the native networking, memory, or multitasking support that's built into Windows.)  Linux can do anything and everything in its command-line (DOS-like) mode; its graphic interface is strictly an add-on.
   High-end applications (such as high-traffic web servers) are a little harder to quantify.  Most of the benchmarks I've seen tend to reinforce my opinion that Linux is inherently better designed.  When a Linux server is compared with an NT server "out of the box" (without tuning) Linux is usually the winner.  As far as raw speed in high-end configurations (e.g., machines with lots of memory and multiple processors) it's hard to say, because both Linux and Microsoft are constantly improving (one of the benefits of competition!)  Do your research before choosing (one good website is www.kegel.com/nt-linux-benchmarks.html.)

7. Linux supports a broader range of hardware.
   Sometimes I suspect that Microsoft's secret corporate mission is to subsidize PC manufacturers by continuously requiring faster processors, bigger disks, and more memory.  Progress is great, but the downside is that a PC that was cutting-edge when you bought it becomes obsolete by the time you get it out of the box.  In many cases, you may not want to replace your PC after having for only a year or two, but the newest software requires it.  For businesses, which may have tens, hundreds, or even thousands of PC's, the expense becomes geometrically worse.
   Microsoft has been reasonably good about backward compatibility, supporting older systems and a broad range of hardware.  But even giants have their limits.  When they released the "professional" versions of Windows (NT, 2000,etc.) many of the devices and peripherals that had once worked with Windows 95 and 98 were not on the list.  It's just not profitable for Microsoft so support "obsolete" devices.
   But Linux is driven by volunteerism and the needs of users.  If there is no driver for a particular device, someone can write one, because Linux is an open system.  Hardware vendors are beginning to see the value of Linux, and many of them now provide Linux drivers as a matter of routine.
   Linux has also been ported to kinds of hardware which Microsoft would never attempt.  It runs on Macintosh, Sun workstations, even IBM mainframes.  All this is possible because of the "open source" nature of Linux source code.

6. Linux plays well with Windows.
   Many companies may be disillusioned with Windows (its instability, the expense of licensing, the continuous upgrades) but don't want to throw away the huge investment they've made in Microsoft software, nor do they want to retrain their personnel.  The good news is that you can take advantage of the strengths of Linux without losing that investment.
   Most businesses have their PC's them interconnected in a local area network.  Typically, one or more of these machines is a "server", which may host a database, control printers, or manage an Internet connection.  Linux PC's make great servers, and they can be configured to use the same network protocols used by Windows, thus they appear like Windows machines to the rest of the network.  Except for the IT department wizards who maintain the systems, employees need access the servers only through their Windows PC's.  This means that they don't need to learn a new system.

5. Linux is more secure.
   The Internet is one area in which Linux is already a serious challenger to Microsoft.  A large proportion of web servers throughout the world run on Linux machines.  Because networking is a basic part of the Linux mission, network security is an inherent part of the system.  When a security problem is found, Linux developers are able to reach quickly, and create patches which can be distributed via the Internet to fix the problem.
   A modern Linux install CD give the customer several options on the degree of network security, from "wide open" to "paranoid."   On an internal company network, for example, there may not be much of a problem.  But once it's connected to the Internet, it makes good sense to be much more careful.
   This is another area in which Microsoft has a rather poor track record.  It has left  its
system open in some pretty foolish ways.  For example, allowing email in Word format was a mistake, because Word files may contain one or more macros (simple programs) which could contain harmful viruses.  The simple viewing of such an email can infect the recipient's computer.  Such dangerous features don't get incorporated in Linux email programs.

4. Linux is more stable.
   Linux is a lot more difficult to crash than Windows.  I know this from personal experience.  Windows is usually pretty stable on a new machine; but as you add applications, it starts to have trouble.  Sometimes this is because software libraries are updated in a way that breaks the functionality of existing programs.  Upgrading to a newer version seldom helps; problems are inherited from the old version.
   In Windows, a misbehaving program often brings down the system.  In Linux, if an application causes trouble, it's usually sufficient to kill the application.  On other occasions, logging out from the user session (then logging back in) will do the trick.  Linux even has a command called "uptime" which gives the number of days the system has run since being rebooted.  Here at Nakota, we have an ancient Packard Bell running Linux as an internet firewall for my local area network.  At the time of this writing, it had been up continuously for over six months.  (It's on an uninterruptible power supply, of course.)
   In one recent example, IBM chose Linux (over Windows) for the automation of a new semiconductor fab in New York.  The reason was the reliability of Linux; in an evaluation, Linux performed flawlessly for three months, whereas the Windows-based system failed after about a week.  (See EE Times, August  5, 2002;  the URL is http://www.eetimes.com/story/OEG20020805S0039)

3. Linux allows you to keep control of your own data.
   As a software professional, I understand the need for Microsoft and other software vendors to protect their intellectual property.  To this end they all have an "End User License Agreement" which the customer must accept before running the software.  One objectionable clause finds its way into most of these so-called contracts, and that's the prohibition of "reverse engineering."  This is a problem, because some companies may not want to share the details of their interfaces or file formats.  This makes it impossible to import or export files, or to make interoperable software, without that company's permission.  Currently, the "reverse engineering" prohibition is seldom enforceable.
That may change if the proposed legislation called UCITA (Uniform Computer Information Transactions act) is passed in all or most of the states (currently it's law only in Maryland and Virginia.)  If "reverse engineering" is strictly forbidden, that could put Microsoft customers at the mercy of Microsoft for access to their own data.  Microsoft could then effectively forbid data files from being imported into competitors' programs.
A customer might run afoul of the law by trying to extract its own data from Microsoft-created files.
   This scenario is something that can't happen with Linux.  Although Linux programs can currently handle many proprietary file formats, the emphasis has always been on open, published standards.  Nothing will be kept secret from the user, because Linux puts the control in the customers' hands.

2. Linux is more economical
   Linux is widely touted as a "free" operating system, but to quote Robert Heinlein, "There ain't no such thing as a free lunch."  Yes, you can download a Linux distribution for free over the Internet, but it will still take time and expertise to get it running.  What "free" means in this context is open, like "free speech."
   Regardless of the fact that Linux has a non-zero cost, it can be much more economical than running a proprietary system like Windows.  There are no per-machine or per-user licensing fees.  You may pay for a CD from a Linux distributor, but nothing prevents you from putting Linux on multiple machines.  The long-term cost can also be lower.  With Linux there will be less lost productivity due to system crashes.  Also, Linux cannot force your organization to do periodic and costly upgrades.  Major problems (such as security holes) can be handled with simple patches to the code.  There's no need to upgrade until your business is ready.  For more thoughts on the cost of ownership issue, see http://linuxofficesolution.com/cost_analysis.html

1. Linux has good support.
   Typically, the biggest worry of management over choosing Linux is this:  will we have support?  The answer is yes.  There are numerous companies that provide Linux distributions such as Red Hat, Mandrake, SuSE, Corel, and Caldera.  There may be free support for a limited time, and beyond that, fee-based support is available. If the distribution company's help is not satisfactory, there are hundreds of consultants that can help you.  The popularity of Linux among serious computer users, and its similarity to Unix, assures that there's no shortage of talent.  There are even certification programs for software professionals similar to those run by Microsoft.
   Another alternative: if you have well-trained IT personnel, there is a wealth of data, available for free on the Internet, that they can use to solve problems.  Linux users are famous for helping others; they post detailed instructions on overcoming problems that they've encountered.  On a personal note, I had a problem using USB devices under Linux on my Sony notebook.  A quick web search and a few simple fixes solved it.
   The Internet is also a good research for finding and comparing Linux support services.  A article on ZDNet dated August 2001 gives a good survey of support services available at the time:  http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2808791-16,00.html.

The above list details what I feel are the best reasons to at least consider user Linux for your next information services project.  Linux cannot be all things to all people, but it has many advantages that make it the best choice for many kinds of projects.  The best way is to ask someone who uses it.  (Here at Nakota Software, we've had Linux in our offices for several years now.)  Happy computing!

Back to Article List

Back to Home

This page Copyright 2002, Nakota Software, Inc.