Good first bugs

This page provides a list of little software bugs and small missing features in several Wikimedia projects (not only MediaWiki core and its extensions). The tasks in the lists should be relatively easy to fix for a new developer.

This is one way to start getting familiar with the code in Wikimedia projects.

Note that the tasks linked below do not have assigned mentors. You will be mostly "on your own". We recommend to work on software projects with mentors: NewDevs>Special:MyLanguage/New Developers|Check out the list of software projects that we recommend.

No matter which software project you work on, you must have read the "Suggested reading" section to understand workflow and communication expectations.

If you decide to work on MediaWiki core or MediaWiki extensions, you must have read How to become a MediaWiki hacker to understand the infrastructure and workflow.

Potential tasks to work on
The following sections describe a few example areas in which you can contribute, but you are not limited to these areas!

If the software project uses Wikimedia Phabricator, the upper right corner of a task shows the project that the problem is located in.

This provides you a hint about the Git repository that the code is located in, and about the development team which you could contact if you want to discuss it in a "broader" way (as comments in bug reports should preferably refer to the specific problem described in the report only).

Wikidata
Wikidata is a centralized knowledge base for structured data, such as interwiki references and statistical information.

Ask your general development questions on the email>mail:wikidata-l|Wikidata mailing list, the IRC>Special:MyLanguage/MediaWiki on IRC|#wikidata IRC channel and on the team>wikidata:Wikidata:Contact the development team|wiki.

→  Potential tasks for new contributors 

Multimedia
Ask your general multimedia>Reading/Multimedia|Multimedia development questions on the mail-mm>mail:multimedia|multimedia mailing list and the IRC>Special:MyLanguage/MediaWiki on IRC|#wikimedia-multimedia IRC channel.

→  Potential tasks for new contributors 

VisualEditor
VE>VisualEditor|VisualEditor is MediaWiki's WYSIWYG>WYSIWYG editor|WYSIWYG editor.

Ask your general VisualEditor development questions on the email>mail:wikitech-l|wikitech mailing list and the IRC>Special:MyLanguage/MediaWiki on IRC|#mediawiki-visualeditor IRC channel.

→  Potential tasks for new contributors 

Discovery / Search
The Discovery>Discovery|Discovery team builds the path of anonymous discovery to a trusted and relevant source of knowledge.

Ask your general development questions on the email>mail:discovery|Discovery mailing list and on the IRC>Special:MyLanguage/MediaWiki on IRC|#wikimedia-discovery IRC channel.

→  Potential tasks for new contributors 

Skins
Skins>Special:MyLanguage/Manual:Skins|Skins allow users to customize the look and feel of MediaWiki.

Basic knowledge of CSS and PHP is helpful.

Check the project page in Phabricator for more information on each skin and contact information.

→  Potential tasks for new contributors 

Collaboration
The GC>Collaboration|Collaboration team mainly works on Notifications>Notifications</>|Notifications, ERI>New filters for edit review</>|New filters for edit review and SD>Structured Discussions</>|Structured Discussions.

Ask questions regarding GC>Global Collaboration</>|Global Collaboration team projects on the IRC>Special:MyLanguage/MediaWiki on IRC</>|#wikimedia-collaboration IRC channel.

→  Potential tasks for new contributors 

MediaWiki core
MediaWiki is the core software which provides basic wiki functionality.

It is complex, written in PHP, and some areas might not have clear maintainership.

Ask your general development questions on the email>mail:wikitech-l</>|wikitech mailing list and the IRC>Special:MyLanguage/MediaWiki on IRC</>|#wikimedia-dev and #mediawiki IRC channels.

→  Potential tasks for new contributors 

Semantic MediaWiki
Semantic MediaWiki is one of the biggest and most popular MediaWiki extensions.


 *  Potential tasks for new contributors 

Pywikibot
PyWikibot>Special:MyLanguage/Manual:Pywikibot</>|PyWikibot is a Python-based framework to write bots for MediaWiki.

Ask your general development questions on the mailinglist>mail:pywikipedia-l</>|Pywikibot mailing list and the IRC>Special:MyLanguage/MediaWiki on IRC</>|#pywikibot IRC channel.

→  Potential tasks for new contributors 

Mobile Apps
There are numerous applications for mobile devices (Android, iOS) to access Wikimedia wikis.

For Wikipedia:

Apps>Wikimedia Apps/Team/Wikipedia Android app hacking</>|Read the general development information and ask your questions on the email>mail:mobile-l</>|Mobile mailing list and the IRC>Special:MyLanguage/MediaWiki on IRC</>|#wikimedia-mobile IRC channel.

→ Potential tasks for new contributors: Android Wikipedia application

→ Potential tasks for new contributors: iOS Wikipedia application

For Commons: Read the general development information and ask your questions on the Commons App mailing list.

→ Potential tasks for new contributors: Android Commons application

Huggle
Huggle>meta:Huggle</>|Huggle is a desktop application for dealing with vandalism on Wikimedia projects, written in C++ and QT.

→  Potential tasks for new contributors 

Analytics
The Analytics>Analytics</>|Analytics team empowers and supports data-informed decision making in Wikimedia.

Ask your general development questions on the email>mail:analytics</>|Analytics mailing list.

→  Potential tasks for new contributors 

Documentation
These are documentation related tasks across all Wikimedia projects.

→  Potential tasks for new contributors 

Design
Fixing design bugs or requests requires existing graphics skills working with a Vector graphics application (e.g. Inkscape).

Basic knowledge of CSS can also be helpful for integration.

Ask your general development questions on the email>mail:design</>|Design mailing list and the IRC>Special:MyLanguage/MediaWiki on IRC</>|#wikimedia-design IRC channel.

→  Potential tasks for new contributors 

Strings
Messages displayed in the user interface often need small corrections to the English text. The source text can only be changed in the code by developers, contrary to translations.

Also, many messages are unclear and Localisation>Localisation#Message documentation</>|require better documentation.

Missing documentation can also be added by editing the <tvar|qqq> </> subpage of the message on <tvar|TWN>translatewiki.net</>, like all translations, but may require some study of the code to understand what a message is for.

→  Potential tasks for new contributors 

And many more…
Still not enough ideas? There are more fields you can explore - Wikimedia has hundreds of projects! Check out the complete list of potential tasks for new contributors:

→  Potential tasks for new contributors 

If you have any trouble or specific questions, please ask for help IRC>Special:MyLanguage/MediaWiki on IRC</>|via IRC or feel free to contact <tvar|SSethi>Srishti Sethi</> or <tvar|Aklapper>Andre Klapper</>.