How to Evaluate Open Source Software
I think we have all evaluated a proprietary product, whether it’s something from Microsoft or a company you never heard of, but has the product you need. The basic idea is to reduce risk.
- How long in business? profitable?
- How popular is the product?
- Size of company?
- Release schedule?
- Bugs/issues? How quickly resolved?
But in these times it is likely that an open-sourced product does what you need. There are likely even several versions from different vendors available. Some vendors very large and well known, others one-man shows. You search on google for the product and get 500,000 hits. What do you do now?
The idea is still to eliminate risk. I think you have different concerns though:
- How long in business? profitable? – don’t really care. there are plenty of people out there working in this solution, you have the source, you can get someone else to fix it.
- How popular is the product? – probably not an issue. yes, this particular vendors implementation varies, but quite a number of people have experience working on this
- Size of company? – a question of long-term ability. again, there are quite a number of other people out there who can help
- Release schedule? – it would be great if you saw a steady stream of development, but this is unlikely. the spec defining the open-source tool has probably been around for a while and there really shouldn’t be much of a need for updates
- Bugs/issues? How quickly resolved? – probably when first released there was some furious coding, but after a while it should be stabilized
So, how do you do this?
I think you can look at it like hiring a remote contractor: You need someone to help out with implementing a well-known solution and want them really to go away afterward. Maybe call them once in a while if you turn on some other feature in your product and don’t remember what steps are needed.
As such, some concerns you want to know:
- Responsiveness
- Experience in the area
- How much other (not in the product you care about) work do they have?
- Any skills matching up to your developers (Java, C#, database, etc…)?
- Are they using the open-source code in a retail product they are selling? Self-interest is always the best motivator
How do you evaluate open source software?
