Shared Characteristics of High-Quality Open Source Projects

By Justin Kerr
April 26, 2010

Choosing an open source solution to meet a communications or IT need can be a very beneficial business decision. However, a bewildering range of options makes picking the right open source project anything but easy. Fortunately, good solutions tend to share some common characteristics which can be of assistance when evaluating a particular platform for your IT and communications needs.

The following points comprise a rough checklist of considerations when evaluating a particular open source solution.  You may have additional ideas and feedback; please use the comments at the bottom of this article to share them!

Project longevity and market penetration

Some open-source projects have achieved significant success and market dominance through many years of providing a valuable, continually improving software resource.  The Apache Web server software is a good example of a fully accepted, integrated and deployed open source software product that continues to lead its market.  Well-established open source projects like this have penetrated every nook of business, even at the enterprise level: They are commonly recommended as part of standardized solutions, and third-party vendors (even proprietary ones) sometimes build entire product/service offerings based on an open source platform.

Other, newer, open source projects bear closer inspection.  Many valuable open source projects are only a few years old, often leveraging earlier technologies and existing software libraries to create entirely new products.  In this case, looking at the install base of the software (or the number of times it has been downloaded) can provide a means of comparison of the market penetration of different software platforms.

Who else is using it?

Valuable lessons and benchmarks can come from organizations that already use the software. Look for deployments with similar sets of functional and business requirements as your own. You may be able to find white papers that describe the company-wide adoption of a particular piece of software, or evaluate the Web site of a company using the software to see if any effects are noted or visible.  Checking with business contemporaries and professional associations is another avenue toward anecdotal evidence that can swing a decision.

Does it have strong backing?

Many major companies (notably IBM, Sun, Google and many others) have made significant contributions to open source by donating code and/or person-hours to specific software projects.  These open source projects often have significant install bases and organizations devoted to their use, with solid ongoing support and little chance they will ever fall out of usage.

An open source project may have significant self-backing as well, and one of the hallmarks of a good open source project is its capability to grow through self-governance.  After a certain point, a successful project needs to adopt a workable structure to manage its growth and development while still keeping the community engaged and the project moving forward.  Processes for managing disagreement and even dissent are critical to continued growth and are a hallmark of a quality open source project.  Many even formally adopt not-for-profit-like models and establish full organizations to help manage the project; some have the capability to also pay developers for their involvement.

How extensive is the project's ecosystem?

The community surrounding an open source project is its heart and its most important component.  A thriving community – as can be measured through its discussion forums, user groups, events and spin-off projects – is essential to the ongoing operations, adoption and growth of an open source project.  Discussion forums should be active with both new users asking questions and experienced hands chipping in with help and advice.  Moderators will police the forums and regularly remove spam and problematic users.  Channels should be open for anyone to jump in and start helping out with further product development, from submitting bug reports to working with the latest versions of development code.  A large, successful project will often contain personalities comprised of leading contributors, project leaders and outspoken community members.

Another sign of a healthy open source ecosystem is a thriving business environment surrounding the project.  Third parties may offer specific services, software enhancements and subscriptions related to enhancing or supporting the open source product.  Many companies will use the product as a core part of their commercial offerings, or perhaps the open source software is simply a common tool deployed widely across multiple markets, products and services.

Ask yourself: Can I work with these people?

Open source projects do not operate like standard software vendors: The personalities and interests of community members may swing advancement of an open source project in a particular direction, or the tone and tenor of project communications may be geared toward a specific audience.  Like attracts like applies to the communities surrounding open source, and it may be worthwhile to get a feel for the style, principles and roles of the leadership and community to determine how well your organization might fit in and be able to leverage project resources. 

Differences can be as varied as business objectives, assumed levels of knowledge, personality types, or even the particular software coding methodology used in the project.  When working with open source software, it is highly likely that you will at some point turn toward the community for assistance or a resource, and it's important to be comfortable with those you'll be relying upon.

Still unsure?  Download it and give it a try.

One of the beautiful things about open source software is that it's free and easy to download the software and test it out in your own environment.  Open source does not mandate a per-seat license, so you can try a big test or a small one to determine if a particular open source project is a good fit for your organization's software or communications needs.