Open Source – How to Determine if an Open Source Project is Mature Enough for Product Use

open source

There are some open source projects that I'd like to incorporate into a product at work. We don't have the bandwidth nor the subject matter expertise to do it ourselves. I found these by searching in Google. I'm unaware of any "major players" that utilize the projects, but I'm pretty encouraged by what I see.

Now, I'm a bit concerned about the amount of risk I'm exposed to by using joe-blow's open source project. If it takes me 95% of the way there, perhaps the remaining 5% is easy to add or fix. Perhaps it's non-trivial.

How do people go about determining whether an open source project is mature enough to use in a product?

This is not a hobby project, so stability, maintainability, etc. are paramount.

Best Answer

The criteria I use, providing that the project fits my requirements:

  1. Is there an active community, with people able to provide assistance?
  2. Is the license appropriate to my development?
  3. Is the product still under active development?
  4. Is it a commonly used framework?
  5. Can I find any reviews / blog posts / etc of the product and how people have integrated with it?

4 & 5 don't really help for niche projects which it sounds like yours is.

The single most important thing is does it meet your requirements? If you feel that it does, the next thing to do is to make a harness to test the project and see if you can do what you want it to do. This will give you a feel for its API (if it's a library) and how it works.

At the end of the day, if there is something open source that does 90% of what you do, fork it, add the extra functionality and return it to the community. I've done this before on commercial projects.

Related Topic