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 want 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:
 * We recommend MediaWiki-Vagrant for setting up the development environment for MediaWiki. It is a virtual machine that has the basic MediaWiki software and various common extensions preconfigured.
 * Test your patch before submitting it for review in Gerrit. If you have submitted your patch without testing it before, you must clearly say so in an additional 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, 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. See the list of mentors for this year. There you could also find the best way how to contact a mentor.
 * For a task related question (and not a general question about the development setup), comment in the related task (for example in Wikimedia Phabricator or on GitHub - the place depends on what the project uses).
 * For a general question about Wikimedia in the Google Code-in contest, ask on the Freenode IRC channel and mention Google Code-in
 * 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 and be patient. 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.
 * Identify yourself as a Google Code-in student in our communication channels. Do not expect everybody to have heard about "Google Code-in" before.
 * Avoid private messages or support requests in our social media channels. Private messages do not help others.

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.