We’ve hired another MusicBrainz developer!

I’m pleased to announce that Yvan Rivierre has joined the MusicBrainz development team! Yvan is not new to our community — he has been participating MusicBrainz development for some time and more recently has been attending our weekly community meeting. He’s submitted several pull requests to MusicBrainz already, and now he joins us as a full time developer.

Yvan’s nickname on all things MetaBrainz is now yvanzo, was formerly yvanz, in case you’re wondering what happened. Expect him to be around even more, helping bitmap to make improvements and changes to MusicBrainz. The MusicBrainz search infrastructure and hosting are no longer core tasks for the MusicBrainz team, leaving yvanzo and bitmap to focus solely on MusicBrainz. This brings us to a new level of dedication to our most important project and should allow us to tackle more issues faster focus new areas of improvement. (e.g. hopefully we can start making improvements in UX/UI this year!)

Welcome aboard Yvan!

MetaBrainz Foundation Board Meeting Minutes: September 15th, 2016

In an effort to try and be even more open and transparent, the MetaBrainz Foundation’s board of directors agreed last year to publicise the minutes from its board meetings. This is the first entry of that new series. The board meets up 3–4 times a year, so don’t expect these postings to be too frequent. 🙂

These particular minutes have been approved at its following board meeting, but we will try and get future meeting minutes up prior to the next one, which means that future posts will be subject to change if the board feels something is wrong or missing in the minutes. Also note that discussion related to personnel or confidential topics have been (and will be) redacted. Furthermore we will also add more text to the notes in order to give context and background, while not altering the meaning of theses notes.

With all that said, let’s get started!

MetaBrainz Foundation Board Meeting Minutes 2016­-09­-15

Attendees: Robert Kaye, Nick Ashton ­Hart, Sophie Goossens, Rassami Hok ­Ljungberg, Frederik “Freso” S. Olesen, Cory Doctorow
Absent: Paul Bennun, Matthew Hawn

Agenda

0. Call to order.
Rob called to order at 18:15 CEST.
Editor’s note: Unless otherwise noted, Rob will be the one speaking in the notes below.
1. Approval of last meeting minutes
Moved by Rob. Rassami objects to all board members sending chocolate, but with that removed, she seconded. Unanimous. Motion carried.
2. Board changes
Editor’s note: Christina, our former biz dev manager, used to be on our board of directors as both Secretary and Treasurer. Since she was no longer with us, we needed to replace her positions in the board.
Rob moves that Christina is replaced by Rassami as Treasurer. Sophie seconds. Vote is unanimous. Motion carried.
Rob moves to replace Christina with Frederik “Freso” Olesen, our community manager, as the new Secretary of the board. Having Freso as our secretary gives the community some insight into the board meetings. Rassami seconds. Rob suggests that Freso should take the board meeting notes and remove private/confidential points and release a version that is suitable for public consumption.
3. Old business:
  • General update: It’s been a challenging year: Planned for a lot, had a lot of set backs. Series of perfect storms, causing extremely and challenging year for me personally, but I am finally climbing out. I’m digging out and focusing on the core issues.
  • Office: Power, plumbing issues resolved. Ready for use with the hack day next week.
  • Hosting: We’ve been moving services away from Digital West and to Google. At the same time we continue to get more traffic and asking people to be polite in using our service isn’t really working anymore, thus the focus on NewHost. Another perfect storm. Now have 4 servers at Hetzner in Germany, working to move in. We’ll order more servers closer to migration time. Been working all summer to move services to containers. We gain flexibility and mobility, but there is loads of work.
  • Summit: We’re not going to have a summit this year, but opted for a smaller hack weekend where we iterate faster to get to NewHost.
  • Non paying companies: Data is wide open, and commercial customers can legally make use our data and API. Soon we will prevent them from using our API (by using API keys), but abuse is still possible. How can we deal with non-supporting companies? So far, we would put companies into the penalty box and then send a tweet to that effect. This has been our practice and I explained this to our biz dev manager, but due to other issues compounding she decided to pick this issue to start a war over. So, how should we deal with non paying companies? How far can we go in pestering companies to do the right thing?

    Nick states that the heaviest offenses will be eliminated by introducing API keys. Rob notes that he still wants to bring attention to people for leech our data outside of the WS and data dumps.

    Rob asks if we should try and keep track of people who download our data, but there might be some legal concerns related to (knowing if pirates download the data).

    Rob to-do: ask our pro bono lawyer legal question about keeping track of people.

    Rob asks: Do anyone have an objection to the “penalty box” idea?

    Cory suggests to perhaps get a pro bono lawyer to send a letter to bad actors telling them they’re bad actors.

    Cory also suggested that the board should be consulted before a company goes into the penalty box. Rob agrees and will write follow-up email to this point.

