Outreach programs/Possible projects

We are using this list of projects as a master branch for Outreach programs such as Google Summer of Code and Outreachy. The projects listed are good for students and first time contributors but they require a good amount of work. They might also be good candidates for Individual Engagement Grants.

If you are looking for smaller tasks check the Annoying little bugs. For a more generic introduction check How to contribute. 

Be part of something big
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
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, associating it with the  tag. We will share our first impression in the task itself.

If you have questions about using Phabricator, check Phabricator/Help.

Learn and discuss
Recommended reading:
 * 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.

To set up your MediaWiki developer environment, we recommend you start installing a local instance using mediawiki-vagrant. You can also have a fresh MediaWiki to test on a remote server. Just register and request your own instance at Wikitech.

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

 * Use your mediawiki.org user page to introduce yourself.
 * Draft your project creating a new Phabricator task. Try to pick a short, memorable and catchy title which communicates your core idea on how to tackle the issue/project you chose.


 * 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.

Project ideas
The canonical list of project ideas can be found in the GSoC 2015 workboard in Phabricator. If you are looking for more inspiration, we also have an incubator of possible projects that require community discussion and/or mentors.

Language

 * 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

 * Implement support for OAuth. Skills: OAuth, Python, MediaWiki, Travis-CI.

Continuous integration

 * Improving static analysis tools for MediaWiki. Skills: PHP, basic familiarity with MediaWiki code conventions.

Beyond software development

 * No featured projects yet.