CritiqueBrainz and rocking the Google Summer of Code

Friday, March 6, 2015

Student applications for Google Summer of Code 2015 will be opening on March 16th. University students interested in applying for this year’s program can get ready now by checking out the organizations taking part in this year’s program. Below, Robert Kaye shares the story of an outstanding student from last summer who made a big impact with the MetaBrainz Foundation, maintainers of the MusicBrainz service.

At MusicBrainz, we’re proud to collect and freely share information about all kinds of music. We strive to keep that information objective and factual, but being music fans, we can’t help but want to share our opinions sometimes, too. To do that, we developed a concept called CritiqueBrainz where we’d welcome people to write Creative Commons licensed, non-neutral point of view music reviews. Unfortunately, we didn’t have the resources to actually build it, nor was there any off-the-shelf software that would suit our needs.

When we took part in Google Summer of Code 2013, we put the CritiqueBrainz concept on our ideas page. It was too much to ask of one student to build a complete website with all the custom features we wanted in one summer. We accepted one student who wrote all of the features we requested as part of his successful GSoC project. However, over the summer it became clear that we needed to put a lot more work into the project before we could deploy the new site.

In 2014, we put CritiqueBrainz on our ideas page again and this time we asked for someone to finish the site in the first half of the summer, then to deploy, maintain and debug the site during the latter half of the summer. When the student application period opened, things got interesting. Several years ago, we added a requirement that applying students needed to submit a pull request to the project in order for us to consider their application. One student in particular submitted a pull request as part of his application. And then he submitted another. And another.

That one particular student submitted some truly excellent work as part of his application. So we accepted Roman Tsukanov, better known to us as “Gentlecat”, to finish the CritiqueBrainz project. At almost the instant we announced our accepted student proposals, his stream of pull requests started up again and never let up. As we were approaching the official start date of GSoC, the number of tasks left to finish the coding portion of the project was dwindling. Gentlecat even wrote a tool that parsed, cleaned up and imported 9,000 reviews that the BBC had given us. Things were looking excellent!

Given all that progress, we decided that the beginning of GSoC would be a perfect opportunity to release the first beta version of the CritiqueBrainz to the world. We gave Gentlecat access to one of our servers and let him deploy the code onto the server himself. With some guidance on best practices from us, he quickly got things up and running. Many people from the MusicBrainz community began writing reviews on the site, which naturally meant they found bugs and made tons of suggestions for improving the site.

Gentlecat plowed through the new tickets opened during the beta period and created pull request after pull request. My summer mornings consisted of reviewing his pull requests from the previous day. Gentlecat knocked out a long list of bugs while refactoring the code to have a better layout and improve readability. He added HTTPS support, found and fixed problems from the GSoC 2013 project, and even added integration with Spotify to support a hack I was creating at San Francisco Music Hack Day.

In the end, Gentlecat finished at least twice what he had promised to do during the span of GSoC. And the best part? He continues to pound out code and fixes, and he’s now a contributor to three of our projects.

He plans to apply for Google Summer of Code again this year, but he also feels that more people ought to be involved with CritiqueBrainz so he’s been contributing additional project ideas for other students to consider. If you’re a university student and CritiqueBrainz sounds interesting to you, please check out our GSoC 2015 ideas page.

Gentlecat rocked GSoC so hard that his nickname has become a term in our community: if you Gentlecat something, it means that you finished faster than anyone expected while going above and beyond what you promised to do. In other words: you rocked it. Hard!

by Robert Kaye, MusicBrainz GSoC mentor