The concept of “open source” comes in mainly two flavours; “open” as in, you can download it and fiddle with it yourself but you’re not in charge of how the project evolves, and “open” as in everyone can integrate any changes back into the main repository. The ideal sits somewhere in the middle, which is where I think CesiumJS currently sits. The history of open source is littered with branches and fractions and politics, and it’s a fragile balance between all the people invested in the project. I think Cesium.com is doing a great job of having an open community around the platform, and using Git / GitHub for developer integration.
But if I go back to the OPs concern; how do you measure the health of an open source project? There’s more than commits to the main branch to consider here; there’s uptake, smaller bug fixes, larger feature adds, version flows, community chatter, support activity (open and semi-open), issue tracker chatter and engagements, code quality and style, the evolution of said code quality and style over time, the profile and visibility of the core team of people involved, etc. Commits to the repo is only one of those factors, and in my opinion not even one of the most important ones. For me it’s more about the core people’s willingness to interact with the community at large, in forums like this, and in git / issue trackers, talking about bugs openly, their engagement in issues and solutions, and how they communicate about the future.
If an open source project becomes successful, there’s a few more things to consider, mainly for the parties that have commercial interests in it. Here it gets tricky. We’d all love to make this the best and free and most open project in the world, but development is a costly affair. Smart people making smart and complex software for free is not a sustainable model, and for all who’s involved in Cesium there are tons of other things we do besides working on the shared core. There’s apps (that use the core), and frameworks, and admin, and testing, and support and all that other stuff, which also costs money. The key Cesium players must all consider how to balance the cost of the shared platform we all enjoy the benefits from.
In short; some weeks are slow on the core, other weeks it’s too much. Sometimes we focus on the community, then on testing. Some bugs are fixed, sometimes a pull request is granted, other times not. The branch activity is not a measure of the health of the project. We, the people in this community, is.
And with that, come on in! This is a healthy community where I’ve never seen a single negative thread, which, as far as open source projects of this scale usually go, is quite unique and refreshing.
Cheers,
Alex (not a Cesium.com guy)