Opting for Open Source
Open source software is the ultimate forum topic for any uber-geek who's taken the opportunity to taste its crunchy nougat-filled goodness. Few topics generate the level of religious fervor that this single topic does. Those who oppose its use cite potential lack of support, security issues, sporadic updates, verification that the code is original to the author and that developers may license their code under any of the existing 64 different open source licenses as insurmountable disadvantages. Cover Your Assets: Open source software is all about freedom, but is the price of freedom too high?
Open source software supporters will quote a host of advantages to you such, as source code access, the ability to alter the source code for any purpose, low or no cost, and access to the latest innovations the world's best minds have to offer. Even the most rabid open source devotee will admit to the model's downsides, but they are quick to add that the advantages outweigh the disadvantages, and the price is right.
Whether open source software is a good choice for you really depends on the license the software carries, how many developers support the software and if your use of the code requires anything from you such as donating your fixes or enhancements back to the project. The best advice here is to do your homework for any project you're considering for commercial use.
Starting With Open Source
Before embarking on any new software project, my personal mantra is that "It's easier to edit than to create." I find it's often easier to start with an existing project and build upon it to fit my needs. Having access to a project's source code saves me from racking up hundreds of hours researching and developing a new application. Does that sound like cheating to you? It isn't. In the purest sense, open source software provides a starting point from which to continue on your own.
Since many open source project developers are hobbyists or programmers working on personal projects on their own time, they provide software that's useful to them but that might not fit the needs of everyone else who downloads and uses it. An open source license allows you to download the software, edit it to fit your requirements and use it without payment to the author or other licensing fees. You may also build your software for resale without payment to the original author. Part one (Free Redistribution) of the Open Source Definition states that fact explicitly.
Dealing With the Disadvantages
So, where's the downside to the open source model, you ask? If you consider the list of disadvantages given by its adversaries, you have your answer. First, there's nothing in the Open Source Definition that states the source code in a project must be original work. Maybe it's an implicit assumption by the Open Source Initiative Board, or on your part, but perhaps it shouldn't be. Second, if you can tolerate a potential lack of support; sporadic, if any, updates; and infrequent or nonexistent security patches from its authors, then proceed at will with your project. However, if you're counting on the primary developer to provide you with those extras, be sure to ask for a written agreement prior to using the software. Don't expect the developer to bestow that level of support free of charge. The software might be free, but support is another story.
Open source software presents a dilemma for the potential adopter. On one hand, you're able to acquire a piece of software free of charge, saving you thousands of dollars and development time. On the other hand, unless you're an adept programmer or have one at your disposal, open source software is a huge risk to your company and its data.
Next week, we look at the commercial software option for your company's needs. Peace of mind comes at a price but lowers your risk. Write back and tell me about your experiences with open source software projects.
Ken Hess is a freelance writer who writes on a variety of open source topics including Linux, databases, and virtualization. He is also the coauthor of Practical Virtualization Solutions, which is scheduled for publication in October 2009. You may reach him through his web site at http://www.kenhess.com.