All About: Open Source

2005-05-25

Open source software has been touted as a revolution in software development, striking fear into the major computer companies and glee into individuals who feel such companies have had their way for far too long. Open source involves software being developed using a community model (for “community” read potentially anybody with an Internet connection), and the resulting packages are released for free – that’s free as in free speech, not free beer, as one open source project developer has put it.

Here we look at what open source is, and the philosophy behind the development. We consider the business benefits of open source from a development and a deployment standpoint. We examine where to start for open source development, and how the most popular packages Linux and Apaché can be deployed. We look at the downsides of open source, and how the packages and the philosophy might evolve in the future.

What is Open Source

Open source is plagued by two conflicting messages from the IT industry – evangelical zeal on one side, FUD (fear, uncertainty and doubt) on the other. Certain open source packages have stolen much of the limelight, in particular:

• Linux, the Unix-like operating system • Apaché, the Web server package

There are other packages that you may be using without realising it, such as sendmail for mail forwarding. But what is open source? Open source is free software, free to be taken, used, modified. Cynics argue that open source software is anything but “free” – on this, more later but it remains true that it is available at no charge, for example freely downloadable from the Internet. You can “buy” open source – most computer shops stock shrink-wrapped distributions of Linux. However, you pay for packaging and the additional facilities that are bundled. Even this cost is borne only once, compared to a per-license cost for commercial packages. Open source is kept free by licensing arrangements such as the GNU public license – not an interesting read – in summary, it protects against someone taking the source and using it commercially in a way that hinders its “open” status.

In addition, it is possible for anybody to get their hands on the source, that is the programming code for the software. Nothing can be hidden from prying eyes, with the result that its developers are more likely to pay attention to its quality. This is contentious, but would appear to be borne out by open source packages in common use.

Business Benefits of Open Source

Open Source gives us software. This is not a glib remark. Open source software packages should be seen as part of the software catalogue available to companies large and small. Hence the business benefits should be taken as being the same as for any other package, that is “it depends on the package,” As well as the absence of purchase cost, there are additional benefits, which also depend on the package concerned:

• Support – flagship packages Linux and Apaché are well supported, in that companies like IBM will sell support contracts for them. Other packages often have a good following “out there”, with a community of engineers whose purpose it is to improve the quality of the package in question. Remember – it goes with the philosophy. • Stability – as there is no vast corporation out there whose revenues depend on you buying upgrades, you can have more certainty that the package you run now will still be available in two years’ time. • Initial costs may be lower for open source. Remember, however, that the purchase cost is only one element of the lifetime costs of any software package. You should factor in costs of deployment, integration and ongoing management for any software implementation, open or otherwise. Perceptions are important, because some software suppliers hotly contest the benefits of open source. Remember – open source packages can be as risky, or otherwise, as many other packages in the catalogue.

Developing Open Source

Fundamentally, open source is a collaborative model for software development. It involves companies, academic institutions and individuals working together on software projects. Indeed, development of a specific software package is open to just about anyone that wants to take part. This might sound like anarchy, but in fact it is proving to be a surprisingly successful model – surprising, at least, to the cynics who feel that the only way to develop software is through structured processes and corporate hierarchies of staff. (Note that some open source projects do follow structured development processes, and why not.)

Deploying Open Source in the Corporate Environment

Use of an open source package does not have to be a strategic decision, however it may be necessary to convince members of the management that the risks are no different to any other deployment.

Deploying open source need not be so different to rolling out other software products. Here we focus on two specific open source products – Linux and Apaché. Despite being ported to many hardware platforms large and small, Linux is attracting most attention as a server OS. There is a short article at PlanetIT entitled “What Does It Really Cost To Adopt Linux?” which provides a good overview of the issues. Linux is progressing up the processor chain, for example it is now supported as a mainframe OS by IBM. Linux has also been ported to the desktop as well as embedded devices. And, of course, Apache runs on Linux. Finally, it is important to many companies to have a support contract in place. IBM offers services for Linux and Apache, as does LinuxCare.

Issues with Open Source

Dare we mention any issues, and fact the wrath of the open source community? Heck, yes. Let’s put it this way - if open source is a bazaar, would you trust every stallholder? Uh-huh. There are flakey open source packages out there, packages with minimal or no support, packages that end up costing more than they benefit.

The best way to counter this is to do as the stallholders. Talk to people in the open source community, post messages to the message boards, ask the questions. This will serve a number of purposes:

• It will get you in the habit • You will find that answers are forthcoming (and if not, that can be proof that the open source model is flawed) • The answers will tell you what you need to know.

The Future of Open Source

According to some pundits, open source is a revolution, a world-shaking example of how online communities will one day rule the roost. Let’s not beat about the bush – the hackers have Microsoft in their sights. Hmmm… we shall see. In the meantime the products themselves will keep rolling off the production lines, taking their lead from what people are asking for (such as gnutella) rather than what the vendors would like. If you want our opinion, that has to be a good thing.