Google Code-in/2015

From MusicBrainz Wiki
< Google Code-in
Revision as of 12:08, 14 December 2015 by Dpmittal (talk | contribs)
Jump to navigationJump to search

Google Code-in is a contest to introduce pre-university students (ages 13-17) to the many kinds of contributions that make free and open source software (FOSS) development possible. Students must complete tasks, one at a time. It is sponsored and run by Google. The Wikimedia Foundation has participated since 2013. Check MetaBrainz's list of tasks in Google Code-in. The Google Code-in 2015 contest runs from December 07, 2015 to January 27, 2016 (see the full timeline). MetaBrainz is partcipating for the first time.


General Instructions For GCI Students

Tasks are divided into the following categories:

  • Code: Tasks related to writing or refactoring code
  • Documentation/Training: Tasks related to creating/editing documents and helping others learn more
  • Outreach/research: Tasks related to community management, outreach/marketing, or studying problems and recommending solutions
  • Quality Assurance: Tasks related to testing and ensuring code is of high quality
  • User Interface: Tasks related to user experience research or user interface design and interaction

Quality Over Quantity:It’s not about being the student who completes the most tasks, that only gets you to the top 10 to be reviewed, it doesn’t mean you will be a grand prize winner.

Collaboration:Open source is not just about coding but working with other people to find the best solution. Being a part of the community is an essential part of success in Google Code-in. Mentors like students who worked hard on their projects but also participated on IRC and helped answer questions other students had. IRC channel for MetaBrainz is #metabrainz and #musicbrainz in the irc.freenode.net network.

Communications

All communications should happen in the public and publicly logged IRC channels, #metabrainz and #musicbrainz. Private discussions are highly discouraged, unless it's personally sensitive. If you must message someone in private, be sure to ask in public first.


Commonly Used Abbreviations

Well when you are using the IRC, you might be wondering what a lot of abbreviations mean that the people keep using there. So you have a cheat sheet here:

Abbreviation Meaning Link
GCI Google Code In https://developers.google.com/open-source/gci/
GSoC Google Summer of Code https://www.google-melange.com/
IA Internet Archive https://archive.org/
WP:BB Wikipedia's "Be Bold" mantra https://en.wikipedia.org/wiki/Wikipedia:Be_bold
RG Release Group
AR Advanced Relationships
RE Release Editor
RE Relationship Editor
PM Personal Message
PR Pull Request https://help.github.com/articles/using-pull-requests/

MetaBrainz Projects:

Word Meaning Link
AB AcousticBrainz http://acousticbrainz.org/
BB BookBrainz https://bookbrainz.org/
CAA Cover Art Archive https://coverartarchive.org/
CB CritiqueBrainz https://critiquebrainz.org/
LB ListenBrainz http://listenbrainz.org/
MsB MessyBrainz http://messybrainz.org/
MeB MetaBrainz https://metabrainz.org/
MB MusicBrainz https://musicbrainz.org/

You might want to have a look at https://wiki.musicbrainz.org/MusicBrainz_Slang for other slangs used in the community.

Other important words and what they mean:

Word Meaning Link
jira MusicBrainz Bug Tracker http://tickets.musicbrainz.org/


Mentors

Name IRC Nick Timezone Introduction
Freso (@MusicBrainz, @BookBrainz (org admin) Freso UTC+0100 Official MetaBrainz Community Manager (yes, that's his actual job), all-round MetaBrainz knowledge
reosarevok (@MusicBrainz (org admin) reosarevok UTC+0200 Master of Style and overall MusicBrainz guy; has the 2nd most number of applied edits to MusicBrainz of all time!
Roman (@MusicBrainz (org admin) Gentlecat UTC+0100 One of the primary developers of CritiqueBrainz, AcousticBrainz, and the MetaBrainz and ListenBrainz websites in addition to being one of the official (ie., paid) MusicBrainz developers.
Michael (@MusicBrainz (org admin) bitmap UTC-0600 Senior/lead developer of MusicBrainz; official MusicBrainz developer.
Wieland "Mineo" Hoffmann (@MusicBrainz Mineo UTC+0100 Developer of everything that even remotely looks like Python, but mostly Picard.
d4rkie/ Mihai (@MusicBrainz Nyanko-sensei / D4RK-PH0ENiX UTC+0900 Occasional editor, mainly editing Japanese artists.
David Saunders (@MusicBrainz drsaunders UTC-0500 MusicBrainz editor with the very most accepted edits of all time! Will mostly be mentoring tasks related to MusicBrainz editing.
sampsyo (@MusicBrainz sampsyo UTC-0800 Author and primary developer of beets and will mostly mentor tasks related to this.
Alex / caller#6 (@MusicBrainz CallerNo6 PST (UTC-0800)) Occasional editor, sometimes involved in Style and documentation.
Ben / LordSputnik (@BookBrainz, @MusicBrainz LordSputnik UTC+0000 Lead developer of BookBrainz, with experience of Node.js, Python, beets and mutagen. Started out editing MusicBrainz.
Sean / Leftmost (@BookBrainz, @MusicBrainz Leftmost UTC-0700 Also lead developer of BookBrainz, contributing developer for MusicBrainz.

Note:Mentors are humans who eventually leave their laptops to sleep, work, study... Also they might be in different timezones than you. It could take your mentor(s) up to 36 hours to receive a review of the work that you have submitted. You should be reasonably patient and should not ask for a review of your work after only a few hours of waiting. Google Code-In is about the quality of your contributions and learning how FOSS development works, not about the number of tasks that you have worked on.

I want to be a mentor too!

Great! Read https://gist.github.com/Freso/315f0ac13a1303fcb91e first to be sure. Still want to be a mentor? Alright! If you are already involved in any of the MetaBrainz projects, just go ahead and poke Freso in #metabrainz on IRC. If you're not, the below are some highly suggested tasks to get you familiar with the various MetaBrainz projects:

  1. Read How to Contribute (MusicBrainz) - this one is mandatory!
    1. Add at least one release that isn't in the database yet
  2. Write a review for at least one album or concert on CritiqueBrainz (if the concert or album isn't in MusicBrainz yet; add it)
  3. Tag some of your music files with MusicBrainz Picard and play around with its settings.
    1. Submit AcoustIDs for the album(s)/release(s) you added earlier.
  4. Analyse the music from the album(s)/release(s) you have and submit that analysis to AcousticBrainz
  5. (If you have a Last.FM account) Go to ListenBrainz and import your Last.FM data.
  6. ...

You should preferably be able to do the above with only little tuition from #musicbrainz and #metabrainz or you might need to invest more time than what is available before Dec. 7th if you wish to be a mentor.

Note(Only for Mentors):Please feel Free to add your task suggestions on http://wiki.musicbrainz.org/Google_Code-in/Task_suggestions

Note: Even doing all the above tasks and more, you are still not guaranteed to become a mentor. Stick around during and after the GCI and become known in the community and you will have a much better shot next year!