New business relations guru: Christina Smith

I am pleased to announce that I’ve just hired our first person responsible for looking after the day-to-day business operations of MetaBrainz! Christina Smith, a Canadian who also lives in Barcelona, has signed on as our part-time Business Development Guru (/Manager/Troublemaker/What have you).

This marks a significant step forward for us in a number of ways. First, it acknowledges that we have grown enough to warrant such a position. Second, Christina will improve how we communicate with customers and how much revenue we bring into the foundation. In the last two years we’ve added several new projects, but haven’t been able to hire new engineers to work on these projects, so hopefully having Christina will allow us to grow to support our new projects as well.

Christina’s responsibilities can be summarized as:

  • manage relationships with our supporters
  • provide timely, friendly and helpful answers and solutions for our supporters
  • increase revenues by connecting and building relationships with current and potential supporters
  • general accounting tasks including invoicing and payment tracking
  • periodic research, recommendations and help to address evolving business needs. (e.g. research the implementation of a company presence in Europe, including help in setting up a new headquarter in Barcelona)
  • research and suggestions on law and policy issues related to the business

I am super excited that Christina will be working with us — this removes a pile of tasks off my plate, which should allow me to focus more on running the foundation and managing our teams.

For the remainder of December, Christina will work on research tasks on how we can establish a better base in the EU. Then in January she will properly join the team and be present in our IRC meetings.

Welcome on board, Christina!

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.
  • UPDATE 2015-12-03: It was neglected to mention here that “Edit release label” edits were also made auto-edits, since they are equivalent to a removal plus an addition. For statistics, see the comments at MBS-8666.

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.

