The benefits of social coding

MDAnalysis has truly arrived in the 21st century: we now even have a blog (in addition to a Twitter account @mdanalysis) and of course, development occurs on GitHub, the “social coding platform” (at least that was the tag line a while back). However, for most of its life (January 2008 – March 2015) MDAnalysis lived on Google Code and the move to GitHub was done more out of necessity (because of Google Code’s shutdown) than for any other reasons. After all, we knew, moving a repository, issue tracker, wiki, and what-not would be painful and what could we possibly gain?

In turns out, a lot.

MDAnalysis commit history (Jan 2008 to Sept 2015)

As you can see from the image of the commit history, moving to GitHub in April 2015 coincided with a flurry of activity and significant contributions from new developers, two of which are now also on the coredevs team. The graph, of course, does not demonstrate causation, only correlation. But anecdotally it seems to be the case that the ease with which one can communicate on GitHub through the issue tracker and comment on code through pull requests helps people to enjoy open source software development. In addition, the good integration with continuous integration services such as Travis CI, coveralls or quantifiedcode takes care of many essential but boring tasks and allows people to focus on what they like doing — writing code that helps them and others to get their research done.

Given that an open source projects such as MDAnalysis very much depends on developers offering up their own time and expertise, working on a platform that makes it (mostly) enjoyable for them, is rather valuable. And maybe, before trying it, we just slightly underestimated the social component of writing code.