A couple of weeks ago, I came across an interesting tool called Gource. Fair warning: my colleagues and I instantly lost every last bit of productivity for the day as we ran it over our repositories.
In short, Gource visualizes the history of a software project as documented by the version-control logs, showing files as small circles, directories as branches connecting them, and committers as small avatars going around and touching files like little busy bees. It’s extremely cool, but that’s not all there is to it: it can also visualize useful information that is not immediately obvious from the logs.
Case in point: the history of QuantLib. Go ahead and watch it, if you like; I’ll wait.
Some things jump out of the frame, like the initial period in which we kept remodeling the directory structure, or these last years in which the structure almost doesn’t change at all. What was most interesting to me, though, was seeing the activity of the committers and how different things affected it.
For example: there’s a clear difference between periods in which some company decides to work on QuantLib because it needs it. In the first few years, this was the case with RiskMap (now StatPro Italia) that founded the project and had a few of us working on it; another such period can be seen starting from the middle of 2006 and going on for a couple of years. When no resources were officially committed to the project, the activity was obviously slower—at least, until the last few years, when we had another watershed moment.
Of course, I’m referring to the switch to GitHub and its workflow based on pull requests. It happened in mid 2013; before that, only a few people had write access to the central repository and contributing changes involved some effort in order to extract the diffs, apply them, solve conflicts, and so on. After the switch, you can see the number of contributors go up almost immediately.
Which brings me to the present. Lately, I’ve been asked a few times how many people are involved in the project. I know who the regular contributors are, and I had some general idea of the figures from running some analysis of the logs after the last few releases (I blogged about it here and here, for instance). But seeing it on video really brought home to me the constant buzz of activity around the code in the last couple of years. So, if you’re one of the contributors: thanks, and have fun trying to see your name in the video. And if you’re not, it’s not too late. You might end up in an update.
Follow me on Twitter if you want to be notified of new posts, or subscribe via RSS: the buttons for that are in the footer. Also, I’m available for training, both online and (when possible) on-site: visit my Training page for more information.