Bug

      • [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

Improvement

      • [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 = entity.name

Task

    • [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

Restructuring MusicBrainz’ management

In the recent past, the MusicBrainz community has become more fractured with evident tension rising between members of the community, the dev team and myself. I’ve been struggling with trying to find a good way to fix these problems and I’ve attempted making a number of changes over the past few months. Mostly with mixed or bad results, which further increased the frustrations for everyone involved.

While I was on vacation the past two weeks, I had some distance from work and at random points during this vacation a few key issues/solutions became clear to me. Over the next few weeks I will be announcing changes to how I manage this project and possibly some changes to some of our core policies to support these changes. Stay tuned on this blog for more announcements regarding this restructuring.

In the first round of changes, which I will detail in a subsequent blog posts, I would like to:

  1. Re-emphasize that we are an open source project and that we must do all of our work in public. Point 3 of our social contract states: “We won’t hide problems and policies: We will keep all MusicBrainz related discussions open for public view at all times, regardless of their content. All problems and policies related to MusicBrainz will be visible to all.” As problems in our community grew, factions hid from the public view. A lot of development work and development discussion went underground in private communication channels that had no transparency at all. Fixing this will be my most important goal moving forward.
  2. Take control of tasking the development team. Starting this monday, during our weekly development chat, I will take the lead on discussing what tasks the development team should be focusing on. I will need to catch up on a lot of happenings that I haven’t paid attention to recently. I also suspect that we will need to talk quite a bit about which tools we would like to use to manage our short, medium and long term plans. Don’t expect us to magically revamp this process on Monday — Monday will simply be the first step in what could be a long journey to improve how the MusicBrainz dev team is currently managed.

More posts are coming in the next few days!

One more round of logos

Thank you for your feedback from the last round of logos! The most important messages that we received from the last round were:

  • The colors were too saturated
  • There logos contained too much detail and when made smaller, would not look good

Nico, our designer from Monkey.Do, has taken this to heart and come up with the next round of logos. In this iteration, he is demonstrating progressive details with a logo: At the lowest level of detail the brain is just the split hexagon as suggested by Aerozol, and as the logo gets larger, more detail appears in the logo.

Have a look:

MusicBrainz_logos_30-04-15

As usual, we’d love your feedback!

Spring schema change release: 18 May, 2015 & important Live Data Feed change

I’m pleased to announce our upcoming schema change release on 18 May, 2015. In this release we will implement each of the tickets listed in this fix version:

      • MBS-1347: Implement aliases for release groups, releases and recordings.
      • MBS-4145: Up/down vote for tags — This feature will be our first attempt at getting into “genres”. People have expressed that our tags are vaguely useful for genres, but expressed frustration at not being able to give feedback about the tags. Voting on tags will allow us to find the tags that people find useful, which will allow us to develop a list of tags that we consider to be “genres”.
      • MBS-7489: Artist Credits for Relationships — This feature will allow MusicBrainz to store an alternate artist display name (Artist Credit) for a given credit (Advanced Relationship).
      • MBS-8266: Make medium titles VARCHAR NOT NULL — Fixes a database inconsistency that should have little to no impact on end users.
      • MBS-8279: Remove empty_artists etc. database functions — Another database/code refactoring that should also have little impact on end users.
      • MBS-8283: Remove DB constraint that disallows empty event names — This allows event names to be blank, since many events do not have a proper name.
      • MBS-8287: Log deleted entities that were in a subscribed collection — This feature will give users a notification if one of their subscribed entities is deleted.
      • MBS-8302: Add Live Data Feed access token support — Add support for using access tokens. See below for more details.

UPDATE: We forgot to list the following change, which is already almost ready to go – apologies for the slightly late addition!

UPDATE 2: This change will not affect users of our replicated data at all, since the changes are to non-replicated tables. This is the only reason we decided to sneak this change in after the official announcement.

    • MBS-8004: Extend collections to other entities — This extends the current ability to create collections (user-made lists) to other entities apart from releases and events. That means users can make arbitrary lists (“Artists I’ve seen live”, or “Songs I can play on the piano”), and also subscribe to them to get notified when anything on the collection is being edited.

Finally, I’m not describing MBS-8278, since that is an internal housekeeping reminder and will not really affect downstream users. All in all this is fairly light schema change for us, since we currently have a number of other projects that we wish to undertake in the medium term.

Important Live Data Feed change: After 10+ years of our Live Data Feed being available to anyone on the honor system, we are going to require Live Data Feed users to have an access token to fetch the replication packets for the Live Data Feed.

At the beginning of May we are going to release a new MetaBrainz web-site that will allow all of our current Live Data Feed users to create an account and to generate themselves an access token. Non-commercial users and existing commercial users will be immediately approved and will receive an access token. This access token will need to be add to your MusicBrainz-server (or mbslave) configuration in order for the Live Data Feed to continue to work as expected. Any new commercial users will need to sign up to one of the support tiers that the new web-site will present.

NB: If you are currently using the Live Data Feed legitimately, you should see no disruption to your use of the feed.

Hosting issues & downtime tonight

For the past week we’ve been battling a variety of hosting issues from search servers acting up, gateways dropping packets and now our database server freaking out for no particular reason. We managed to fix/mitigate the issues in the first hiccups, which is good. And for three days everything looked peachy. Then, out of the blue our database server did this:

DB server load

You don’t have to understand much about hosting computers to understand that this is bad. Out of the blue our server started having to work much harder than before. Normally that means that something using the server has changed. We’ve looked for a traffic increase — we can’t find one. We’ve examine someone being abusive to us — we found a couple users, but blocking them didn’t change anything. We tried turning off non-essential services that make use of the database server, but nothing ever changes. We’ve restarted the database server. We’ve slapped this, we’ve poked that, we’ve prodded, undid and tested just about everything we can think of. But, the load comes in spikes and recedes again; over and over.

We’ve had amazing help from a number of people, but several skilled computer geeks with a support from lots of others haven’t managed to make a dent in things. We’re exhausted and we need a bit of a break. So, that’s what we’re doing for the next 7 or so hours.

Then at 15h PDT, 18h EDT, 22h UK, 23h CET we’re going to start to upgrade to the latest version of Postgres 9.1. We hope to be down for less than half an hour — but you never know. We’ll tweet about the downtime and put up a banner on the MusicBrainz site to let people know when exactly we’ll take the site down.

Sorry for the hassle — we’re all amazingly frustrated right now — please bear with us.

Server update, 2014-08-18

A day late with putting this out, due to some sleep mis-scheduling on the part of yours truly, but we’re back with another release! This release includes a variety of small bug fixes and improvements, as well as a reworking of the track parser, which now supports a more complete set of options to control exactly which information is parsed and which is updated in the tracklist. Thanks to bitmap, chirlu, ianmcorvidae, nikki, and reosarevok for their work on this release!

The git tag for this release is v-2014-08-18.

Full list of issues in this release:

Bug

  • [MBS-7753] – Username displays wrongly on area pages
  • [MBS-7799] – unable to add artist as database entry
  • [MBS-7800] – Last.fm URL cleanup doesn’t work for .br and .com
  • [MBS-7804] – URL cleanup for places doesn’t validate links to Discogs or Other Databases
  • [MBS-7805] – series-rels inc parameter doesn’t work since WebServiceInc was not updated

Improvement

  • [MBS-5925] – Show whether you’re subscribed to a collection on the collection overview
  • [MBS-6705] – Move “No linguistic content” lyrics language from “Other” to “Frequently used”
  • [MBS-7270] – The option to parse vinyl track numbers can be confusing
  • [MBS-7749] – Rap Genius is now Genius
  • [MBS-7797] – When editors are not referenced in the DB, delete their rows entirely rather than renaming to Deleted Editor #N
  • [MBS-7798] – Release relationship editor needs a loading indicator
  • [MBS-7803] – Add reports for entities with annotations

New Feature

  • [MBS-3730] – Feature parity: Please re-add the ability to parse only times
  • [MBS-3732] – Feature parity: Please re-add the ability to parse only titles
  • [MBS-4921] – Add a [No lyrics] option to works language

Task

  • [MBS-7785] – Update ESTER to account for the merger of its branches

Brief downtime this Friday/Saturday, at 2 UTC (19 PDT/22 EDT/4 CEST)

As some of you with slave databases may have noticed, we made a slight error and excluded some of the new tables from our schema change in replication (tracked by MBS-7603).

Luckily, the tables in question are presently quite small, meaning that if we act now we can add them without needing a formal schema change release (by simply replicating out the changes). Less luckily, this process requires taking some very heavy locks on the ‘series’ database table, so we’ve chosen to have a small amount of downtime to run the script, at (or shortly after) the time mentioned in the title, which also gives us a chance to restart our database server to incorporate some extensions we’d intended but failed to add during the schema change release last week.

We don’t foresee this process taking more than a few minutes, and no action should be necessary for downstream data users.

Server update, 2014-04-14

A bit later in the day than I’d like, but we’re back with another release! Primarily bug fixes, but this release also includes the long-in-progress work to derive recording durations from track durations; thanks to ocharles and bitmap for dragging that through the various parts of the process! Thanks also to d4rkie, reosarevok, mavit, and chirlu for providing patches on top of the work of the MetaBrainz team.

The git tag for this release is v-2014-04-14.

Full notes:

Bug

  • [MBS-4021] – /ws/2/release doesn’t include artist aliases for recordings on Various Artists releases
  • [MBS-7064] – Internal server error displaying relationship type edit
  • [MBS-7068] – Need Email::Sender 0.120002 or newer
  • [MBS-7297] – Internal server error when searching for edits by ID with large numbers
  • [MBS-7315] – Removing URL entity via Edit Release page results in SQL error
  • [MBS-7386] – Regression: Attach TOC to new release – TOC/DiscId is lost when based on existing release/tracklist
  • [MBS-7390] – ArtistsThatMayBeGroups report needs to ignore orchestras and choirs
  • [MBS-7392] – Place duplicate checks don’t work
  • [MBS-7393] – mora.jp parser makes wrong links
  • [MBS-7395] – Works that still have work attributes can’t be deleted
  • [MBS-7410] – Merge queue with more than one entry shows the wrong help text
  • [MBS-7416] – Edit-medium diff shows recording changes that aren’t actually changes
  • [MBS-7420] – Can’t submit artist edit form after adding and removing a URL
  • [MBS-7426] – Tiny distracting flaw in Edit Recording page ISRC help text
  • [MBS-7429] – Ambiguous field ‘id’ in search query involving edit ID BETWEEN and “Artist in subscribed editors”
  • [MBS-7431] – URL encoding problem with inline URL editing

Improvement

  • [MBS-2021] – Set recording times automatically
  • [MBS-2302] – Set recording length when adding a Disc ID
  • [MBS-7150] – Indicate artists on the release group and recording parts of the ratings page
  • [MBS-7153] – Indicate artists on the release group and recording parts of the tags page
  • [MBS-7291] – Detect and mark big duration differences on recording merge edits
  • [MBS-7391] – Remove verbiage from /entity/create
  • [MBS-7417] – Add a visual indicator when times are very different in release merge edits

New Feature

  • [MBS-3987] – Disable recording duration editing

Task

  • [MBS-7425] – Add maniadb.com to the other dbs whitelist