Paul has Green Blobs. It may be a consequence of the climate in Scotland. It’s also a really simple visualisation of participation in a Free Software project. Since Paul has posted the years overview for 2008 with a just two weeks to go, I thought I’d comment on how to read such a green blobs chart and provide a little bit of interpretation of my own.

First off, the reason it’s rendered like this, green blobs on a white background with some text has everything to do with it being a simplistic PIL (Python Imaging Library) hack I came up with one afternoon and nothing to do with sophisticated graphing software. The green blobs also scale down fairly well, to the point that a full 10-year overview is still vaguely recognizable. My original design goals were: sot who’s working hard, who has suddenly stopped, find hotspots of activity, spot active new contributors. The usual disclaimers and footnotes to “working” and “hard” apply here: the visualisation is simplistic and extrapolating from the blobs to any kind of evaluation of the developers involved is dead wrong. You need far more context to do anything more with the data.

The green blobs graphs put the weeks of the time period across horizontally. Each column of blobs represents one week. For each contributor, a week is colored green if the contributor did any commits in the week in question. So a green blob is a kind of graffiti tag “I was here,” for each contributor. Contributors are ordered top to bottom by the timestamp of their first commit. So we see that yannigm was the first person to commit in 2008 (with a timestamp in 2007, apparently) and on Paul’s graph the newest, freshest contributor is momeny.

To the left is the name of the contributor in each row; to the right of the green blobs is a percentage of weeks in which the contributor was present in which the contributor committed. Right of that is the date of first commit in the period under consideration and the contributor name again. I can see 16 people and 1 script that have a commit percentage of 100 and who started in the first week of the year: that means that each and every week of the year they did something to the codebase. Now, mere activity doesn’t mean much, but when you look at the names involved you quickly realise that these are phenomenally dedicated core KDE hackers. Other people who joined up later have been very dedicated as well, just over a shorter period of time: aclemens, for instance, also at 100 percent for about 7 months now.

As an illustration of how misleading the blobs can be, consider Jos Poortvliet; one of our press dudes, very active in KDE all year round doing presentations and covering events, absolutely a core contributor to the project. Not to the codebase, though, as we find Jos with a single green blob late in the year. So let that be a reminder to not confuse code contributions with project contributions.

Given the way the graphing script works, it’s also possible for long-term contributors to show up further down the graph simply because they didn’t commit in the first few weeks of the time period under consideration. Dominik missed the first week of january, for instance, so he shows up a fair ways down even though he’s been around for years.

Image of green blobs

There’s my green blobs for the year, and it allows me to look back and wonder what I did this year. I was active january and the first half of february, and then stopped for a bit. I remember getting my PhD at the beginning of march, so there’s a correlation between that gap and having real stuff elsewhere to work on. Then productive up through the summer (this reminds me it would be nice to have some dates displayed on the top edge of the graph to put weeks into perspective) followed by what looks like a long dry spell. I know I was busy pushing patches into KDE SVN before KDE 4.1 based on the Solaris fixes I’d been doing, and that very much dried up as I chased KDE 4.1.3 and the rest of the dependencies and packaging things instead of working on the KDE codebase during the fall. As a consequence of that I’ve got a kdelibs directory from trunk chock-full of patches – basic compile fixes most of them – that desperately need merging.

Since I spent much of the fall working on packaging things, I have seen a lot of code that is not KDE code. Ooh. The goggles – they do nothing!

The Wayback Machine does not archive everything. Broken links are marked with a 💔.