New Developers

Welcome!
You want to work on Wikimedia code and need ideas where to start? Wikimedia's technical community always welcomes new contributors to our projects. Become part of a global community and help making access to free knowledge easier for everybody!

Contributing to Wikimedia is a four-step process:
 * 1) Choose a software project
 * 2) Set up your development environment
 * 3) Choose and solve a task (write and test your code)
 * 4) Submit your code changes

Some basics to know
You can skip this section if you are already used to free and open source software culture.

Choose a software project
This is the recommended way to start. Choose one of the following projects and follow the project's documentation to set up your development environment, choose a task to work on, solve the task, and submit your code changes for review:

 An anti-vandalism desktop application for Wikimedia projects. (Read more.) Project URL https://meta.wikimedia.org/wiki/Huggle
 * Skills required: C++
 * Get in touch: Mailing list / Chat in on irc.freenode.net
 * Get the source code: GitHub
 * Read the documentation
 * Check the recommended tasks to work on: Phabricator
 * Mentor(s): Peter Bena

 An offline reader for Wikipedia web content. (Read more.)
 * Skills required: Java (Android app), Swift (iOS app)
 * Get in touch: Chat in on irc.freenode.net
 * Get the source code: GitHub
 * Read the documentation
 * Check the recommended tasks to work on: Android, iOS, JS on GitHub
 * Mentor(s): TBD

MediaWiki Newsletter extension Subscribe to newsletters and publish newsletters for other wiki users.
 * Skills required: PHP
 * Get the source code: Wikimedia Git
 * Read the mw:Extension:Newsletter documentation
 * Check the recommended tasks to work on: Phabricator
 * Mentors: Tony Thomas

Commons App for Android An app for Android devices to upload your pictures to Wikimedia Commons. (Read more.)
 * Skills required: Java
 * Get in touch: Google Groups
 * Get the source code: GitHub
 * Check the recommended tasks to work on: GitHub
 * Mentor(s): Josephine Lim

Wiki Ed Dashboard A web application that supports Wikipedia education assignments, provides data and course management for instructors and students. (Read more.)
 * Skills required: Ruby
 * Get the source code: GitHub
 * Read the documentation
 * Check the recommended tasks to work on: GitHub
 * Mentor(s): Sage Ross

''Are you a maintainer and want your project to be included in the list of software projects above? Find out more and join!''

Outreach programs and single tasks
Apart from the recommended software projects above, there are more ways to choose a project or task to work on:

 Outreach programs Wikimedia offers three month internships in programs such as Google Summer of Code and Outreachy. High school students can also participate in Google Code-in. Find out more.

 Annoying little bugs There are also many single tasks (across many software projects) which are suitable for newcomers. Note however that we cannot guarantee a mentor or fast reviews of your proposed code changes. Find out more.

Looking for additional resources?

 * How to become a MediaWiki hacker: A longer version with more information and many links for potential new developers
 * Developer hub: Resources to more documentation and information for established Wikimedia developers

Want to contribute something else?

 * How to contribute lists many more ways to contribute, also in non-technical areas.