4. New business:
  • Big Query: Make MusicBrainz, AcousticBrainz and ListenBrainz available on BigQuery — Google would like better and more dynamic data sets to show off their service. We get free data hosting and people will be able to query their own LB (last.fm) data on their own if they want to. Game changer. We’ve moving LB/AB, Google is adding MB. Once this is done, Google will do some publicity for this.
  • Dec board meeting: London. I’ll pick a date soon.
5. Finances:
  • Moved to new EUR capable accounting system, which took time to do, but now saves time.
  • Income is increasing, this is the most amount of money we’ve had in the bank ever! > $200k!! \ø/
  • Moving forward with new Biz Dev: I’m not going to replace biz dev manager right this second. I’m managing the influx of new customers, and need to focus on moving servers to new hosting facility (NewHost). Once our hosting setup is stable, I’ll work to hire more people in order to make my life more sane.
5. Adjourn
18:57 CEST

Footnotes

  1. Q2 P&L: https://metabrainz.org/finances/files/MetaBrainz_Foundation_profit_loss_2016_Q2.pdf
  2. Aug P&L: https://metabrainz.org/finances/files/MetaBrainz_Foundation_profit_loss_20160831.pdf
  3. Aug Balance sheet: https://metabrainz.org/finances/files/MetaBrainz_Foundation_balance_sheet_20160831.pdf

MetaBrainz has been accepted to Summer of Code 2017!

I’m pleased to announce that MetaBrainz has been accepted into the Google Summer of Code program for 2017!

If you are an eligible university student who would like to participate in Summer of Code and get paid to hack on a MetaBrainz project over the summer, take a look at our ideas page for 2017. If this sounds interesting, take a look at our getting started page.

We kindly ask that you carefully read the ideas page and the getting started page before you contact us for help!

Thanks and good luck applying!

Server update, 2017-02-27

Mostly a bug-fix release, with a few small improvements. Thanks a lot to yvanz, reosarevok, loujin, and ferbncode for their contributions. The git tag is v-2017-02-27.

Bug

  • [MBS-8931] – invalid ISRC creates Internal Server Error
  • [MBS-9214] – Cover art types tick boxes are listed with scrollbars in Opera 42 Stable
  • [MBS-9219] – [Multiple languages] (Basic) is automatically added when editing/saving an editor profile
  • [MBS-9246] – Tool-tips displaying “undefined” text
  • [MBS-9250] – Places map displays over header menus
  • [MBS-9252] – Setup using INSTALL.md: cpanfile missing entry Plack::Middleware::Debug

Task

  • [MBS-9211] – Add autoselect, clean-up, and validation + sidebar for LiveFans URLs

Improvement

  • [MBS-9166] – Remove “early” from Guess Case
  • [MBS-9176] – Add Release Group page shouldn’t display the artist tabs
  • [MBS-9237] – Don’t immediately fill back the default AC while editor is typing
  • [MBS-9254] – Show place dates on the Places list for areas

Picard 1.4 released

Official MusicBrainz cross-platform music tagger Picard 1.4 is now out, containing many fixes and new features!
The last time we put out a stable release was more than 2 years ago, so a lot of changes have made it into this new release. If you’re in a hurry and just want to try it out, the downloads are available from the Picard website.

Picard 1.4

picard-1-4-screenshot
A brand new Picard 1.4 install, fresh from the oven. Get it while it’s hot!

2 years is a long time for software, and Picard has been the subject of a couple of Google Summer of Code projects and plenty of developments required by changes in dependencies and the MusicBrainz project itself. Overall, the changes would be too numerous to list. If you’re curious to read it all, a complete list of changes can be seen on the website. Here are at least a few of the highlights: Continue reading “Picard 1.4 released”

Server update, 2017-02-13

New features include a map of places contained in an area, thanks to work by loujine, and a report of instruments without an image, thanks to yvanz.

More URL cleanup fixes were submitted by yvanz, and a display bug with the locale drop-down was fixed by chirlu. Thanks again to all who contributed this release.

