Google Code-in announcement! – and call to arms

As many of our loyal blog readers will know, the MetaBrainz Foundation has been part of the Google Summer of Code for several years. This year we’re going to expand into the realm of Google Code‐in!

Google Code‐inGoogle Code‐in, or GCI, is a program aimed at pre-university students aged 13–17. Unlike the Summer of Code (GSoC), the students will have a large number of smaller tasks to work on, instead of working on one large/huge task for the duration of the summer. It is set up as a competition and the students who do the most work will be eligible to win some Google prizes.

But what does this have to do with us? I’ll tell you what! We were accepted in this year’s Code-in! Over the last few weeks, I and a couple of other people (mostly on IRC) have been preparing for the GCI, but that does not mean we’re done yet – we can still very much use more hands. The competition starts on December 7th—that’s Monday next week! This means that we will have a flood of young people come into #musicbrainz and #metabrainz on IRC as well as possibly the forums. Please be courteous and patient; these young people will hopefully stick around Music– and MetaBrainz for long after the GCI and become full‐blown members of the community, but they need some incubation time. (Also, if you only sometimes frequent IRC, next week in particular would be a lovely time to have “all hands on deck”. Doubly so if you’re in the far eastern hemisphere as students will be coming from all different time zones and regions, and we only have a couple of East Asian and Australasian people in the IRC rooms.)

We are also continually looking for task suggestions. They can be for or from pretty much anything related to any MetaBrainz projects (we will have a number of *Brainz related tasks for beets for example), so let your creative juices flow and let us know what (small) things you would like some of these students to work on. The wikipage has some more information about what kind of tasks are acceptable. Keep in mind that they should generally be doable within 3–6 hours, but if you’re in doubt, feel free to poke one of our GCI mentors and ask.

Speaking of mentors, we could really use more mentors who are familiar with our various code bases. If you think that’s you, please, please, please poke me (Freso) on IRC and we can get things sorted. Of course, even if you don’t think you’ll be able to be a dedicated mentor, just hanging around IRC and helping students will also be a huge help and relieve the mentors somewhat to spend time on reviewing submitted work, entering additional tasks, etc.

I’m personally, and I know others are too, really excited about this. It’s a great opportunity to hopefully get a lot of low‐hanging fruit picked off as well as recruiting some new (hopefully) long‐term community members and contributors. However, it is also our first year in this program, so none of us really know what we’ve signed up for. It’s an adventure! And I hope you will be joining us. 😉

PS. If you know any pre-university students aged 13–17, tell them about the program and maybe use this as a way to lure them into the Brainzverse! 😄

Server update, 2015-11-30

The major updates in today’s release are:

  • Non-auto-editors can make auto-edits to their release additions within 1 hour of adding them.
  • There’s a way to report editors for bad behavior, from their user profiles. The reports will be sent to our account admins. We’d prefer people use this method from now on for reporting unresponsive editors, or for any Code of Conduct violations. Account admins have also received an easy way to restrict a user’s editing/voting capabilities.
  • Auto-editors can change a release’s data-quality level via auto-edit. Previously, this was always put to a vote. We still don’t display release quality as well as we could (currently it’s only visible in the release sidebar). Low-quality releases can be found via our edit search, though.
  • Everyone can enter “Add recording” and “Remove alias” edit types as auto-edits.
  • Edits to events can be searched via our edit search interface (thanks chirlu).

There were a lot of comments on last release’s blog post saying that it’s harder to review release additions now that they’re auto-edits, and worrying about database quality suffering due to this. The next server release should allow showing auto-edits entered within the most recent voting period (7 days) in your subscribed editor/entity edit listings (MBS-8647), and hopefully a way to hide auto-edits you’ve reviewed from these lists (MBS-8654) to get them out of your way. I hope these and future changes can strike a balance between allowing people to see and remove releases that are clearly wrong or non-existent, vs. encouraging merging/fixing existing releases rather than voting them down.

