LightningStrike Studios
PO Box 24040
Cambridge, Ontario
N1R 8E6
1-519-621-1214
info@lightningstrikestudios.com

Save with Open Source

It's a curious fact that while the price of computer hardware has steadily declined over the past few years, the price of software has remained fairly constant and even risen. Today, children are playing games on machines with more raw computing power and faster high-resolution graphics than most scientists and engineers had at their disposal a mere decade ago.

You can now put a capable general-purpose computer on an office desk for under $500. However, loading that computer with legal copies of Windows, MS Office, Adobe Photoshop and the like may cost you twice as much as you paid for the hardware.

Then there's upgrades. You'll likely pay half as much again when the software vendors release newer versions of their applications a year from now.

But there is an alternative.

Welcome to the Open Source World

Open source software isn't new. It's been around in various forms since at least the early 1970's when Vinton Cerf and Robert Kahn shared ideas for an open-architecture network that would later become TCP/IP, the very basis for the Internet. But it has gained wide publicity recently thanks to the popularity of the Linux operating system.

Simply put, open source software is software for which the source code is freely available to the public. You can usually download it from an Internet site or obtain it for a nominal fee on CD. You then compile the code yourself, with your own options and modifications. Often, someone else has already done this for your type of platform and has posted the resulting binary files, saving you some time.

You're encourage - but not required - to contribute something back into the project. (See the sidebar "Giving Back to the Community.") You are also free to redistribute the application. You can make copies for friends and co-workers, install it on as many computers as you wish, and even post it back on the Internet.

Giving Back to the Community

The success of open source software depends largely on the goodwill of the public. If you're a programmer you may be able to write the code for a new feature or fix a bug or security hole.

If programming isn't your thing, consider technical writing, graphic arts, legal counsel, translation, or providing support for other users.

And, of course, monetary donations are always welcome, made either directly to the developers of a particular application, or to organizations like the Open Source Initiative or the Free Software Foundation.

This contrasts with most commercial software; you pay a fee - anywhere from nominal to exorbitant - and receive the application in a compiled, binary form. You never see the underlying code. In some cases, decompiling or reverse engineering the code can land you in a mess of legal trouble. Making copies, except for very limited backup purposes, is strictly forbidden. Unless you purchase a license that expressly permits it - and which usually costs a lot more - you can't share the application on a network file server for others to use.

Your use of open source software is governed by an End User License Agreement. The authors of an application may release the software under any license they wish, but in general, open source licenses give you the right to use the software however you please without accounting to anyone. (See the sidebar "Open Source or Free Software?") Since you have complete access to the source code, you're also free to modify it as you wish. Most licenses will specify that any additions or modifications you make to the code, if redistributed to others, must come under the same license agreement. You couldn't legally take an open source application, tweak it a little, and sell it as a closed source (proprietary) product.

There are thousands of open source applications available on the Internet. Sourceforge.net, a gathering place and support site for open source developers, lists more than 90,000 projects and has more than 950,000 registered users. While most of these projects are small utilities or highly specific system drivers written by individuals, some are full scale, feature-rich applications competing with expensive commercial products.

At the operating system level, the most popular offering by far is Linux, available in a plethora of flavours or "distributions."

In the realm of applications there's the Mozilla web browser and e-mail client; the GIMP image editing program; and OpenOffice.org office suite with word processing, spreadsheet, presentation, and graphics tools. A very capable SQL database can be found in MySQL.

Even if none of these are familiar, don't think for a moment that you don't use open source software all the time. As of this writing, 67% of Internet web sites run on the open source Apache web server, and many of these generate dynamic content using the open source PHP and Perl scripting languages. Have you ever searched for a web site using Google? The platform for one of the world's most popular search engines is a cluster of more than 4000 Linux servers. Have you ever typed a web site address into your web browser and been taken to that site? The Domain Name System that resolves these addresses on the Internet runs largely on an open source product called BIND.

The state of the open source movement is such that you could now equip your home or office computer - from the base operating system to productivity applications and games - without ever touching an expensive, shrink-wrapped commercial application.

Open Source or Free Software?

All free software is open source, but not all open source software is free. The difference is in the definition.

According to the Free Software Foundation, the primary proponents of "free software," there must be no restrictions on the use you can make of the software. You can modify the code in any way, without obligation to report or share those modifications with anyone. You can incorporate the free software into your own application. You can redistribute the software as you wish. You can even charge a fee for distributing it.

Under the open source model, promoted by organizations like Open Source Initiative, you still have full access to the source code for an application, you can use it, modify it, and distribute it just as you can with "free software," but there may be some restrictions, such as a requirement to report your modifications to a central body in charge of maintaining the code.

The Free Software Foundation claims that the term "open source" may still apply to software that restricts users freedoms, while the Open Source Initiative claims that the term "free software" is too ambiguous.

Apart from the deeper philosophical and ethical implications of the opposing yet complimentary open source and free software camps, if you just wish to download and use the software, there's really little difference. If you want to modify the code or redistribute it, or write your own open source / free software, be sure to read the license agreements carefully.

Apples to Oranges

How does open source software stack up against the closed source competition?

On the basis of initial purchase price, open source software can't be beat. MS Windows XP may cost $125; Linux is free. MS Office may cost $250; OpenOffice.org is free. Adobe Photoshop may cost $500; GIMP is free.

Of course, the initial sticker price is only one component of the total cost of ownership. Other factors include training, support, conversion, and more intangible issues like compatibility, security, and legal defence. (We'll discuss these in greater detail shortly.)

And when it comes to features? That depends on the application in question. As we've seen, there are thousands of open source applications. Some are bound to be better than others. Some are quite new while others are more mature and further along in the development cycle. Some are being worked on by only a handful of weekend programmers for whom writing code is only a hobby; others have the attention of scores of experienced professional developers working to refine the application for use in a commercial setting. (Some of the developers of GIMP, for example, work for major Hollywood studios and special effects houses. Their updates to the application have an immediate benefit to their own companies.)

This being said, when comparing open source applications with their commercial competitors, the commercial packages from major vendors often come out on top. Microsoft's Office 2003 boasts a greater number of features than the current version of OpenOffice.org.

But numbers of features alone may be misleading. The question should be not, "Which application has more features?" but, "Which application has the features I need?" A commercial application may have hundreds of apparently powerful features, but is it worth the full cost of the license if you're only going to use a small fraction of them? If a free application provides that same subset of features without the high price tag, might it not be a better choice?

Another factor to consider is release cycles and the cost of upgrades. Commercial software vendors make more money if they can convince you to purchase updated versions on a regular basis. To do this they may add a plethora of unnecessary features, resulting in what has come to be called "bloatware." But consumers have begun to realize that they don't always need those features and can afford to skip a version or two. To counter this, some vendors have started offering subscription upgrades. Buy the software, then pay more to be entitled to any upgrades released within the next year, with the promise that it will be cheaper than paying the full cost for the new version. And if there are no upgrades that year? Well, the vendor already has your money.

By comparison, updates to open source software cost you the same as the original application: nothing, or very close to it.

Further, open source developers tend to release updates more frequently than their commercial counterparts, if only because there's no need to justify the cost of an update to existing users, or work through a bureaucratic approval process of a management body focused on profits.

Are There Thorns on the Roses?

Some may insist that there must be a downside to open source software, disadvantages that make it unsuitable for the business world. So let's address a few of the common detractors.

The code for an application is open to everyone, potential developers who wish to improve it, and malicious hackers looking for vulnerabilities. Of course, hackers look for vulnerabilities in commercial software too, and often find them. But while a closed source application may have a handful of paid developers examining the code for bugs and security holes, a comparable open source product is under scrutiny from dozens, even hundreds, of developers. This continuous peer review makes for more stable, secure products.

A commercial software vendor may hide any vulnerabilities they discover until they have the resources to fix them, or until they're forced to acknowledge them by a public watchdog. Open source developers are more inclined to reveal potential holes quickly, knowing a storm of programmers will immediately tackle the problem. There's a certain prestige among programmers that comes with being the first to solve a puzzle, so that the more significant the hole, the more likely it is to be plugged quickly.

OpenOffice running under Gnome on Fedora Linux

If the closed and secretive nature of commercial software really fostered greater security, we wouldn't see the glut of bugs and security holes plaguing those applications. A study conducted at Stanford University found 0.17 bugs per 1000 lines of code in the most recent Linux kernel, compared to 20 to 30 bugs per 1000 lines of code in typical commercial software. Further, many of the bugs found in the Linux kernel have already been corrected by the open source community.

Another concern often voiced by those hesitant to make the leap to open source software is the threat of litigation. This often comes as fallout from the SCO lawsuit against IBM and other Linux vendors, as well as against major Linux users like DaimlerChrysler. It should be noted though that those cases are still pending in the courts, that counter suits have been filed, and that SCO's position is far from stable.

To allay the fears of the nervous, some companies - IBM, Red Hat, Jboss Group, Novell, and others - now offer indemnification to those who purchase their support packages. They'll take the legal and financial heat if the lawyers come knocking.

We should also remember that commercial vendors themselves are not immune to the spectre of the law. New claims are being filed by companies large and small every day. Microsoft is now in a heated battle with the European Commission after emerging bruised from a similar encounter with the U.S. Department of Justice.

Another issue often cited is the lack of formal support for open source applications. This is a valid observation. Some open source systems, Linux and OpenOffice.org in particular, have grown in popularity so quickly that the I.T. education infrastructure hasn't been able to keep up. It may be difficult to find individuals or companies with formal training on the products.

But that doesn't mean support is unavailable. Just as open source software is developed by volunteers, it is often supported by volunteers. Internet sites, discussion forums, and chat groups dedicated to open source support abound. Neophytes are welcomed and one can often get an answer to a question within hours if not minutes.

Further, major hardware and software vendors such as IBM, Hewlett-Packard, and Novell provide paid support for their open source offerings.

Stepping Over

What can you expect during a migration to open source software?

While any deployment of a new application will present some challenges, when moving to open source you may encounter a certain prejudice among users. The adage, "You get what you pay for" is quoted, with the attendant reasoning that open source software can't be any good or it wouldn't be free.

Another common obstacle is explained by Stuart Box, owner of The Burningsuit Consultancy in West Sussex. Speaking of Writer, the word-processing component of OpenOffice.org, he says, "Writer just looks different, in some user's eyes it's 'wrong,' and can they have their MS Word back now please."

Links to Sites Mentioned in this Article

This attitude may be more prevalent in established environments where users are comfortably set in their ways, than in a new startup where policies and practices are not yet cast in cement. Still, some systems - MS Windows and MS Office typically - are near ubiquitous. Even new employees will likely already be familiar with those tools and may bristle if asked to try something new.

The remedy for these obstacles is sufficient training before and during the deployment, followed by responsive support afterward.

Stuart Box comments, "In my experience most OpenOffice implementations fail because of lack of training. The user installs OpenOffice, and then tries to use it as though it were a clone of Word or Excel, and fails. Menus are different, toolbars have a different layout, some functions have different names. Users become rapidly frustrated. Different equals wrong, and they ditch OpenOffice and go back to MS."

Further, it's wise to tailor training sessions to your user's needs, understanding that users in different departments may have very different requirements. Don't assume that everyone is at the same level of experience or will be performing similar tasks. When it comes to training, one size does not fit all.

Ian Johnson oversees the Information Department of Migrant Helpline, a charitable organization in Dover that assists refugees seeking asylum. While Migrant Helpline's staff of 200, taken as a whole, may represent a typical office environment, the Information Department's eleven members' needs went beyond the norm. Their work includes designing forms, brochures, posters, and presentation materials, both online and paper-based, in a variety of languages using different scripts. They also keep a gallery of digital images and maintain the content of the organization's web site. In all, it's a much more complex set of operations than your average memos, spreadsheets, and e-mail; a tall order for any software suite.

Regarding their move from Microsoft Office on Windows to OpenOffice.org on Mandrake Linux, Ian comments, "This has not been a smooth transition." That's not to say he thinks his organization should return to the Microsoft camp. He recognizes that many of the problems they've encountered are partly due to the unique needs of his department. "It is likely that users in other departments who are using the software for more basic procedures are not experiencing as many difficulties as we are. We use the higher end functions of the software."

Echoing Stuart's comments, Ian says, "Most of the staff in our department has been using Microsoft Office on a Windows platform for the best part of a decade. It is accurate to say that most of the perceived limitations were down to unfamiliarity with the new software."

To overcome these limitations, Ian sees training specific to the user's needs and provided early in the migration as crucial. When asked if he encountered any significant issues due to limitations of OpenOffice.org, he responds, "Nowhere near as many limitations as we first thought. In recent weeks we have been provided with very informative and well-delivered training sessions which have provided us with a demonstration of the sophistication and power of the new software."

After the migration is complete, don't abandon your users, assuming they've got the new system down pat and can now cope on their own. Ongoing support will be required. And if your support organization - whether internal or outsourced - can spend time in each department responding to those user's specific needs, so much the better.

If at all possible, take a volunteer from each department, preferably a technically inclined individual, and provide them with more in depth training. Those people can then act as the application champions for their departments. These champions could even form a user-group within the company to support each other. Of course, make sure they're given the time required for this extra responsibility.

In any case, whether migrating to open source software or a commercial application, carefully weigh all of the pros and cons. Ian Johnson recommends that the feasibility of such a migration be studied in minute detail before any action is even considered. "All of the needs and requirements of all the users at all levels should be taken into account and a fully comprehensive risk assessment carried out." Sound advice in any endeavour.

It's Your Choice

Without a doubt, open source software offers an attractive alternative to expensive commercial applications. The savings on license fees alone may be enough to convince you to use it in your company. But what really matters most is that you have the choice.

Stuart Box observes, "If open source can provide a creditable alternative [to commercial applications] and give users a free choice, that's got to be better than being subject to the monopolistic behemoth dictating how you should use the only software available."