The open source culture has not been very popular at the Indian Institute of Technology Roorkee (IIT R), and a major reason for this could be the high entry barriers to open source communities and the very sparse understanding, at a student level, of how can one get started as a contributor to these software organizations.
To take on this issue, IIT R hosted a one-day session to help students understand the working of the MediaWiki community. The day-long hackathon included every aspect of MediaWiki, from installing the software, setting up the environment to fixing some easy bugs, and submitting the patches for review.
We had also established some pre-requisites for all the registered students to make sure all attendees are at the same phase when coming for the hackathon. Tony Thomas created an irc channel #wmhackiitr on Freenode and we were helping students fix the problems.
The preliminary requirements were to ensure that the participants have the following setup in their machines:
- Any working Linux environment, with LAMP server installed. You can find the installation steps for LAMP in Ubuntu here
- Any powerful PHP IDE, PHPstorm recommended. You can find the instructions here.
- An account in Wikitech, Gerrit, Wikimedia Phabricator, and Github
- Try cloning and setting up Gerrit in your machine following the instructions given here
- Try connecting with #wikimedia-devon IRC freenode channel
We were expecting the participants to have a clone of MediaWiki-core downloaded and installed in their machine before hand, so that we could start early with the contribution phase.
For those who did not have any prior know-how of PHP, Version control or web applications, we had provided some easy to start steps. We had asked them to try setting up a simple registration and login web application in PHP beforehand, in their machines. We provided a sample code for the same here.
The hackathon was attended by 20 people, who were shortlisted from 60+ registered students, thus ensuring participants’ high quality. The students were given certain pre-requisites as given here and were selected based upon the fulfillment of these, thereby making certain that all the attendees were at the same phase.
At the end of the day, we had 15 successful patch submissions (pushed) to the core. Additionally, 5 more changes have been committed locally and are to be pushed (as of now). So everyone either submitted a patch or committed locally!
Before wrapping the session, we discussed and informed the attendees of opportunities like GSoC and Outreachy, and gave them various tips that might be helpful to them.
We’ve created a Google group to stay connected, help each other, and ensure that the participation of the students does not stop after the event. This will also ensure that the students keep participating and take the contributions ahead.
Some tips for future events:
- Registration form – Helped us get an idea of the number of interested students and their skill-set.
- Setting-up the pre-requisites – It was a good idea to set up the pre-requisites, as we were able to ensure that every one was on the same page and that we have a quality audience.
- Demo a bug fix – Makes the participants comfortable that a bug-fix is not an impossible task, and can be fixed after carefully analysing the problem
- Pre-identify easy bugs – Helps save time during the workshop, participants can choose from a collection of some easy bugs and pick one to work upon.
Resources that can be used in upcoming events: