Google Summer of Code 2015
|Google Summer of Code:||2006 • 2007 • 2008 • 2009 • 2010 • 2011 • 2012 • 2013 • 2014 • 2015 • Past projects|
Google Summer of Code 2015 is one of the outreach programs we are planning to organize. The org admins coordinating this edition are Niharika Kohli and Quim Gil. To follow the project in detail, check the GSoC 2015 workboard in Phabricator.
See also the parallel program Outreachy/Round 10.
- 1 Timeline
- 2 Be part of something big
- 3 Where to start
- 4 Possible mentors
- 5 Project ideas
Timeline[edit | edit source]
For more details, check the official timeline.
- 2 March: List of accepted mentoring organizations published
- 25 March, 1700 UTC: Wikimedia IRC meeting in #wikimedia-ect (last year's logs)
- 27 March: Student application deadline
- 13 April: Slot allocations published to mentoring organizations
- 27 April: Accepted student proposals announced
- 25 May: Official start.
- TBD: GSoC & Outreachy IRC meeting (last year's logs)
- 26 June - 3 July: Mid term evaluations by students and mentors.
- 21 August: Firm 'pencils down' date.
- TBD: GSoC & Outreachy wrap-up meeting on IRC; #wikimedia-office @ 3pm UTC
- 18-22 August: Final evaluations by students, mentors, and organization administrators.
- 28 August: Final evaluation deadline
- 7 & 8 November: Mentor Summit at Google
Be part of something big[edit | edit source]
We believe that knowledge should be free for every human being. We prioritize efforts that empower disadvantaged and underrepresented communities, and that help overcome barriers to participation. We believe in mass collaboration, diversity and consensus building to achieve our goals.
Wikipedia has become the fifth most-visited site in the world, used by more than 400 million people every month in more than 270 languages. Wikimedia Commons, Wikidata and Wiktionary are some of the other free content projects hosted by Wikimedia thanks to MediaWiki. There is also a wide collection of open source software projects around them.
Much more can be done: stabilize infrastructure, increase participation, improve quality, increase reach, encourage innovation.
Where to start[edit | edit source]
With literally tens of thousands of open tasks in our backlogs, experience tells us that most candidates have more chances of success if they bet on an existing proposal. You can check the list of featured project ideas below and our incubator of possible projects.
You can also search in Wikimedia Phabricator for tasks fitting your interests and skills. If you find an interesting task, you can suggest the idea in the task itself (a simple paragraph is enough for a first contact). When commenting, please associate the task with the tag
Bringing your own idea is also possible, but usually this requires a good knowledge of our community and starting to plan months before the call for submissions. Before investing too much time on it, create a new task in Phabricator with a simple draft. We will share our first impression in the task itself.
If you have questions about using Phabricator, check Phabricator/Help.
Learn and discuss[edit | edit source]
- Starter kit for new Wikimedia tech volunteers.
- How to become a MediaWiki hacker is a good place to start learning your skills and becoming a better candidate.
- Lessons learned for mentorship programs is particularly useful when you start writing your application.
If you have general questions you can start asking at the Discussion page. IRC channel is also a good place to find people and answers. We do our best connecting project proposals with Phabricator reports and/or wiki pages. Other contributors may watch/subscribe to those pages and contribute ideas to them. If you can't find answers to your questions, ask first in those pages. If this doesn't work then go ahead and post your question to the wikitech-l mailing list.
Add your proposal[edit | edit source]
- Use your mediawiki.org user page to introduce yourself.
- Draft your project creating a new Phabricator task following the proposed application template. If you proposal addresses an existing project idea published in Phabricator, then you just need to click "Create subtask" in the project idea task. This will add automatically the projects and the subscribers of the project idea to your proposal.
- Try to pick a short, memorable and catchy title which communicates your core idea on how to tackle the issue/project you chose.
- Associate your proposal to the Phabricator project(s) related to the program you want to apply, e.g. Google-Summer-of-Code-2015 or Outreachy-round-10.
- The GSOC student guide is a good resource for anybody willing to write a good project proposal. And then there is a list of DOs and DON'Ts full of practical wisdom.
Possible mentors[edit | edit source]
If you need to find mentors, usually the best starting point is the Phabricator task of the project idea missing mentors. Finding mentors one month or more in advance usually ends up with good results. Having to find mentors within days or a couple of weeks before the deadline usually ens up with bad results.
Project ideas[edit | edit source]
The project ideas listed below have gone through a selection process. If you are looking for more inspiration, we also have an incubator of possible projects that require community discussion and/or mentors.
Software development[edit | edit source]
MediaWiki extensions[edit | edit source]
- Wikidata Pagebanner Extension. Skils: PHP, Git, familiarity with Wikidata is helpful
Language[edit | edit source]
- Extensive and robust localisation file format coverage for Translate extension. Skills: PHP, XML, aware how to write robust and secure PHP code.
- One stop translation search. Skills: Backend coding with PHP, frontend coding with jQuery, Solr/ElasticSearch/Lucene.
- Multilingual SemanticMediaWiki. Skills: PHP and web frontend; having used Semantic MediaWiki and Semantic Forms is a plus.
Pywikibot[edit | edit source]
- Implement support for Flow. Skills: Python, PHP, MediaWiki, Travis-CI.
- Implement support for OAuth. Skills: OAuth, Python, MediaWiki, Travis-CI.
Continuous integration[edit | edit source]
- Improving static analysis tools for MediaWiki. Skills: PHP, basic familiarity with MediaWiki code conventions.
Analytics[edit | edit source]
- Allow contributors to update their own details in tech metrics directly. Skills: Python, AngularJS
VisualEditor[edit | edit source]
System Programming[edit | edit source]
- implement better failure-scenario geoip mapping in gdnsd Skills: C, system programming
Multimedia[edit | edit source]
- Allow uploading 3D files to Wikimedia Commons Skills: PHP, JS, and a service to render 3D models on screen