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?