Open Source is Cheaper – But it’s not really free, is it?
I think by now, everybody in the industry is aware of the impact that open source software has had on the way companies develop products and conduct business. I also think that most users are smart enough to recognize the fact that there is no such thing as a “free lunch” when it comes to software development. Sure you can download software and embed it into your system without having to charge your credit card or fork over dollars. But the download is just the beginning….
It’s like a dog you might adopt from a local shelter. The dog itself might be free but you still have to feed it, invest time in training it, pay for shots, and if something goes wrong and it “craps out” on your expensive rug, its you who has to clean up the mess. Same thing with open source software. You really can’t afford to have an important piece of code “crap out” on your expensive application, and if it does you really do want to have somebody else there to help clean up the mess.
The point is all products, free or otherwise, come with attendant carrying costs. The trick is to understand what they are before you make a critical investment so that you minimize any surprises. Not all open source projects are created equal, so when you go out and select open source software there are a number of things you may want to consider. Here is a list of 7 things you might want to think about when making your choice.
1) Is the open source project philanthropic or commercial in nature? It might impact how responsive updates are provided and bugs are fixed.
2) How is the roadmap defined and how important is it to you to have a say in future product direction? Once you establish that, you can decide if a community vote system or an everybody just do their own thing, or a pay to influence model works best for you.
3) Understand the history of the project. How long has it been around and is it likely to stay around in the future? You may not wish to make an investment in a project that might disappear a month from now.
4) How complex is the software and how accessible is help by way of tutorials, documentation or forums? How active are the forums and how effective to they seem to be in providing assistance?
5) Is there an option to pay for support with committed service level agreements if it turns out you do need help?
6) How does the software operate on other platforms? It might be great running on Tomcat with a new Firefox browser, but what if you need it to run on IBM WebSphere 7 with an IE 7 vintage browser?
7) What is the release and QA process associated with the software? Are automated regression tests performed? How confident are you going to be that the most recent release isn’t going to break something in your application?
Making an informed decision when selecting an open source project won’t eliminate the expense you may incur in time and dollars post download. But it should certainly help reduce them and help make your selection as cost effective as you can get it!