The git tag for today’s release is v-2015-11-30 and the complete changelog is below.


  • [MBS-8460] – Add to collection link on entity page doesn’t show the collection name
  • [MBS-8636] – Adding duplicate entities to a series causes an internal server error
  • [MBS-8639] – Instrument merge gives ERROR: duplicate key value violates unique constraint “link_attribute_pkey”
  • [MBS-8641] – Release editor breaks with “error: 0” if a submitted edit throws a NoChanges exception
  • [MBS-8648] – Historic relationship edits no longer display the source entity


  • [MBS-1880] – Allow an editor to apply edits without voting within a short timeframe after his/her ‘add release’
  • [MBS-8208] – Add a way to report a user to an admin
  • [MBS-8271] – Add a way to prevent a user from editing/voting which doesn’t involve removing the email address

New Feature

  • [MBS-8645] – Allow searching for edits to events


  • [MBS-8385] – Make change release quality edits auto-edits for auto-editors
  • [MBS-8386] – Make add recording edits auto-edits for everyone
  • [MBS-8388] – Make remove alias edits auto-edits for everyone

Recap of the MusicBrainz Summit 15

The MusicBrainz Summit 15 participants.

From left→right (top) chirlu, reosarevok, ruaok, Freso, (bottom) Leftmost, alastairp, Gentlecat, bitmap, zas, and LordSputnik.

A couple of weeks ago (Oct. 30th through Nov. 1st), the MusicBrainz Summit 15 took place in Barcelona, at Rob “ruaok”‘s place. We had all of the MetaBrainz employees there, Rob/ruaok (local), Michael/bitmap (US), Nicolás/reosarevok (Spain/Estonia), Roman/Gentlecat (recently local), Laurent/zas (France), and myself, Freso (Denmark) – in addition to a bunch of other people from the community: Sean/Leftmost (US) and Ben/LordSputnik (UK), the two lead developers of BookBrainz; chirlu (Germany), long-time volunteer developer on MusicBrainz; and Alastair/alastairp (local), lead of AcousticBrainz. Between us, we represented 7 countries, 8 nationalities, and 9 languages.

Talking around the table. We managed to cover a lot of ground on the serious topics, discussing how to avoid data/MBID loss and how to version data, how to deal with labels (the entities, not the corporations…) and other unresolved style issues, how to integrate all the various *Brainz projects more and better, and a bunch of other things. The official notes for the summit is stored in a public Google Docs document. Feel free to read through and it jot down your own comments!

One of the big things was the we decided again-again-again (for the third or fourth year in a row?) to release the translations of But this time we actually did it! So is now available in German, Dutch, and French (in addition to English) – go check that out if you have not done so already. ;) At some point in the not-too-distant future™ we will also enable translating all of our documentation. Sean/Leftmost volunteered to look into options for this. Expect to hear more on that later!

MusicBrainz Style BDFL: Nicolás/reosarevok

Our Style BDFL: Nicolás a.k.a. reosarevok

We had some talk about how and why MBIDs get lost and what we can do to prevent this. As part of this discussion, we decided to make more edits autoedits for everybody. This was partly due to a wish of having a shorter queue of open edits (and there’s been a significant drop in open edits since Nov. 16!), but also very much to avoid losing MBIDs once they have been generated. More in depth discussion of the reasoning (and some of the community’s response) can be seen in the server release blog post and its comments.

We talked about a few other things like genres, reviewing the work of the style BDFL and the community manager, the future direction of the MetaBrainz Foundation, and a couple of other topics. The summit notes should contain more information on what we talked about and decided on these points.

Obviously it was not all talk and talk and talk. There was also plenty(!!) of chocolate. yeeeargh helped us by getting a lot of Ritter Sport as he apparently lives right next to their factory, and sending it along with chirlu to Barcelona. Thank you, yeeeargh! Gelato! We also managed to take in a vast amount of gelato (Italian ice cream), as there was an amazing gelato place close by Rob’s apartment. And got to walk a bit around the city of Barcelona. And have various social hanging out that only most of the time was Meta-/MusicBrainz related… but not all of it. ;) Our system administrator, Laurent/zas, also took a bunch of pictures capturing the summit. A few of them are shown here, but you can peruse them all in the slideshow at the bottom.

Finally, a big thank you to Google and Spotify for helping to fund this meeting. It would have been a lot harder to bring all these people together from around the world without their (continued, no less!) support. Here’s to 2016 and summit 16!

This slideshow requires JavaScript.

Sandbox upgrade and downtime: Tuesday, 24 November, 2015 @ 17:00 UTC

