Saturday, February 25, 2012

Drools, jBPM and Guvnor : Measuring Risk via Community Health

When I give Open Source talks on the software we build, I always take a few minutes to talk about risk. Adopting any software technology brings about levels of risk that need to be assessed. Some aspects of risk are obvious; such as "is the product fit for purpose". This can normally be assessed via demonstrations, prototyping and fit gap analysis. Other aspects of risk are not so easy, "is this product healthy".

Let's stop a minute and think about the word "health" what does health mean in terms of software. If a project is not healthy any of the following, among many other things, could happen:
  • Bugs are slow to be fixed, or not fixed at all
  • Long time between releases with new features, or no releases at all.
  • Project is dormant, or worse abandoned but has not been stated publicly
  • Finding community support can be hard
  • End up maintaining the whole project yourself inhouse.
  • When a project is not moving forward fast enough, or the scope of the project is too small, required features might be implemented as hybrid extensions only (for example using a different license or even closed source), and not available as part of the open-source project


So when you are looking to adopt a technology how do you assess if it's healthy, how do you avoid situations detailed above:
  • Large development community
  • Regular commits
  • Large support community, either via real time chat or mailing lists
  • Is the project financially profitable already.
  • Published books?
    • If publishers are willing to invest in books, you know there is a large end user community. That means lower risk of bugs, and easier to hire people and find consultancies.
  • Commitment to public global speaking engagements, such as java user groups or workshops.

With Drools, jBPM and Guvnor there are published books, and you only have to pop onto irc or the mailing lists to see the vibrant chats going on. We continue to hire aggressively, with two more people starting within the next two months.  More importantly though you only have to go to github to see the flurry of activity going on for a large number of developers. Below you can see the graphs taken from github, and I think they speak for themselves :)

 Drools Commit Graph

 jBPM Commit Graph

Guvnor Commit Graph