Development/Summer of Code/2011
The MetaBrainz Foundation has applied as a Google Summer of Code organization in 2011. This will allow MusicBrainz hackers to apply for the Summer of Code program and if accepted, get paid for hacking on MusicBrainz.
This page lays out various ideas for projects that people can take on during their Summer of Code. If you have your own ideas for Summer of Code, please add them at the bottom of this page.
All applications for Summer of Code must pass a community review process where the proposer must clearly define their idea and present it to the community at large. Proposers must be/become active members of the community and must adapt their proposals according to community feedback. If the community does not approve of the project, the project will not be accepted by the MetaBrainz Foundation. If your project makes it into the final round of consideration for acceptance, be ready for an interview and possibly even an entrace test to verify the skills claimed on your Summer of Code application.
Furthermore, all projects must develop new features for MusicBrainz. Proposals for replacing existing and working projects for the sake of making them more open will not be accepted. Proposals for extending existing projects with new features have a much greater chance at being accepted.
We strongly encourage students to delve into MusicBrainz and provide their own ideas for Summer of Code. We're listing a few projects here that we care about greatly, but we're more excited to hear what students want to do!
This year Robert Kaye, Oliver Charles and Kuno Woudt will be mentoring students. That's ruaok (Robert), warp (Kuno) and ocharles (Oliver) on IRC, if you want to come and speak to us first.
IMPORTANT NOTE: All of these ideas should assume that they are going to be built on top of our Next Generation Schema. We will not accept proposals based on our old code base.
Artist credit utilization
Artists and artist pages are a very central convergence point for the data in MusicBrainz, but unfortunately the current UI doesn't fully capitalize on all the data available such as artist credits. This proposal is to redesign the artist and related pages with the intention of providing more thorough access to artist credit data.
Artist credits offer two features: one is the ability to credit artists with various alternative names and still link everything back to the one artist, and the second is to be able to assign multiple artists to a given recording, release, release group, etc.
Possible outcomes of this proposal would be the ability to:
- "Filter" the data on the artist page based on what artist credit was used (similar to Discogs' artist name variation).
- Find what all data a specific collaboration artist credit is credited to (similar to the current server's collaboration artist pages).
- Select a "frequently used" artist credit when doing a lookup for an artist in the add release wizard.
Database size/growth visualization
Our current database size/growth visualization is quite lacking. We would love to have an improved means of inspecting the size/growth of our database over time. We would like to see:
- How big the database is today
- How it has grown over all time or over a specific section of time.
- What is the rate of change of the data growth and can these changes be correlated to features or style policy changes?
- Anything ele that gives us more insight into our database and the community of people working on that database.
All the data in MusicBrainz is easily accessible to programmers, but it's not as easy to use the data if you're not a programmer. To allow third party websites (specifically bloggers) to use data from MusicBrainz we would like to create a set of widgets. Widgets will make it easier for someone writing an article about an artist, or a blog post reviewing a particular release to include correct metadata about the artist or release. It will also let their visitors (human or searchbot) know exactly which release or artist is being talked about.
The StyleCouncil sometimes has a hard time keeping track of proposals. This project would develop an proposal tracker for the Style Council, either modified from an existing issue tracker or written from scratch. The goal is for anyone interested to be able to see:
- the current status of a proposal (e.g. RFC/RFV/withdrawn/approved/implemented)
- when it was last discussed on the mailing list
- who is responsible for it
- the proposal itself
Your idea here!
We really like getting completely different suggestions, so please do not feel at all limited to the above proposals. If there's something cool you think could be done with MusicBrainz and want to make it happy - please suggest away.
We could add widgets that embed different types of information like: Artist profiles Artist latest songs / greatest songs / Album cover art (Images in public domain), Direct links to songs (like to grooveshark), RSS feeds for artist news / concerts, Tune identification (HTML5 allows mic access) Divya
Adding data into Musicbrainz is largely a manual process - which I think is unsustainable, (new releases are coming along much quicker than they can be handled). It would be interesting to look at some way of automatically entering data from outside the Web Interface (it would still require manual voting) or improvements to modbots for fixing existing data. This could range from entering a new release, creating a link to a Discogs release or converting (Disc 1) in titles to release groups. Ijabz
* There is a bot that's not currently part of MusicBrainz, a project could be to work with the author of this bot into making it part of MusicBrainz proper.
Proposals NOT wanted
We are not interested in Mentoring the following projects:
- Creation of new tagging applications: We would much rather see proposals that extend the Picard tagger and help along with its development.
- Acoustic fingerprinting projects: There are new and open acoustic fingerprint projects coming out soon, so we don't need to focus on this.
- Artist-artist collaborative filtering: We have a third party that has volunteered to work on this for us pro bono.
- Collaborative similarity, along the lines of tags, as well as similarity cloud-link charts, between artists, labels, or releases.
- Ports of MusicBrainz: Yes, we're aware of Django and Ruby on Rails, but porting all of MusicBrainz to run on these platforms is not at all practical.
Before you dive in and send a proposal to us through Google, it's a good idea to take some time and learn about the MusicBrainz community. At MusicBrainz we pride ourselves for having a strong community - most of us know each other in same way, and some of us know each other face to face from development summits.
A good way to get a feel of this would be to lurk around in IRC, or to talk about your proposals on the mailing list.