Whenever wanting to acquire new enterprise software for your company, there are several factors to consider. While reliability of the system and cost are very important, most companies are now opting for open source software instead of proprietary software due to the flexibility open source gives them in addition to significant cost savings. In light of this, frameworks exist to assist IT staff in selecting the best open source software.1 Following are some important tips to identify the best open source solution for your company:
There is no such thing as completely bug-free software. That is why any software, whether open source or proprietary, needs regular updates. If the software has an active online community of users and developers, they will find and fix bugs from time to time. Even if no new versions are available immediately from an active community, there may be some patches. Of course, if you have the technical expertise needed, you can always fix the bugs yourself since you have access to the source code. A word of advice on fixing bugs on your own: make sure that whomever fixes a new bug contributes the bug fix to the next release. The strength of the community relies on the participation and contributions of its members. Without community involvement, patching the source code on your own may create an unmaintained, forked version and prevents others from benefiting from your bug fixes.
Ease of Use and Cost of Support
Consider how easy it is to use the software before settling on it. If your company does not have the skilled personnel required to maintain the software, find out how much it will cost to train staff, or how much it will cost to either outsource or hire new staff. Then, compare these estimates with estimates of other open source solutions, and see which one is most affordable.
Be wary of using open source software that does not have a good online community. If you choose to self-support an open source environment, you will most likely need to work with the community. At some point in your usage of open source, you might get stuck during the deployment of the system and need assistance, or you may simply want to ask a general question about the product and the community. To determine how reliable the community is, post a new query in the forum and check how soon your question is addressed, and whether the answer(s) given are useful.
That being said, there are many open source projects maintained by one or a few developers. These smaller projects may provide useful functionality, but finding technical support may difficult. Depending on how important the functionaity is, you may determine whether or not the lack of support is a risk.
The fact that open source applications allow for anyone to contribute in the development does not mean there is no order. Good open source software should have a clear flow of the development process. It should clearly outline the procedure followed in making contributions to the community, how contributions are evaluated, and how contributions are either discarded or accepted. Clear rules of engagement in the development process help you know the software is, and will continue to be, reliable.
As an example, the Apache Software Foundation defines clear and organized procedural rules for all of their committers and contributors, new and veteran alike.2
It is a good idea to select software that works seamlessly with other software. The software should be designed on the common standards instead of reinventing the wheel for no good reason. This will not only save money, but time as well.
All in all, many factors need to be considered to make a sound decision in choosing the most appropriate open source software that your company can rely on, not just for the short term, but also for long term. This is as true for open source decisions as it is for any decision impacting your company's success.
1 For example, see: http://www.oss-watch.ac.uk/resources/tips and http://www.oss-watch.ac.uk/resources/ssmm
2See: http://www.apache.org/dev/#committers and http://www.apache.org/dev/new-committers-guide.html