Google Summer of Code starts again!

Apparently we’ve all made another trip around the sun, because Google’s Summer of Code starts off again today. We’ve applied to be a participating organization again and we’ve put together our ideas page. This page lists the ideas we have for what students can work on over the summer.

However, we find that students who bring their own ideas and inspiration tend to work out better in the program. So, if you are a MusicBrainz fan and you are a current university student who can program, you should consider participating. You’ll need to make sure qualify by Google’s rules.

If you do qualify, can program, and are interested but you’re unsure where to go next, please come visit us in the #musicbrainz channel on irc.freenode.net. We can help you take your ideas and shape them into something that would be workable for a summer project.

Google donates another $30,000!

Google’s Open Source Office has once again decided to support MusicBrainz with another $30,000 donation! Read about how we use Google’s money on the Google open source office blog:

Last year, Google’s generous donation paid for a much needed server and it allowed us to hire our Google Summer of Code™ student (Oliver Charles) part time after the program wrapped up. The donation also helped pay for mundane things like keeping the lights on, backup disks and paying for insurance. But the most fun part that we spent money on last year was our phenomenal MusicBrainz Summit in London.

Thank you very much to everyone at the Google Open Source Office! MusicBrainz would be moving slower and be much more dull without your support!

Summer of Code: Acceptance and projected milestones

I’m pleased to announce that Google’s Summer of Code has announced which projects have been accepted. I’m pleased to let you know that our own Oliver Chalres and Lukáš Lalinský have been accepted to both work on our Next Generation Schema. Congratulations to both of you — this should be an exciting summer!

As the first act of getting ourselves organized for Summer of Code, the three of us have agreed to the following milestone schedule over the summer:

May 25: Object model and read-only user interface in place. This is essentially equivalent to Lukáš’ NGS-p implemented in Catalyst/Template Toolkit based on Oliver’s work from the last year. With this milestone users will be able to convert an existing database to the NGS schema and be able to browse the data in the new schema via the read-only user interface. No editing will be possible at this point in time.

June 29: The basic types are in place for editing artists, labels, and release-groups. Release and track level edits will not be complete.

July 27: Release and release related edit-types will be in place, but without a complete UI. The release edits will take a lot of work to get right so, we’ll have these edits in place, but may not be able to finish a working UI for them.

Aug 31: All remaining edit types are in place and the NGS enabled server enters a final beta phase.

Note that SoC doesn’t officially start until May 23 — we’re not wasting any time — in face our first milestone is due 2 days after SoC starts. Can you tell we’re serious this year?

Upcoming releases: Release groups and Next Generation Schema

In the past month there has been a ton of activity behind the scenes here at MusicBrainz and I can finally give a cohesive update on our plans for the next few months.

The much anticipated Release Groups release has been coded by Lukas in a weekend code sprint based on the old Mason codebase. Even though we had declared the old codebase as end-of-life, we have decided to push release groups out using the older code in order to satisfy the needs of the BBC and other customers. As part of this release, I will also add ISRC support and include a handful of bug fixes. Expect this release in May — I’ll post again when the date is firmly set.

And what is even more exciting is that we’re about to start work on our much anticipated Next Generation Schema (NGS). Discussed and planned over and over again, we’ve finally settled on an approach that appears to make everyone happy. As part of SoC, we’re likely going to accept Oliver and Lukas’ proposals to work on NGS over the summer. The goal is to implement all of the new schema in one release based on the TemplateToolkit/Catalyst work that Oliver has been working on since last summer. We’re going to take a step back and create a new object model/schema and then glue the TT UI onto the new object model.

The schedule puts the TT/Catalyst/NGS release into final beta test on August 31, with a release following in 15-30 days after that date. Please note, however, that there will be no other release based on Oliver’s TT work before NGS is release in September. We had to skip that release in order to pull in the schedule to make the target date of August 31.

I am quite excited by the work that is being done in the server area right now — we’re on our way to get past some significant hurdles. Just yesterday I got a first glimpse at the MusicBrainz site partially translated to Dutch — startling at first, but quite exciting when you think about it.

Many thanks to Matt Wood at the BBC for having the patience and dedication to work with MusicBrainz. Many thanks to Lukas for the coding sprint to get Release Groups off our collective plate. And of course many thanks to Oliver, Nikolai, Brian for your continuing hard work on TT. And thanks to everyone who has been supporting this team over the past few months.

Please help us test the new Collections feature

Our test server is back online and ready for you to come test Niklas’ new Collection feature!

If you’re interested in taking a look, head to our test server.

Log in with your usual account name and the password ‘
mb
Then head to the Collection menu and give the new feature a spin!

We’re now tracking issues in our bug tracker. Set ticket component to MusicBrainz Server, milestone to Server 2008-11-XX and assign to: Niklas.

Documentation for the new feature is here — its still very basic, please help out with documentation or add your documentation comments to the wiki page. There is also documentation for the web service.

Sorry for the long wait!

UPDATE 1: There is a batch add script — stay tuned for details on this.
UPDATE 2: If you have problems logging in, clear all of your cookies for all musicbrainz.org domains.

Google Summer of Code projects announced!

Google has announced which summer of code projects and MetaBrainz accepted three sexy proposals. A big, fat round of congratulations go out to:

  • Niklas Berglund, Music Collection: “This project aims to make it easy to keep track of new releases of your favorite music artists, and making it easy to see which of their releases you are missing in your collection.”
  • Oliver Charles, Port the existing mb_server code base to use Template Toolkit templates, “I will split the current Perl code base of mb_server into separate Perl files, and corresponding Template Toolkit templates. I will do so by writing some in-between bridge Perl code, and extracting existing HTML from the mb_server code into templates.”
  • Alexander Hupfer, Wizard for PicardQt: “New users often find that PicardQt is difficult to use or/and have problems to use it the right way. The wizard will solve both shortcomings by guiding the user through the necessary steps when using PicardQt including file import, library organisation and handling of duplicates.”

We’re quite excited by the applications we received this year — our experience from last year allowed us plan our approach better. We were able to quickly identify good students with proposals that we liked and help them along to make their proposals better and to have them fit smoothly into our plans for the next few months. Also from this you can see that we’re going to stick with perl for a while longer while we clean up the existing code base to make it ready for adding more complicated features drawn from the NGS proposal.

This is quite exciting! Thank you to Google for supporting us again and congratulations to Niklas, Oliver and Alexander!