After the last Bay Area Scala Enthusiasts meeting, I was talking with Paul Phillips and James Iry when we happened upon the subject of code review. Specifically, Paul was bemoaning the lack of “bulletproof” — that is, thoroughly tested, highly reliable — standard libraries and the processes through which they might take shape. From where would the talent and motivation come?
The three of us went on to lament that while Stack Overflow incentivizes a very particular kind of knowledge transfer between software developers, the site’s byproduct is words, not code. At that point in the conversation, an idea sprang to mind.
Imagine the game mechanics of Stack Overflow atop a social coding platform like GitHub, with a healthy measure of Review Board thrown in the mix. Rather than communicating through threaded comments, participants “play” via code and code reviews. You could continue to assign points, as Stack Overflow does, to allow for easy discovery of top players. The quality of both code submissions and code reviews could be voted upon, and so forth.
In some sense, GitHub’s informal reputation economy already incentivizes this behavior. Still, it’s one idea towards encouraging the open source development of less glamorous but critically important pieces of fundamental software. It could even be beneficial beyond attempting to build “bulletproof” standard libraries, motivating open source development in general.
I’d love to see GitHub experiment with this idea, although their open API means anyone could come along and make it happen.