Sunday, March 21, 2010

How do I know if an open source software product is right for my organization?

More and more organizations are relying on open source software to build, test, deploy, and run mission critical IT applications. From small start-ups to Fortune 500 companies, organizations worldwide are continuing to find open source as a cost effective means to deliver quality business applications. With a wealth of commercial and open source software options widely available, how does an organization know if an open source product is right for them?

Here are several critical factors to consider when selecting open source software.

Community
Understand the community around the software. Perform a job search for postings referencing the technology. The results will give excellent insight into the usage of the software. In addition, ask yourself the following questions. How many times has the software been downloaded? When was the last release? How often are changes made? Are the forums alive and well? Are there frequent tweets (via twitter) regarding the software? Is the wiki alive and well? How often is the wiki updated? Are there books written on the topic? These are all great questions to ask yourself to get a better understanding of the community that exists around the software.

Expertise
Make sure you can find expert talent to work with the software. Determine if that talent exist within your own staff. If not, then consider training programs. Also, talk to local consulting companies with the proper expertise.

Quality
Research and experiment with the quality of the software. Talk to expert users in your area. Take a look at bug reports. Perform a proof-of-concept. Take a look at the source code and associated test cases. And, don’t forget to take a good look at the documentation. Without good documentation, it can be very hard to get started.

Usage
Consider the usage of the software. Open source solutions exists for a wide-range of applications including small code libraries, frameworks, development tools, application servers, enterprise grade databases, operating systems and more. When looking at open source, the planned usage of the software will probably dictate how closely you evaluate it. For example, you may take more time evaluating an enterprise database than you would a build tool.

Ownership
Learn more about who owns the software, and understand the owner’s motivation. Is it owned by an individual working part-time with the hope of sharing their code with the world? Is it owned by a non-profit organization with significant funding and a solid base of volunteers? Or, is it owned by a business or individual entrepreneur using the open source model to increase product adoption? The answer to these questions may help you better understand the long-term viability of the open source software.

Limitations (if any)
Make sure you understand the limitations associated with the open source version of the solution. Several open source companies offer open source and commercial versions of their product. The commercial versions generally offer enhancements that may or may not be critical to your application. If you feel the commercial version is important, then keep in mind that you may be able to upgrade to the commercial version at a later time.

Support
Understand the support options available. It used to be the case that many organizations feared open source because the software lacked commercial support options. Today, this is not always the case. Most widely adopted open source solutions have medium-to-large sized companies offering support contracts as well as indemnification. In fact, it’s not unusual for open source support companies to offer more responsive support than the alternative commercial software.

Licensing
Always consider the open source license associated with the software. Most products will have a link to a description of the license on their website. Certain licenses may limit your ability to use the open source version of the software.

Open source software can be an excellent option when trying to lower IT costs. But, it’s not always an obvious choice. Considering some or all of the factors outlined above can help your organization make the right choice.