Tomorrow, Tuesday, 24 November, 2015 at 17:00 UTC, we will be bringing down rika, our sandbox server, to update the operating system. We expect this to take approximately two and a half hours, during which time rika will be updated to Ubuntu 14.04 LTS. If you are running any services (such as a MusicBrainz sandbox) on rika, remember to back up your data (like the MOTD says!), and be aware that you will need to restart these services once the server is available. Thank you for understanding the brief inconvenience as we put shiny new things in place.

UPDATE: Unfortunately, something has gone wrong during the update process. rika is responding to pings, but no services have come up. We will do our best to resolve this quickly, but there is currently no ETA.

Server update, 2015-11-16

Today we’ve released several changes decided at the recent MusicBrainz Summit:

  • German, French, and Dutch translations are now usable on the main server, via the language menu at the top right of any page. Previously these were only accessible on the beta server. Don’t forget to help contribute on Transifex if you find any issues in the translations. You can also help translate some of the less-complete languages over there.
  • “Add relationship” edits have been made auto-edits for everyone. By a recent calculation, only 0.78% of these have been canceled or voted down, yet they make up a large percentage of our open edits and are easy to remove.
  • “Add release” edits have been made auto-edits for everyone. Since releases added to MusicBrainz are available immediately through the website and web services, there’s no telling where the MBIDs are being used. Permanent and reliable IDs are a core tenet of MusicBrainz, so duplicate releases should always be merged to avoid MBID loss, not voted down or deleted. I’ll be looking at ways to better detect duplicates during the add-release process, though.
  • “Add release label” and “Remove release label” edits have been made auto-edits for everyone. Like the previous two edit types, release label additions are among the most common types of open edits, and are rarely canceled or voted down. Release label removals are also easy to revert because all of the removed data is contained in the edit.

In addition to the above changes, Roman Tsukanov has added some new reports, and we’ve fixed a few editing bugs.

The git tag today is v-2015-11-16 and the complete changelog is below.


      • [MBS-8607] – JSON-LD has bugs
      • [MBS-8612] – 404 page has incorrect/outdated menus
      • [MBS-8614] – Release merges can fail if a recording is both a merge source and merge target
      • [MBS-8615] – Non-conflicting mediums appended after a release merge is entered block the merge
      • [MBS-8620] – Can’t add an example to an Artist-Series relationship
      • [MBS-8623] – Duplicate checker entity list lacks a space between name and disambiguation


      • [MBS-2255] – Create a report to show stuff that’s linked to Various Artists, but may be an incorrect link
      • [MBS-6759] – Release German translation on the main server
      • [MBS-8616] – Add links back to transifex so people can help improve the translations

New Feature

      • [MBS-8489] – Report for all entity.disambiguation =


    • [MBS-8387] – Make add release edits auto-edits for everyone
    • [MBS-8389] – Make add relationship edits auto-edits for everyone
    • [MBS-8596] – Make add release and add/remove release label edits autoedits

Server update, 2015-11-02

Today’s release fixes some editing bugs and adds a useful option to the edit search for finding edits by newbie editors (those who have a low accepted-edit count). The git tag is v-2015-11-02 and the changelog is below.

(This release is a day late because I’d been traveling back from the MB summit all day yesterday.)


  • [MBS-8580] – “Reorder mediums” edit is stuck after being left open and trying to move a medium into a position that already has one
  • [MBS-8590] – Can’t clear relationship credits


  • [MBS-2677] – Filter by edit count of the editor (newbie search)
  • [MBS-8588] – Improve ContactUs page
  • [MBS-8611] – Refactor query_to_list into a role


  • [MBS-8610] – Convert 404 page to React

Server update, 2015-10-19

Today’s release fixes some bugs causing certain open edits to get stuck, and improves on our URL auto-selection code. Notably, URL shorteners are now detected and blocked from being entered.

The git tag is v-2015-10-19.


  • [MBS-8571] – Stuck edit: medium_positions does not account for all mediums in all releases
  • [MBS-8572] – Stuck edit: update or delete on table “recording” violates foreign key constraint “recording_alias_fk_recording” on table “recording_alias”
  • [MBS-8573] – “Edit artist” edit can be entered with a disambiguation comment containing only whitespace


  • [MBS-6534] – URL autoselect LinkedIn → has a social networking page at
  • [MBS-7904] – Block URL shorterners


  • [MBS-8244] – Add “social network” autoselect for foursquare