In the last twelve years our agency has been designing and developing Web-based applications and Web sites, we’ve encountered our fair share of Open Source software projects. We’ve evaluated Open Source options for server OSes, Web servers, programming languages, databases, productivity software, web site software, and several other types of software projects. For each project we adopted, whether into a Web site, a Web-based application, or our workflow, we’ve had to take our time in properly evaluating it to make sure the software would be the right fit.
Our own online project management software, Intervals, would not have been possible without the existence of several Open Source software projects. As we’ve adopted Open Source software at our agency, we’ve become pretty good at selecting the right software for our needs.
When our Web design and development team evaluates open source software that we are considering adopting into our application stack or workflow there are several questions we go through to make a sound decision.
- How active is the software project’s community?
A lot of user activity is a good sign, it means people are using the software, interacting within the community, and devoted to seeing the project become a success. Also ask yourself, is the community helpful, or do their egos alienate other users?
- How many active admins are there?
One man open source software projects will fizzle out more often than one that has a team behind it. I’ve seen several open source projects abandoned because the one admin supporting it got a new job or just stopped working on it. Projects with two or more admins tend to have a more collaborative approach to keeping the software current.
- How much time and/or resources am I willing to commit?
If it’s a smaller open source project, my level of commitment is going to have a direct impact on its success. Am I willing to contribute code changes or new features back to the project? Am I willing to promote the project? Don’t adopt a small or fairly new open source project unless you are willing to contribute to it in some way to keep it going.
- What is the project’s mission?
If it is competing with another, more popular, open source software project, is it different enough, or does it offer a distinct advantage to adopting it? Will it meet my needs in a way that merits going in a new direction with this project?
- Do I believe in it?
Do I feel any inkling of passion about what they are doing, or, am I just trying to find a solution and move on? Do I care enough about this project to tell others about it? Creating and maintaining open source software is a labor of love. Share the love.
- Who has already adopted this software?
Are other companies using this project? Nobody wants to be the first ones to adopt new software into their Web-based app or workflow. Adoption by other companies shows they are committed to the open source project. It shows a higher possibility of longevity.
- Does the project have a corporate sponsor?
It helps is the open source project is backed by a company. The project will have more resources, financial backing, and credibility. It helps to know the company is going to continue backing the software, promoting it, and using it at their own company. They have a vested interested in seeing the open source software project succeed.
Ultimately, it is up to your team to make a decision on whether or not to incorporate an open source software project. I don’t believe there is a concrete answer, or answers, to this question. Each open source project needs to be evaluated on its own merits and on the needs of your team.