Ken Wasetis gave a great talk at Plone Symposium Midwest comparing Plone with current versions of Drupal. The talk — which Ken gave in a very "just the facts" way — was mostly about the different strengths of the applications, but Ken also talked some about differences between the projects. A couple of Ken's slides showed Ohloh.net charts comparing commit and participation rates.
Take a look at the Commits per Month chart for Plone:
This is a remarkable chart. Plone development activity has increased dramatically over the past three years, and is now averaging close to 1k commits per month. Poking around Ohloh I was unable to find anything like this for any comparable project. Most of the projects that we think of as competitive show the opposite: declining commit rates.
Contributors per month is also impressive:
This is how a community open-source project should look. Note that this chart is not directly comparable to projects that have become largely single-company rather than community organized. Plone has actively sought to increase direct contributors, relying on code review and our test-driven culture to maintain quality. Some projects instead keep commit rights down to a small circle of patch reviewers.
Take a look again at that Commits chart. The big shift up occurs at roughly the point where Plone 4.0 alpha 1 became available. If you look at commits, that's also when we began seeing a new generation of developers — many from countries that had never had Plone core developers before that point. If you look at the leaders for commits in the last 12 months, many of those names were not on the Plone 3.x list.
Also at Plone Symposium Midwest, Eric Steele gave a great talk on inter-generational transfer of information in open-source software projects. (The actual title was different, but that's a big part of what I remember.) I think the case can be made that Plone has had a very successful generational transfer in core and add-on development.
Why has that happened? And why does Plone's activity level look so much better than projects we think of as competitive? Part of that's leadership. Eric Steele's way of handling the release manager role makes it clear that the project is open. His technical skill at managing an astonishing number of modules keeps it working. But, while it's more amorphous and hard to measure, I think culture is a bigger part. Our culture prizes collaboration. Sprints are where that culture is passed on. I suspect that our more intimate sprints may play the most important part, particularly those that bring long-time developers side-by-side with new contributors. There's probably a dissertation topic in there for some aspiring Sociologist or Anthropologist.
My ramble here has been focussed on core development. I think we've been far less successful with marketing and communications. In particular, I think we had an unfortunate period where we tried to model those parts of the project on the communications of more corporate, hierarchical organizations. That's shifting. I see some dedication to making marketing and communications more like the rest of the project: explicitly collaborative and welcoming to new faces. It'll be fun to see how it works out!
Charts are from ohloh.net and include only core commits.