Google Code-in/2018

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.

The Google Code-in 2018 contest takes place from October 23 to December 13, 2018.

Apply as a student Mentor a task

Information for GCI students
Google Code-In opens for students on October 23th. On October 23th, come back to this wiki page and follow the steps below. The steps apply to all Wikimedia GCI tasks.

Register for the contest
Register on the Google Code-in site, and get a general overview of the contest provided by Google.

Choose tasks and read the related documentation

 * If you choose to work on a coding-related task: Note that Wikimedia has hundreds of code projects. If you work on "MediaWiki" or "MediaWiki extensions", follow all the steps indicated in our “How to become a MediaWiki hacker” tutorial to setup the development environment, download our code from Git, and start submitting patches in Gerrit. Some helpful tips for the contest which are missing in the tutorial:
 * 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.
 * Only if you have problems with Gerrit, providing your work in the corresponding task in Wikimedia Phabricator is an acceptable workaround.
 * Test your patches before submitting them 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 choose to work on any other task other than coding such as documentation, outreach, research, design, support, read our “How to Contribute” tutorial.

Where and how to ask for feedback, questions, and support

 * To communicate directly with your mentor, connect to the IRC channel in which your mentor is frequently available. See the list of mentors below. Your mentor will not always be around or awake. Please just ask. Other people might also be able to help.
 * If you have a specific question about a task (and not a general question about the development setup), comment in the related Phabricator 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. If you have no idea at all how to start working on a task - please find an easier task first.
 * For general questions, refer to IRC channels, mailing lists, or Gerrit discussion pages (if you have a problem with Gerrit).
 * Learn more at Communication.

General recommendations for good communication

 * Before asking members of the community, do some basic research yourself first on the task and on the related issues that 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 bug.
 * Bug reports (also called "tasks") in Phabricator) have a "Tags" section in the upper right corner. There you can see the project that the problem is located in. This provides you a hint about the Git repository that the code is located in, and about the development team which you could contact if you want to discuss the task in a "broader" way. Comments in bug reports should only refer to the specific problem described in the report. (Only if you work on the Kiwix project: Kiwix does not use Phabricator but instead uses Sourceforge).
 * Identifying yourself as a Google Code-in student in our communication channels might help you get faster help from other members of our community. Do not expect everybody to have heard about "Google Code-in" before.
 * Be patient when seeking input and comments. If you do not get a response on an IRC channel within an hour or so, please ask on the phabricator task or wiki page related to the problem.
 * Avoid private messages or support requests in our social media channels. Private messages do not help others.

List of Wikimedia mentors
Please be patient with mentors. Mentors are humans. They eventually leave their computers to sleep, work, study. They might be in different timezones than you. It can take your mentor(s) up to 36 hours to review the work that you have submitted. You should be patient. Do 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 about learning how FOSS development works. It is not about the number of tasks that you complete.

Unofficial smalltalk groups
These groups have been created by participants and are not affiliated with Wikimedia.
 * @wikimediagci on Telegram