About a month ago Ayende posted his thoughts on the Maturity Model found in Open Source Projects. Ayende's method for determining maturity is simple:
From my point of view, there is a very easy model for the maturity of an Open Source project. Look at the answers in the project's mailing list. The questions do no matter.
The model is simple, the higher the percentage of answers given by non project members, the more mature the project is.
I thought of this today when I came across the group info page for the RhinoMocks and saw the statistics for this month. I was struck by how low on the list Ayende is:
You can see here that Ayende is tied for #5 on the list. (Yes that's me on the list, but that's beside the point.) In two polls (poll #1, poll #2) done over the last two years Roy Osherove has found RhinoMocks to be the #1 mocking framework of those polled. I believe it is safe to say at this point that RhinoMocks is mature. Measured with Ayende's method above and the data for this month's RhinoMocks group, I'd say that RhinoMocks is quite mature. Ayende, the project creator/owner, sits at #5, which is pretty good.
Being familiar with open source I wanted to explore the maturity idea a bit further in depth on some other projects. I posted on twitter a question about what open source projects people are using. I wanted to take a few projects that are out there and explore a little bit to see if Ayende's assertion was in fact correct.
Other Projects
(Note: I am only exploring projects which have groups on Google. These projects are in no particular order.)
jQuery
Members: 15487
(Note the absence of John Resig)
Castle Project
Members: 795
(Note the absence of Hamilton Verissimo)
NUnit
Members: 204
(While I would rank NUnit as "mature" Charlie Poole is the top answerer, which does not match Ayende's method)
MbUnit
Members: 353
(The findings in NUnit are not isolated, Jeff Brown, the MbUnit lead, is the top answerer)
NHibernate
Members: 1434
(This is where I started to douby my original hypothesis. I did not expect to see project owners so high up on the list for such a seemingly mature project. However NHibernate has a learning curve to it that may hinder would-be helpers from ever getting to the point where they can confidently answer questions regularly on the framework.)
FluentNHibernate
Members: 301
(Again project owner is top answer, by a long margin here).
StructureMap
Members: 209
(This one again surprised me a bit, especially given the work that I know Jeremy has done with documentation)
MvcContrib
Members: 302
TestDriven.NET
Member: 184
(Owner and creator, Jamie Cansdale, clearly the favorite)
Spark (Mvc View Engine)
Members: 83
(Owner and creator, Louis DeJardin, sits atop the #1 position)
Conclusion
When I started to dig, I wasn't sure what I find. In many cases here the project owner is sitting right at or near the top of the top answerer list. Still, I think Ayende's original assertion is somewhat correct, however more has to be considered. For example, a very well documented framework may lead to questions being asked that are rather difficult and therefore a larger number of questions answered by project founder may not really prove anything. In other cases there may be a framework which is widely used but users don't feel compelled or comfortable answering questions for that group, for any number of reasons. Ultimately any notion of what presumed before exploration was blasted to bits.
These projects above are not fringe projects, they're relatively mainstream for a certain sector of the .NET crowd. If you haven't checked out any of these projects (admittedly I did not attempt to introduce them at all) I would encourage you do so. One thing is for certain judging from the numbers above, these projects are viable, strong, and have a good following.
What do you think of the figures above? Is Ayende right? What strikes you about the projects and their discussion groups?