The git tag is v-2017-02-13.

Sub-task

  • [MBS-9062] – Correct play.spotify.com → open.spotify.com

Bug

  • [MBS-8168] – Statistics for label types are missing from the stats pages
  • [MBS-8236] – Recognise classicalarchives.com/artist/… URLs
  • [MBS-9168] – Specific locales aren’t indented
  • [MBS-9224] – The gulpfile sometimes produces a corrupt rev-manifest bundle
  • [MBS-9229] – Regression: No longer able to add www.bandsintown.com URLs
  • [MBS-9232] – Pinterest URL cleanup adds a second /

New Feature

  • [MBS-7795] – Display a map in Areas that shows all the places contained in the area.
  • [MBS-9193] – Report instruments with neither image nor Wikidata item

Improvement

  • [MBS-8249] – Standardise and validate Spotify URLs

Wrapping up Google Code‐in 2016

As Google has now announced the finalists of this round of Google Code-in, it feels only right that we also take a look back at what’s been taking up a large chunk of our time the last couple of months.

Divya Prakash Mittal (India – returning from last year!), Daniel Theis (Germany), and Tigran Kostandyan (Russia) all made it to the finalists, with Anshuman Agarwal (India) and Daniel Hsing (Hong Kong) additionally taking home the Grand Prize Winner positions! Congratulations to all of you and thank you so much for your contributions this year. 🙂 Continue reading “Wrapping up Google Code‐in 2016”

Server update, 2017-01-30

We have many more URL display, cleanup, and auto-selection fixes thanks to yvanz, and one from GCI student anshuman73. A bug with browse requests for instruments and series in our web service has been fixed by Zastai. Thanks to jonathonwiebe, too, for correcting an outdated link in our INSTALL file.

The git tag for today’s release is v-2017-01-30.

Sub-task

  • [MBS-9195] – Convert data.bnf.fr URLs into catalogue.bnf.fr ones

Bug

  • [MBS-9128] – Unwanted “list” argument is not removed from YouTube URLs
  • [MBS-9173] – JSON browse requests for instruments and series fail

Task

  • [MBS-8998] – Display CPDL score links on the sidebar
  • [MBS-9194] – Add a bunch of sites to the “other database” whitelist

Improvement

  • [MBS-7734] – Improve Facebook URL clean up
  • [MBS-8365] – Add autoselect, clean-up, and validation for Pinterest URLs
  • [MBS-8390] – Add autoselect, clean-up, and validation + sidebar display for Bandsintown URLs
  • [MBS-9002] – Disable and tick the “ended” checkbox when the end date field is filled
  • [MBS-9159] – Enable URL cleanup for Instagram URLs
  • [MBS-9181] – Improve ReverbNation URL cleanup

Libdiscid 0.6.2 and python-discid 1.1.1 released

Libdiscid 0.6.2 includes these changes:

  • ISRC and MCN support on BSD (Zastai)
  • LIB-60: fix make check for default device on generic/unknown platform
  • make Doxygen output reproducible (no timestamps; Sebastinas)
  • remove newline for Linux device “1” from proc (Zastai)

The download can be found at http://musicbrainz.org/doc/libdiscid.

Python-discid 1.1.1 includes these changes:

The download can be found at https://python-discid.readthedocs.org/.

Server update, 2017-01-16

Thanks to chirlu, yvanz, and GCI students anshuman73, tigranl, and dpmittal for their contributions to today’s release. The git tag is v-2017-01-16 and the changelog is below.

Bug

  • [MBS-9175] – Attach TOC: Certain mediums with matching track count not shown when searching by artist
  • [MBS-9180] – Near-identical duplicates of common-xxx.js
  • [MBS-9186] – Gulpfile fails to build scripts in website containers
  • [MBS-9196] – Wikidocs redirects are broken
  • [MBS-9198] – Drop-down arrow in the top search missing in Firefox

Task

  • [MBS-7307] – Add LinkedIn URLs to sidebar
  • [MBS-8828] – Add Songkick URLs to the sidebar
  • [MBS-8851] – Add link to the blog on the footer
  • [MBS-8995] – Add ReverbNation links to the sidebar
  • [MBS-9143] – Remove the FreeDB search option

Improvement

  • [MBS-1319] – Special capitalization of dotted/dotless i/ı in Turkish
  • [MBS-8868] – Display label logo for Wikimedia Commons url-relationship