Jump to content

New Developers

From mediawiki.org
For a central place for developers to find key Wikimedia technical documentation, see: Wikimedia Developer Portal.

This page explains how to get started as a developer who wants to contribute to Wikimedia technical projects.

Welcome!

Participants of the Wikimedia Hackathon 2019

Wikimedia's technical community always welcomes new contributors!

Become part of a global community, and help make access to free knowledge easier for everyone!

How to start contributing

The following steps are a general outline of how to get started contributing:

  1. Learn the basics of how Wikimedia open source software projects work.
  2. Read the Communication guidelines.
  3. Set up accounts: Create a developer account. Depending on the type of contribution you want to make, you may also need to set up accounts in Phabricator, and set up Git and Gerrit.
  4. Choose a software project.
  5. Choose and solve a task (write and test your code).
  6. Submit your code changes for review. Follow the Guide to getting your code reviewed and submit a patch.

The rest of this guide provides additional details about the process.

Basics of how Wikimedia software projects work

Wikimedia has software projects in many different areas.

The maintainers of each software project choose the infrastructure they prefer. In general, most software projects have:

  • a task tracking tool where software bugs and enhancement requests are reported, managed and discussed. Examples are Wikimedia Phabricator, GitHub, or Wikimedia GitLab.
  • a code repository where the source code can be "checked out" to everybody. Examples are Wikimedia Gerrit, GitHub , or Wikimedia GitLab.
  • a code review tool where proposed code changes ("patches") get discussed and improved. Examples are Wikimedia Git/Gerrit, GitHub, or GitLab. After your proposed patch is approved and merged into the code repository, your code changes become available to everybody.
  • general places for discussion of the software project and for help and support. Those places can be mailing lists, IRC chat channels, wiki pages, or other places. The exact places depend on each project.

At any point, if you run into problems or need help, please ask. To ask good questions in the right places, follow the "communication tips".

Overview of technical areas

For an overview of Wikimedia technology and examples of the major areas where developers can contribute, visit Introduction to the Wikimedia Technical Ecosystem.

Contributing to software in MediaWiki

Are you a user of a MediaWiki wiki looking to add a feature or fix a bug in one? Please see How to become a MediaWiki hacker to learn how to find and contribute to the software project part of MediaWiki you are looking for.

Choose a software project

The following projects offer resources, mentorship, and are looking for new developers to contribute to them. 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. You are free to contribute to these projects or any others you are interested in related to Wikimedia. Most can be found by searching for them on Phabricator or online.