by Matt Kern
In its short history, the internet has spawned millions of buzzwords (so much so that the inhabitants of the internet are frequently mistaken for visitors from foreign lands). Amongst the dotcoms, webcams, mp3s and jpegs one word stands alone, singularly meaningless to the majority of people. That word is 'Linux'.
So, what does 'Linux' mean? Linux is the name of an operating system, started by Linus Torvalds back in 1991. An operating system is a software package that supports the hardware fitted inside your machine, allowing you to run the applications installed on your machine; the two most common operating systems with which you are likely to be familiar are Windows and MacOS.
Linux has gathered millions of supporters over the last 9 years, for two key reasons: firstly, it is supremely good for implementing network applications (such as web sites, e-mail systems, etc.); secondly, it is Free Software.
If 'Linux' is the most baffling entry in the internet lexicon, then 'Free Software' is undoubtedly the most misunderstood. The phrase was coined by Richard Stallman (a software guru from the USA) more than twenty years ago, but the ongoing confusion isn't entirely his fault.
The fundamental problem is that English only has one word to mean both free as in 'free beer' and free as in 'free speech'. When we speak about 'free beer', what we mean is that we don't have to pay for it (if only...). 'Free speech' on the other hand reflects a basic human right or freedom.
Free Software is about freedom, not price.
Freedom to do what? Freedom to use, copy, distribute and modify the software in any way you see fit. Most software licences are more restrictive; they prevent you from copying (except for the purposes of backup), distributing and modifying the software, and often allow you to install and use the software on a single machine.
To understand why this freedom might be useful, let us quickly compare two identical software products, only one of which is Free Software. Initially, there are no problems with either product; productivity is high. Then, one Monday morning, you discover a bug in the software that deletes all of your data. For the product which is not Free Software the only thing you can do is report the bug to the authors and wait for them to fix it. The Free Software product allows you to take independent action in addition to informing the software authors; you could fix the bug yourself, pay somebody to fix it, or download a fix from the internet. If your business depends on the bug being fixed, the distinction could be important.
In another scenario, you might have a regularly used software product which is lacking one key feature. That feature could give your business the edge over the competition. For the product which is not Free Software you write to the product's authors and request that the feature be added. The authors reply that while the feature would be useful, they have no plans to implement it in the foreseeable future. You're stuck. The Free Software product allows you to take independent action in addition to mailing the authors; you could write the new feature yourself, pay somebody else to write it, or search the internet for people that have already implemented the feature and would be willing to share it.
From the above two examples, it is clear that the Free Software product grants you the freedom to take matters into your own hands, while the product which is not Free Software ties you to the decisions of the software's original authors. To sweeten the ideology further, Free Software is also supplied at zero cost; it is this which contributes most to the misinterpretation of Free Software. In addition to the end user benefits, the freedom expressed in Free Software enables developers to co-operate in large, loosely-knit teams. It is this aspect of Free Software that has lead to the rapid evolution of Linux and the explosion of applications that run on it. But all is not perfect in paradise. The distributed nature of software development over the internet has lead many to question the reliability of the software produced. How can a team of loosely-knit developers, often working in their spare time, write packages to rival the top commercial counterparts?
The developers that write the top commercial software are also often the same group that write Free Software. They also have at their disposal all the Free Software tools that they developed; e-mail, ftp sites, web sites and the internet itself were all conceived and developed to overcome the communication problems inherent in distributed groups.
In assessing the quality of Free Software, it is crucial to realise that the more people that use the software, the more development time goes into the software, and the more reliable the software becomes. Packages such as Apache (web server) and BIND (domain name server) have had countless hours of development time, and are world leading in terms of deployment and dependability. It is also important to remember that most Free Software is written by people that want to use its functionality. This is in stark contrast to the majority of commercial software which is written by people that don't have to use the end product. Personal interest is a potent driving force behind quality.
To summarise these quality issues, Linux is a stable server platform; the operating system itself is stable, and so are the most commonly used software packages. It is unlikely that the software you require for any given server application will be any less reliable than that of a similar commercial product, and in these legally enlightened days, you often have to pay to receive fixes for the commercial software you buy. In many cases, the turnaround time from finding a bug to having a fix is considerably faster for Free Software packages than for commercial counterparts, since there is no reason not to release the Free Software package as soon as the fix has been applied; commercial products are often only released once a sizeable number of fixes and new features have been accumulated.
To further dispel fears about software quality and availability, many of the most popular, enterprise class applications are migrating to Linux in addition to their current platforms. Big name companies, such as Oracle, Intel and IBM are supporting Linux, promoting their products running hand-in-hand with Linux.
Given the abundance of relatively cheap hardware, a stable server platform and the requisite software, it would seem that you have a firm base for your networked operations... or maybe not.
In order to run a successful IT infrastructure, you need more than a CD of software and the machines to run it on. Technical support is the life-line modern companies need in order to keep their systems running all day, every day. Regardless of whether you hire or buy in the skills you need, you want to know that whomever you choose is equal to the task. Gauging competency is always a tricky business, and one that, until recently, the Linux community had not properly addressed. The nature of distributed development does not lend itself to metrics, so it was not until Redhat Inc. rose in power that Linux had any yardstick by which to measure competency. Thankfully, Redhat's certification programme completes the final part of the picture, rendering Linux a rounded and robust platform for commercial applications.
But what is Linux actually used for? The major strength of Linux is its networking ability, and as such Linux makes an ideal platform for many of the new applications born from the communications revolution we are experiencing at present; web hosting, paging services, email gateways, database servers, firewalls, file servers and print servers can all benefit from the speed and stability of a network operating system like Linux.
Concentrating for a moment on a typical internet based applications, let us take a look at the potential advantages of using Linux to run an e-commerce site. Linux has reached a point where reliability is not a major concern; this is essential, since you cannot afford to make mistakes where a customer's money and service are at stake. If set up correctly, there is nothing to prevent a Linux machine from staying in the field for many months without any human intervention whatsoever; this compares favourably with some of the less reliable commercial competition. Not all the competition is so flaky. The robustness these operating systems gain comes at a high price. They tend to be less adaptable and are particular about the (expensive) hardware they run on. This tailors them for the high end market but leaves the remaining ninety percent untouched.
Using the online libraries of Free Software simplifies the development and deployment of any bespoke applications on your site. Your solutions can draw upon a variety of Free Software web servers, programming languages and interpreters, interface libraries, command line tools and databases. You can of course still run supported enterprise class commercial products if you desire. However, commercial software can be expensive and achieving interoperation between multiple commercial software packages can often be a costly and time consuming operation, if it is possible at all.
Stability and reliability reduce maintenance costs and push up the quality of service you can offer. There is also the added benefit that Free Software products do not have upgrade costs.
Similar benefits can now be reaped in the office. Until the advent of KDE and GNOME (two desktop environments), Linux machines were perceived as user unfriendly. This is changing rapidly and desktop Linux machines are becoming more common. Linux's ability to talk with other machines and operating systems allows it to happily coexist in mixed operating system environments. Many software firms have moved into the Linux desktop application market, producing the word processors, spreadsheets, and accounting packages that a modern company needs.
The stability that is so desirable in e-commerce applications can also be put to good use in the office. File and print servers form the backbone of many intranets; any productivity gains made by using this technology can quickly be wiped out if the servers crash. Linux servers will happily fill the void, operating for many months on machines with very limited resources; you don't need the expense of a brand new, top of the line machine to run your intranet. We recently installed a Linux intranet solution for a client, reusing a defunct and underpowered desktop machine. The server functions happily as a file server (for a mixed network of miscellaneous Windows PCs and a variety of Macs), internet gateway, internet firewall, email server, mailing list server, intranet web server and recently, with the addition of a tape drive, a backup and archive server; this has all been achieved with negligible hardware expense and no software expense. The rewards are not limited to fiscal savings; the server has not crashed once in the five months since it was installed.
In brief, Linux is proving itself a powerful operating system for network applications. If all you need is a server platform, then you can benefit from Free Software; if you are looking to develop software to give your business the edge, you can benefit from Free Software. Regardless of your needs, Linux can probably help you; flexibility is one of Linux's strongest cards. There is virtually no application to which Linux has not been put. As a result, the internet has become a gold mine of Linux based solutions, some of which may be applicable to your business needs. Related applications can often be adapted or extended to fit your requirements at a fraction of the cost of a full scale bespoke solution.
Concerns about stability and reliability are diminishing as Linux usage increases; more and more established companies are moving to Linux as the marketplace grows. As a result, I predict that we will continue to see Linux making headway not only in the server market, but on the desktop, where its power can often be used to good effect. Despite the growing market share, support worries will continue to diminish as Redhat, VALinux and the other important players in the Linux world firm up their certification and technical support services.
Every company needs or will shortly need an online presence. If all you want is a web site and a handful of email addresses, then you are probably better dealing with a company that specialises in providing such services. If you are looking to take bolder steps into the arena of e-commerce, then I recommend that you consider your choice of server platform carefully.
[ top ]