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
Maybe at this point your proposal is just a vague idea and you want to get some feedback before investing much more time planning it? We know this feeling very well! Just send an email to wikitech-l (or qgil@undefinedwikimedia.org if you prefer) sharing what you have in mind. One short paragraph can be enough to get back to you and help you working in the right direction.

Learn and discuss
Obligatory reading:
 * Any potential contributor new to our community is encouraged to follow the Landing instructions.
 * 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 user page to introduce yourself.
 * Draft your project in a separate page in main namespace, or as subpage of an existing project or extension your idea will integrate with. Try to pick a short, memorable and catchy title which communicates your core idea on how to tackle the issue/project you chose.
 * Use the template. For GSoC proposals, remember to add them to the proposals category and the table so that it's clear it's a proposal (not yet approved) and you're working on it.
 * 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 project ideas have been moved to Phabricator. New project ideas must be submitted as Phabricator tasks associated with Possible-Tech-Projects.

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.