Google Code-in/Participants

If you think of participating in Google Code-in, first get an overview of the general contest rules. Then read the rest of this page:

Steps to participate

 * 1) Register for the contest on the Google Code-in website once the contest has started.
 * 2) Search for a Wikimedia task that is a good fit with your interests and knowledge and skills.
 * 3) Claim a task and work on the task by following the instructions in the task. You can work only on one task at a time.
 * 4) Submit your work, then wait (up to 36 hours) to receive feedback from mentors.
 * 5) Review the mentor's feedback. If the mentors wants to see some changes: make those changes and submit your work again.
 * 6) Repeat steps 2-6 after your task is approved.

Recommendations
Here are some tips what you should read and know, and how and where you can get help:

Read the documentation

 * Coding task
 * For a task about contributing to MediaWiki itself or MediaWiki extension, follow the steps in the How to become a MediaWiki hacker tutorial to set up the development environment, download the code repository from Git, and submit your code changes as a patch in Gerrit where your patch will be reviewed.
 * Some helpful tips:
 * Set up the development environment via the MediaWiki-Vagrant method instead of the manual process. Vagrant is a virtual machine that has the basic wiki software and some common MediaWiki extensions pre-configured.
 * Test your patch before submitting it for review in Gerrit. If you haven't done so, mention this in a comment in Gerrit.
 * If you have no idea at all how to start working on a task and what the task is about, consider finding an easier task first.
 * Tasks in the Phabricator task tracker have a 'Tags' section in the upper right corner. The tag name tells you a lot: what project the task is about, Git repository where you might find the related code, etc.
 * Non-coding task
 * For tasks related to contributing to documentation, outreach, design, research of Wikimedia projects, read our How to Contribute tutorial.

Communicate

 * To communicate with a mentor connect to the IRC channel in which they are frequently available and write them a message. There is a list of mentors on the wiki page of this year's program. There you could also find the best way how to contact a mentor.
 * For a task related question comment in the related task (for example in Wikimedia Phabricator or on GitHub - the place depends on what the project uses).
 * For a contest specific question ask on the Freenode IRC channel
 * Some helpful tips:
 * Before asking a question, do some basic research yourself first on the task and on the related issues you are facing.
 * Look at the code, try to understand what the code is supposed to do, and try to find the probable place(s) where you need to make changes in order to fix the task.
 * What do I have to do to work on this? is not a good question to start with. The more specific your questions are, the more likely somebody can answer them quickly.
 * Be patient when asking for input and comments. Your mentor will not always be around or awake. Please just ask. Other people might also be able to help.
 * If you do not get an answer on an IRC channel, please ask on the related task (for example in Wikimedia Phabricator or on GitHub - the place depends on what the project uses) or wiki page related to the problem.
 * To get faster help from other members of our community, introduce yourself as a Google Code-in student in our communication channels.
 * Avoid private emails or contacting via our social media channels.

Related blogposts

 * Pre-university students contribute to Wikimedia in Google Code-in 2016, Andre Klapper
 * My walk with Wikimedia—Google Code-in participant speaks out, Justin Du

Stay Tuned!

 * Follow MediaWiki on Twitter and Facebook for program updates.
 * Join the wikitech-l mailing list to follow and take part in general technical announcements about Wikimedia.
 * Ask us almost anything on the Freenode IRC channel.