Google Code-in/2016
This page is obsolete. It is being retained for archival purposes. It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date. |
Google Code-in 2016 is over. 424 Wikimedia tasks (100 of them "get onto IRC" tasks) were successfully completed thanks to 192 students and 46 mentors. Thanks everybody!
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 2016 contest runs from November 28, 2016 to January 16, 2017 (see the full timeline).
Instructions for GCI students
[edit]Only after November 27th, when the Google Code-In contest opens for entries by student participants, come back to this wiki page to follow the instructions below. The instructions are common to all Wikimedia GCI tasks.
Register for the contest
[edit]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
[edit]- If you choose to work on a coding-related task, 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 - a virtual machine that has the basic wiki 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 them without testing, 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.
Ask for feedback, questions, and support
[edit]- To communicate directly with your mentor, connect to the IRC channel they are frequently available at. See the list of mentors below. Your mentor will not always be around or awake - please just ask as other people might also be able to help.
- If you have a specific question about a task, 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 consider finding an easier one first.
- For general questions, refer to IRC channels, mailing lists, wiki discussion pages, or Gerrit discussion pages (if you have a problem with Gerrit).
- Learn more at Communication.
Some general recommendations for communicating
[edit]- Before reaching out to the members of the community with questions, 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 it 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 it in a "broader" way, as 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 GCI student in our communication channels might help you get faster help from other members of our community.
- Be patient when seeking input and comments. If you do not get an immediate response on an IRC channel, please ask on the phabricator task or wiki page related to the problem.
- Avoid private emails or support requests in our social media channels.
List of Wikimedia mentors
[edit]Please be patient when seeking actions from mentors. Mentors are humans who 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 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 completed.
Name | IRC nick | IRC channel | Timezone | Areas of interest |
---|---|---|---|---|
Andre Klapper | andre__ | #wikimedia-dev connect | UTC +1 | User documentation, Phabricator |
Florian | FlorianSW | #wikimedia-dev connect | UTC+1 | mediawiki/core, Special Pages, MobileFrontend |
Mvolz | Mvolz | #wikimedia-services connect, #mediawiki-visualeditor connect | UTC+1 | citoid, VisualEditor, TemplateData |
Alangi Derick | xSavitar | #wikimedia-dev connect, #wikidata connect | GMT +01 | Wikidata, Documentation, MobileFrontend, Wikibase, Echo |
Mutante | mutante | #wikimedia-operations connect, #wikimedia-tech connect | GMT -07 | Puppet, Planet, Wikistats |
Strainu | Strainu | #wikimedia-dev connect | UTC+2 | Gadgets, Templates, Pywikibot |
Addshore | Addshore | #wikimedia-dev connect, #wikidata connect | GMT / UTC | MediaWiki, Wikidata, Wikibase, AddWiki, PHP, PHPCS |
NKohli (WMF) (talk) | Niharika | #wikimedia-dev connect | UTC +5:30 | MediaWiki, PHP, JS |
Legoktm | legoktm | #wikimedia-dev connect, #wikimedia-tech connect, etc. | UTC -08 | MediaWiki (core + extensions), Pywikibot |
John Vandenberg | jayvdb | #wikimedia-dev connect, #wikimedia-tech connect, etc. | UTC +07 | Pywikibot |
AbdealiJK | AbdealiJK | #wikimedia-dev connect, #pywikibot connect | UTC +0530 | Pywikibot |
Samtar | Myrcx | #wikimedia-dev connect, #wikimedia-tech connect | GMT / UTC | PHP, JS, Mediawiki |
Sage Ross | ragesoss | #wikimedia-ed connect | UTC -08 | Ruby, WikiEduDashboard |
DrTrigon | DrTrigon | #wikimedia-dev connect, #pywikibot connect, etc. | UTC +02 | Pywikibot |
Petrb | petan | #huggle connect, #wm-bot connect | GMT + 1 | Antivandalism stuff, API, C, C++, C#, PHP, Python, UNIX & Labs |
Amir Sarabadani | Amir1 | #pywikibot connect, #wikidata connect, | GMT +3 | Wikidata (Wikibase), pywikibot, ORES |
unicornisaurous | unicornisaurous | #wikimedia-dev connect | UTC-5 | MediaWiki, PHP, JS, API, and maintenance scripts |
Evan McIntire | mcintireevan | #wikimedia-dev connect | UTC-4 | MediaWiki, JS, UI |
This, that and the other | tto | #wikimedia-dev connect, #wikipedia-userscripts connect | UTC+11 | MediaWiki core; scripts and gadgets |
Srishti Sethi | srishakatux | #wikimedia-dev connect | UTC -8 | User documentation, Phabricator |
Tony Thomas | tonythomas | #wikimedia-devrel connect | UTC+01:00 | PHP, Newsletter extension |
Sumit Asthana | codezee | #wikimedia-devrel connect | UTC+05:30 | PHP, JS, MobileFrontend, WikidataPageBanner |
Benoît Evellin | Trizek | #wikimedia-collaboration connect | UTC +1 | Communities, user documentation |
Pranav Kumar | pranavk | #wikimedia-dev connect | UTC 5+ː30 | MediaWiki, PHP, JS |
Isaac Hutt | mhutti1 | #kiwix connect | GMT | Kiwix, Java, Android |
Emmanuel Engelhart | Kelson | #kiwix connect | GMT | Kiwix, Java, Android |
Dan Andreescu | milimetric | #wikimedia-analytics connect | UTC -5 | Dashboarding, Analytics APIs (JS, python, data) |
Prateek Saxena | prtksxna | #wikimedia-multimedia connect | UTC +5:30 | Gallery, OOjs UI |
Bryan Davis | bd808 | #wikimedia-dev connect, #wikimedia-tech connect, #wikimedia-labs connect, etc. | UTC -07 | MediaWiki-Vagrant, Documentation, Tool Labs |
Gergő Tisza | tgr | #wikimedia-dev connect, #mediawiki-core connect | UTC-8 | MediaWiki, Vagrant, Documentation, MediaViewer |
Baha | bmansurov | #wikimedia-mobile connect | UTC-5 | MobileFrontend |
Jon Robson | jdlrobson | #wikimedia-mobile connect | UTC-8 | mobile |
Yann Forget | yannf | #wikimedia-tech connect | UTC +1 | Communities, User Documentation, Phabricator, HTML, i18, Commons, Wikisource |
Amir E. Aharoni | aharoni | #mediawiki-i18n connect | UTC+2 | Internationalization, translation, languages |
Marko Obrovac | mobrovac | #wikimedia-services connect | UTC+1 | Services |
Petr Pchelko | Pchelolo | #wikimedia-services connect | UTC-7 | Services |
Tina Johnson | tinaj1234 | #wikimedia-devrel connect, tinajohnson.1234@gmail.com | UTC+05:30 | Newsletter extension, JS, UI |
Abhinand N | abhinand_ | #wikimedia-devrel connect, #wikimedia-dev connect | UTC+05:30 | PHP, EditNotify extension |
Haritha H | haritha_ | #wikimedia-dev connect | UTC+05:30 | PHP, JS, UI Standarization |
Charlie Kritschmar | Incabell | #wikidata connect, #wikimedia-de-tech connect, #wikimedia-design connect | UTC+1 | Documentation, UX, Design, Wikidata |
John Broughton | UTC-8 | UI, user instructional material, user documentation | ||
Reedy | Reedy | #wikimedia-dev connect | UTC | MediaWiki |
Husn Shujaat | Husun | #wikimedia-dev connect | UTC +5 | User documentation, Phabricator |
Devi Krishnan | devi__ | #wikimedia-dev connect | UTC +5:30 | PHP, UI Standarization |
Husn Shujaat | Husun | #wikimedia-dev connect | UTC +5 | User documentation, Phabricator |
Léa Lacroix | LeaAuregann_WMDE | #wikidata connect, #wikimedia-de-tech connect | UTC+1 | Wikidata, community communication, documentation |
Jan Dittrich | Jand_WMDE | #wikidata connect, #wikimedia-de-tech connect, #wikimedia-design connect | UTC+1 | Documentation, UX, Design, Wikidata |
Mr. Stradivarius | MrStradivarius | #wikimedia-dev connect | UTC+9 | Lua, JavaScript gadgets |
Niklas Laxström | Nikerabbit | #mediawiki-i18n connect | UTC+2 | Internationalization, translation, languages |
Sam Wilson | samwilson | #wikimedia-commtech connect #wikisource connect | UTC+8 | PHP, MediaWiki extensions, Tool Labs, Wikisource |
Volker E. | Volker_E | #wikimedia-design connect, #wikimedia-dev connect | UTC-8 | UI Standardization, OOjs UI, CSS, Accessibility |
You? Add yourself above! |
Wrap-up blog posts
[edit]At the end of GCI 2016, many students summarized their experience with Wikimedia:
- David Sn
- Filip
- Victor Barbu
- Justin Du
- Subin Siby (subins2000)
There are also posts by mentors: