Wikimedia Hackathon Amrita University 2016

Background
FOSSatAmrita, is a student community at Amrita University, Amritapuri Campus. Being one of the most active student communities on the campus, we encourage, support and mentor students to improve their technical and social skills through contributing to open source. We aim at encouraging students to embrace the free and open source approach that is fast gaining momentum. We are a community of students and mentors that support and guide each other towards making open source contributions, and towards the usage of free software. This year, FOSSatAmrita gave 10 selections in Google Summer of Code and 1 in Outreachy, that shows the potential in the students of FOSSatAmrita club.

To ensure more open source contributors, we are bringing this two day hackathon, for the very first time in the history of Amrita University, Amritapuri Campus. MediaWiki is organizing a two-day hackathon to help students understand the working of the MediaWiki and WikiToLearn community. Two days long hackathon would include every aspect - from installing the software, setting up the environment to fixing some easy bugs and submitting the patches for review. (Don't worry if some of the words don't make any sense now, we're here to answer all your queries!)

The program will run from 01st-02nd October with the two parallel tracks:
 * 1) Mediawiki Hackathon: Run by invited developers and existing MW contributors in the club. Expected participant count of 50, and all requests handled by the below mentioned Google Form. Participants will be given guidance and opportunity to code contribute to the Wikimedia codebase, sending in patch sets, and understanding the code review process. This would make them head start into upcoming Google Summer of Code 2017 and other internship opportunities.
 * 2) WikiToLearn Edit-a-thon:Teachers and students get together to collaborate and develop open course content on wikitolearn.org. Teachers would participate by either editing or reviewing contents in the wiki. This will make it easy for teachers and students to have a structured method to communicate online over academic materials.

Added Benefit
Are you willing to apply for Google Summer of Code (GSoC) but don't know how to start?

Well, that's problem everyone faces at the onset of joining the open source communities.

Attending this workshop would give a clearer picture to anyone who's willing to apply to the open source scholarship programs like Google Summer of Code (GSoC)and/or Outreachy but lacks direction or information. This workshop will leave you with a better understanding of how you may proceed with contributing to an organization of your choice, thus significantly boosting the probability of you getting selected! \o/\o/

Facilitators

 * Abdeali JK
 * Tony Thomas
 * Abhinand N
 * Devi Krishnan
 * Srijan Agarwal

Registration
Fill this Google form to register yourself for the workshop. Since we have limited slots available, we'll keep the event limited to the registered students.

Pre-requisite
To make sure all attendees are at the same phase, please ensure that you have the following setup in your machine:
 * 1) Any working Linux environment, with LAMP server installed. You can find the installation steps for LAMP in Ubuntu here
 * 2) Any powerful PHP IDE, PHPstorm recommended. You can find the instructions here.
 * 3) An account in Wikitech, Gerrit, Wikimedia Phabricator, and Github
 * 4) Try cloning and setting up Gerrit in your machine following the instructions given here
 * 5) Try connecting with #wikimedia-dev on IRC freenode channel

Important: We are expecting the participants to have a clone of MediaWiki-core downloaded and installed in their machine before hand, so that we can start early with the contribution phase. You can find the detailed instructions on how to setup development environment for Mediawiki in the Gerrit/Tutorial

In case you do not have any prior know-how of PHP, Version control or web applications : You are welcome to try setting up a simple registration and login web application in PHP beforehand, in your machine. You can find sample code for the same here. You will have to setup LAMP or similar stack in your machine to test the code locally.

Why Should You Attend?

 * 1) Reading through the large open-source code base and contributing as code: Increasing their technical and code scripting skills, solving simple to complex real-time problems existing in Mediawiki software.
 * 2) Motivated students reaching out and getting into internship opportunities like Google Summer of Code and Outreachy: Along with building a strong hold in technical stuff, internship programs like GSoC and Outreachy allow its interns to work on major problems, proposing and implementing their solution under expert mentorships. The selected students get a considerable stipend and its a major addition to the institutional record too.
 * 3) Active community engagement and other opportunities The workshop would add to the technical know-how of the participants while working closely with a worldwide Wikimedia community, which is the fun part.

FAQ

 * What you need to know
 * You need to have some sort of prior experience developing stuff (web apps, mobile apps, data mungers, anything at all!). There are a variety of things you can do (CSS/JS hacks, webapps that use the API, Mobile apps, data mining) that pretty much anyone with some developer experience is bound to find something fun to do. This is a hackathon, and not a workshop.
 * Knowledge of Free Software License, comfortable using any Online Project hosting websites (like Github) since we would want you make the code you write for the hack freely available, online.
 * If you feel you might not have anything listed here, think about taking a look at these courses:
 * Learn PHP online with codecademy
 * Learn the command line with codecademy
 * Learn Git online with try.github
 * Learn bit of Python with learnpython
 * Go through this repo on Contributing to Open Source and see what you can make out of it.
 * What language can I use
 * Any programming language you are comfortable with and can make sense of the MediaWiki code base
 * Life would get easier if you have some prior programming experience in PHP since most of the MediaWiki code is written in PHP
 * How can I prepare for the hackathon
 * Read through links in Resources, check out the Examples.
 * Feel free to ask questions! Contact us.
 * What qualifies me to come
 * Show us some code you have written, tell us what you know, tell us why you love hacking (and Wikipedia) in general, and you'll get the pass :)
 * Please sign up here.
 * How to spread the word
 * Pass on the word to your fellow geek friends.
 * Use #MediaWikiToLearnHack on Twitter.