Development/Summer of Code/2011

From MusicBrainz Wiki
< Development‎ | Summer of Code
Revision as of 00:06, 4 March 2008 by BrianSchweitzer (talk | contribs) ((Imported from MoinMoin))
Jump to navigationJump to search

Ideas for Google's Summer of Code

The MetaBrainz Foundation has applied as a Google Summer of Code organization in 2008. 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 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!

Also, see this blog post for more thoughts on our participating in Summer of Code.

Improve the HTML/CSS for the MusicBrainz web site

A lot of the HTML layout and CSS for the MusicBrainz site were designed before CSS was consistenly implemented in browsers. Consequently lots of ugly hacks like using tables for layout remain in the MusicBrains server codebase. Also, many people have hacked on the CSS/HTML and it has a lot of inconsistencies and cruft that need to be cleaned out.

The person tackling this project should be an HTML/CSS wizard and be ready to work with the mb_server development team to weave his or her work into the re-write of the mb_server codebase into Python.

Skills required: CSS, HTML, Python, CherryPy and Mako

Improve the Javascript for the MusicBrainz web site

A lot of the Javascript for the MusicBrainz site has been added on over the years by many people, resulting in code which is hard to use or extend. Currently all of the ECMA script code also loads on every single page. The ECMA script functionality is in need of rewriting with an eye towards making it easy to extend and easy to use as needed, while segmenting it such that only code which is actually needed is loaded on any pages within the site. Code which is produced should handle Firefox 2 and 3, Opera 9+, and IE 6+ without requiring browser-specific hacks within the server code to implement it.

The person tackling this project should be a ECMA script wizard, able to comment and document what the code does and how it does it, able to handle cross-browser ECMA script issues, and ready to work with both the person working on the HTML/CSS rewrite and the mb_server development team to weave his or her work into the re-written server.

Skills required: cross-browser ECMA script, CSS, HTML, Python

PicardQT

Help development of newest version of tagger. Perhaps encapsulated as a module within the program or a specific aspect. Pretty much anything that helps move that development along. We much prefer to see proposals that work to make PicardQT better, rather than creating a new tagger from scratch. If you plan to submit a proposal that improves PicardQT, you must present specific goals for making Picard better. If you do not provide details on concrete new features, you will have no chance to have your proposal accepted.

Skills required: Python, PyQT, Qt

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 PicardQT tagger and help along with its development. See the PicardQT section above.
  • Acoustic fingerprinting projects: We have an excellent partner in MusicIP who provides our current fingerprinting technology. Submitting a proposal to replace MusicIP is not going to be accepted since we are very happy with our current arrangement for acoustic fingerprinting.
  • Artist-artist collaborative filtering: We have a third party that has volunteered to work on this for us pro bono.

More ideas

If you have more ideas for the Summer of Code, please add them here.