Africa Wikimedia Technical Community

African Wikimedia Developers Project  (AWMD)

 Home | Project | Team | Drop us a message | 



AWMD.  Growing developers for tomorrow.



A project which seeks to start a developer community on the African continent and to encourage more developers to volunteer for the Wikimedia Foundation. Our mission is to create an enabling ecosystem for developers who are willing to learn and build new skills in the open space through volunteering as developers for the Wikimedia Foundation.

=Do you want to get involved? =

There are several ways you can get involved in becoming an African Wikimedia Developer. Are you from the African continent, tech inclined and interested in open knowledge? If yes, becoming involved as an African Wikimedia Developer is a good step and path to take, below is what you can start doing;

Step 1: Learn how to code in PHP


 * Welcome and its a good think you have decided to get involved and take on with step 1. In this step, if you will be expected to learn the PHP programming language as its the programming language used to write MediaWiki. The recommended PHP version you should learn is PHP 5 and a bit of PHP 7. Also, make sure to learn some tools like Composer which is a dependency manager for PHP as this might come in handy when you start hacking on MediaWiki. Also, you should focus on Object Oriented (OO) programming paradigm of PHP as its used a lot in MediaWiki.


 * Here, we will point you to some good recommended PHP that you can get started with or advanced your skills if you are already good in PHP. Below are the 2 categories, for beginners and for intermediate;


 * Beginner: OO PHP programming Tutorials, Introduction to OO Programming with PHP, OO programming with PHP and PHP online reference. You can kick start with those.


 * Intermediate: PHP advanced and OO programming and Learning PHP Design Patterns. Also, you can use the PHP online reference mentioned in the beginner section.

Step 2: Wikimedia's Code Review(CR) and development platform


 * Gerrit is the name of the Code Review(CR) software in Wikimedia and its the heart of their software development process. Its almost impossible to do software development in Wikimedia (in a standard way) without using Gerrit. Create an account on the Gerrit Website and get Developer access. You can also have a look at the Gerrit Tutorials on how to setup Gerrit on your PC.


 * Note: You are not expected to know all these in 1 day. Take your time and take it slowly, you will know it with time and don't rush :)

Step 3: Familiarise yourself with Phabricator


 * Wikimedia uses an open source development platform called: Phabricator which they use for project management, software bug reporting and request for features. Its not that complicated to use and you can login to Wikimedia's phabricator using your MediaWiki account or create an account on phabricator website (for Wikimedia).


 * Phabricator has a lot of functionalities but as a developer, your functionalities are stream-lined to a focused set like; creating tasks, resolving tasks, uploading files, feature request etc... So don't expect you will learn all Phabricator's functionality (except you want to). We will focus on what we need for a start and keep learning as time goes. Note: For project management, you can look at this documentation about Phabricator in Project Management.

Step 4: Bond with the Wikimedia developer community


 * There are of course many different ways to bond with the developer community of Wikimedia but the fastest and most comfortable way for most developers is on IRC. Wikimedia has so many IRC channels and the particular channel for developers is: . This is a starting point and on this channel, you can introduce yourself and make your interest known to the community and wait for a while, be rest assured that someone in the channel will guide you or react to your message then you can move on. You can also ask technical questions on the channel and someone might answer you or point you to resources that will enable you find the answer to your question.


 * Note: There are many individuals on the channel and your messages are broadcasted to over 100 people at the same time so don't write something which does make sense as this might be a distraction to many people. Make sure to ask smart questions and if you don't know what a smart question is, read How to Ask Questions the Smart Way by Eric Raymond.

Step 5: Configure MediaWiki on your Gear and get started!


 * Its a great thing you are at this step and we recommend you do step 2 before doing this as they are highly interlinked to each other. MediaWiki can be installed following this this docs and after this, it will be available locally on your PC and you can also see how to clone the MediaWiki Core in the Gerrit Tutorials in Step 2. After mastering all the steps first 4 steps, developing on MediaWiki will be relatively easy so we recommend that you take your time and master the first 4 steps before diving to this last step.


 * Happy hacking on MediaWiki!!!

=Contact us=

You can reach us through african-wikimedia-developerslists.wikimedia.org

 You can also join the discussion on our talk page

Get more updates via our Facebook & Twitter