Paul Adams: Green Eggs and Ham
In my previous entry it was commented that it would be nice to see a code swarm for Amarok's history in SVN. Well... go on then.
Code Swarm is a tool which gives a time-based visualisation of activity in SVN. Whilst code swarm are often very pretty and fun to look at for 15 minutes, they are not very informative. Much of what appears is meaningless (e.g. the entry point of the particles) and some of it is ambiguous (e.g. the movement of particles).
Anyhow, I was surprised to see that someone hadn't already made one of these for Amarok. So, here it is:
I did not include a "who has worked with whom" community network graph in my previous post on the history of Amarok in SVN. This was largely because that blog post was written quite late and I didn't want to wait ages for the community network graph to be generated.
Well, now I have created it.
Click here for the complete, 8.1MB, 5111x3797 version
So, just to remind you... SVN accounts are linked if they have both worked on the same artifact at some point. The more artifacts they share, the closer together the SVN accounts are placed. The result of this is that the "core" community should appear closer to the middle of the graph.
So, as you might have recently seen, Amarok has now moved out of SVN. This was SVN r1002747 on 2009-07-26. Amarok first appeared in /trunk/kdeextragear-1/amarok on 2003-09-07 (r249141) thanks to an import from markey. It was migrated the to simplified extragear structure (/trunk/extragear/multimedia/amarok) at r409209 on 2005-05-04.
So, to mark this event I have created a green blob chart and a plot of daily commits and committers for the entire time Amarok was in SVN.
Simply right-click and download the green blobs to see them in their full-scale glory. I'm sorry the plot isn't too readable. It is caused by a recent day where there appears to be about 300 commits in Amarok; way above the average. I assume this is scripty gone mad again.
So me and my number crunching have been quiet for a couple of months now. Since handing in my thesis I have been busier than ever. One of the things keeping me busy has been to make good on a promise I made a while back...
I have, for some time, promised to create a historical archive of how KDE "looked" in the past. To achieve this I have created SVN logs for each calendar month of KDE's history and ran various scripts that I have against them. Here's a few examples for August 1998....
A community network graph is a representation of who was working with whom in the given month. You may remember that I have shown these off once or twice before. The nodes are SVN accounts and they share an edge when they have shared an artefact in SVN. The more artefacts that the pair have shared, the closer they are placed together. The result is that the community's more central contributors should appear towards the middle of the plot.Your browser does not support SVG.
The Green Blobs
Yes, they're back! For the uninitiated the green blobs are representation of who committed in a given week. Read the chart from top to bottom and left to right. The date of the first commit and the % of weeks used are also given.
Commits and Committers
I have also gathered basic number of commits and committers per day and created plots, like this...Your browser does not support SVG. So, I now have a few things to do:
- Firstly, I need to find a place where I can store all these images and the source data where they are easily accessible. They will go online somewhere.
- Secondly, I need to keep taking logs and keeping this archive up-to-date.
- I also need to create a sensible means for generating SVG versions of the Green Blobs. This was an issue raised back at Akademy in Glasgow and still hasn't been addressed. I'm generally moving all of my visualisations to SVG these days.
In time I will add visualisations for things like email activity as well. If you have any ideas of aspects of the community you want visualised just let me know and I'll see what I can do. In particular, if you want me to run these jobs for your "bit" of KDE (e.g. Amarok, KOffice), just give me a shout and I'll see if I can make time. Better still, why not lend me a hand? Once I have hosting for the visualisations I will be putting all my scripts up with them. Finally.
Whilst the historical data has been visualised for interest, I hope that the new charts, as they are produced, will be helpful for all sorts of activities: from community management and coordination to marketing. Oh... and research, of course.
I've just arrived in Sweden for the 5th International Conference on Open Source Systems - OSS2009. This year the conference is being held in Skövde, Sweden. This year's keynote speakers will be Stormy Peters and Brian Behlendorf. I'm particularly keen to meet with Stormy who I haven't seen since GUADEC in Birmingham; it would be good to talk before GCDS.
I like OSS. It is a friendly crowd who turn up and the conference always has a good mix of "the usual suspects" and new faces. One of those new faces for this year is Celeste Lyn Paul of KDE Usability fame. Her paper, "A survey of usability practices in Free/Libre/Open Source Software" is presented on Friday. My paper, "Reassessing Brooks' Law for the Free Software Community", will get its outing on Thursday.
In my paper I present a new approach to assessing the role of Brooks' Law and its relevance to Free Software development. This is really a "work in progress" paper. At least it was when I wrote it....
... and having subsequently finished this work I have recently received confirmation that my full paper on this topic has been accepted as a full paper to the International Conference on Software Maintenance. This gives me a great opportunity to start adding to my "I'm going to..." banners.
I'm putting together tentative plans to hold a workshop at Akademy on software quality issues. The idea is for this to be a joint workshop for both KDE and GNOME and a showcase for some of the more import results from SQO-OSS, FLOSSMETRICS and QUALOSS EC-funded research projects. If you are interested in this, please let me know. Unless there is enough up-front support, it will be hard to arrange this.
Edit: Co-Author Fail
One of my co-author's has correctly pointed out that I have used "I" where I should have written "us" and failed to give credit to my co-authors. I apologise unreservedly to Andrea Capiluppi and Cornelia Boldyreff. I am not worthy.