Development/Summer of Code/2011: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(added NGS (Imported from MoinMoin))
((Imported from MoinMoin))
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
The MetaBrainz Foundation is applying as a [http://code.google.com/soc Google Summer of Code] organization this year. This will allow MusicBrainz hackers to apply for the Summer of Code program and if accepted, get paid for hacking on MusicBrainz.
The MetaBrainz Foundation is applying as a [http://code.google.com/soc Google Summer of Code] organization this year. This will allow MusicBrainz hackers to apply for the Summer of Code program and if accepted, get paid for hacking on MusicBrainz.


This page discussed various ideas for project that people can take on during their Summer of Code. If you have your own ideas for Summer of Code, please add the at the bottom of this page.
This page discussed various ideas for project 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 Google or by the MetaBrainz Foundation.
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 Google or by the MetaBrainz Foundation.

Futhermore, 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.


==Collaborative Filtering: Artist - Artist Relationships==
==Collaborative Filtering: Artist - Artist Relationships==


Currently [[MusicBrainz]] has very old and stale artist to artist relationship data. This data provides an indication of how closely (musically) two artists are related. The data we're currently using was derived from crawling the Gnutella network and determining relationship data based on what music people have in their music collection.
Currently MusicBrainz has very old and stale artist to artist relationship data. This data provides an indication of how closely (musically) two artists are related. The data we're currently using was derived from crawling the Gnutella network and determining relationship data based on what music people have in their music collection.


Rather than relying on external data sources, it would be best to rely on our internal data from the MusicBrainz project. Useful piece of data include:
Rather than relying on external data sources, it would be best to rely on our internal data from the MusicBrainz project. Useful piece of data include:
Line 37: Line 39:


Skills required: Perl and SQL
Skills required: Perl and SQL

==Improved Statistics and Trivia==

The [http://musicbrainz.org/stats.html current database statistics] page is very simplistic. We would like to see a more comprehensive statistics gathering module complete with more intelligent data graphs that visualize the MusicBrainz data set over time. Part of this project would be a set of trivia pages that show useful information contained in the MusicBrainz database:
* Upcoming releases
* Recently deceased artists
* Useful statistics from [[Advanced Relationship|AdvancedRelationship]] links

For more details on this project idea, please see [[Data Trivia|DataTrivia]].

Skills required: Perl and SQL

==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.

==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.


==More ideas==
==More ideas==

Revision as of 23:37, 19 March 2007

Ideas for Google's Summer of Code

The MetaBrainz Foundation is applying as a Google Summer of Code organization this year. This will allow MusicBrainz hackers to apply for the Summer of Code program and if accepted, get paid for hacking on MusicBrainz.

This page discussed various ideas for project 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 Google or by the MetaBrainz Foundation.

Futhermore, 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.

Collaborative Filtering: Artist - Artist Relationships

Currently MusicBrainz has very old and stale artist to artist relationship data. This data provides an indication of how closely (musically) two artists are related. The data we're currently using was derived from crawling the Gnutella network and determining relationship data based on what music people have in their music collection.

Rather than relying on external data sources, it would be best to rely on our internal data from the MusicBrainz project. Useful piece of data include:

  • various artist albums -- two artists that are on a compilation together are likely to be somewhat similar.
  • search logs -- one user searching for a number of artists also gives an indication of similarity.
  • artist subscription -- the artists that MusicBrainz users subscribe should also yield some information.

This project should figure out what data sources to use, write the code to collect data from these sources and then generate new artist-artist data.

Skills required: Perl, Python and SQL

User Interface improvements: Creative Commons Integration

Right now the support for indicating Creative Commons licenses inside of MusicBrainz is minimal and has not been widely used. This project would entail working with the Creative Commons to improve the current support. Also, people dedicating a new piece of music on the Creative Commons site should have some way of being passed over to MusicBrainz to enter metdata for their music into MusicBrainz. This would involve making a number of user interface improvements to MusicBrainz to make the site more friendly to Creative Commons users who are not steeped in the MusicBrainz philosophy.

Skills required: Perl, JavaScript and SQL

User Interface improvements: Artist Page Redesign

The current artist/release pages are in dire need of being redesigned. Some work on this front had been started in ArtistPageRedesign, but now abandoned. This work needs to be re-evaluated and freshened up. The implementation of this would require adding support for JSON in our current web service and for lots of user interface work.

Skills required: Perl, JavaScript and SQL

Implementation of the "Next Generation Schema"

The current MusicBrainz database schema is limited and needs to be redesigned to capture all the information required to build a complete discography. Implementation of the NextGenerationSchema will be a long-running project, but hopefully it will be possible to split the work into a few independent steps. One of these steps could be done during the SoC.

Skills required: Perl and SQL

Improved Statistics and Trivia

The current database statistics page is very simplistic. We would like to see a more comprehensive statistics gathering module complete with more intelligent data graphs that visualize the MusicBrainz data set over time. Part of this project would be a set of trivia pages that show useful information contained in the MusicBrainz database:

For more details on this project idea, please see DataTrivia.

Skills required: Perl and SQL

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.

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.

More ideas

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