Lately, I’ve received numerous emails from new open-source contributors requesting guidance in contributing to Wikimedia software projects. There are a lot of useful resources available, and this post is an effort to gather these resources in one place. Time to get your reading hats on.

Some background: I work as a software engineer in the Product department at the Wikimedia Foundation since 2019. The information / views shared on this blog are my own, and do not necessarily reflect the views of my employer.

Photo of participants of the Wikimedia Hackathon 2019 - Wikimedia Commons licensed under CC BY-SA 4.0
Photo of participants of the Wikimedia Hackathon 2019 – Wikimedia Commons licensed under CC BY-SA 4.0

Everything you need to get started as a new volunteer contributor is available on the New Developers page. The page has the most exhaustive list of resources available to new and existing developers. I recommend going through the entire page to identify documents useful for you.

The New Developers page contains a list of contributor-friendly software projects to start with. These projects have good first tasks for new volunteer developers that they can choose from based on the technology that they are comfortable with.

There is also the Wikimedia Developer Portal that contains tutorials, step-by-step guides, sample projects, information on upcoming events and resources to get help. Start here if you find the New Developers page overwhelming. If you are looking for projects that use specific technologies that you may be familiar with, check this page on the portal.

Although a bit old, this YouTube video provides an overview of technical areas in the Wikimedia ecosystem for volunteers to contribute to. You’ll need to turn on subtitles since the audio is not very clear.

Finally, use the communication page on MediaWiki.org if you need further help getting started. I recommend asking for help in a public communication channel. This way your question will be seen by multiple people and is more likely to receive a response. Be patient. If you do not receive a response try using a different communication channel.

If you have suggestions to improve this blog, feel free to leave a message on this blog.