Hackathons/Participants

This page is a work in progress, it will be used to as a resource for Wikimedia Newbies to learn about hackathons, how they work and what to expect. Rfarrand (WMF) (talk) 18:29, 25 June 2015 (UTC)

(some questions that I hope to answer here in the next week or two - if anyone sees this, feel free to edit away!)

What is a Hackathon?
A hackthon is an event, typically lasting several days, in which a large number of people meet to engage in collaborative computer programming.

More specifically, Wikimedia Hackathons are generally collaborative computer programing events lasting between 2 and 4 days which specifically focus on technologies and projects powering Wikipedia and thousands of MediaWikis. Some hackathons have specific focuses while others are open to any activities related to MediaWiki and Wikimedia tech.

Why should I attend a Hackathon?
Wikimedia hackathons are essentially large development community meet-ups that attract many developers and designers who care deeply about the issues and technology impacting MediaWiki and the Wikimedia Projects. You will get a chance to work together with other developers, designers and wikimedians in a productive, fun and supportive environment. People end up organically grouping together based on their share interests and projects. You will make new friends and allies and meet people you have been interacting with online in person. Hackathons are fun!

How to make my first Hackathon a great experience?
Be curious. Don't be afraid of feeling embarrassed for any questions - we all started somewhere and we learn together. Listen to people and get to know each other (even if it's only a "What are you doing in Wikimedia?" question). Wikimedia is a diverse community with lots of different backgrounds. If you are shy and feel like you don't know many people, do not worry: People are friendly and you will feel welcome.

Don't be shy to sit back and learn about other people's projects and sit through some introduction sessions before you decide how you want to spend your time, however if you already know what you want to work on feel free to jump right in, hack all day and night and only resurface for coffee breaks and meals.

We often include formal or informal social events alongside the regular hacking schedule which allow participants to get to know each other even further.

What is Phabricator and how is it used at hackathons?
In order to successfully integrate with one of our hackathons you will need to sign up for an account with Phabricator and learn the basics of its use.

Phabricator is a tool we use to develop software, track bugs, and manage projects, among other things. At hackathons we use it for session and project tracking, discussion and developments. We also use it to organize the entire event!

- Create an account here: https://secure.phabricator.com/auth/register/

- Search for the name of the hackathon you are planning to attend to find the event workboard.

Some examples of Phabricator work-boards for our events (keep in mind the workboard will look different before, during and after an event):
 * Wikimania Hackathon - Mexico City 2015
 * Wikimedia Hackathon - Lyon 2015

Explain the differences between the MediaWiki Hackathon and the Wikimania Hackathon?
The MediaWiki Hackathon and the Wikimania Hackathon are both yearly events run by the Wikimedia Foundation in partnership with a local chapter or group.

The MediaWiki Hackathon is generally a smaller and more focused event. Number of participants range between 150 - 250 people. We like integrating developers who are new to our projects as well as 3rd party developers, however The MediaWiki Hackathon generally has a higher percentage of people who have been to previous Wikimedia Hackathons.

Locations of Past MediaWiki Hackathons: The Wikimania Hackathon is a hackathon that happens along side our yearly Wikimania Event. It usually takes place the two days in advance of Wikimania and, depending on the size of Wikimania, is ofter a larger event than the MediaWiki Hackathon but in same cases can be smaller. Number of participants has been as high as 400. While lots of returning developers attend the Wikimania and the Wikimania Hackathon, we often have a might higher percentage of newcomers and local developers. We put a lot more focus on on-boarding and newbie friendly tracks and projects. Anybody who wants to help and has a development background is welcome!
 * 2016 - Jerusalem (coming soon!)
 * 2015 - Lyon
 * 2014 - Zurich
 * 2013 - Amsterdam
 * 2012 - Berlin
 * 2011 - Berlin

Locations of Past Wikimania Hackathons:
 * 2015 - Mexico City (coming soon!)
 * 2014 - London
 * 2013 - Hong Kong
 * 2012 - Washington DC

How do I find a project to work on during a hackathon?
- You can come with your own project related to improving or creating something for our projects.

- You can also plan in advance to work with other developers on somebody else's project.

- You can come without a plan, spend some time going to sessions and talking to people and find a project organically at the event

Make sure to look at the Hackathon's Phabricator work-board which should be linked on the the Hackathon's wiki homepage on Mediawiki.org. If you find a project you really want to work on or hear more about you can ask questions and coordinate with the project coordinators in advance of the event on the you can add yourself to the phabricator task and jump in and start discussing.

How do I get other people to help work on my project?
Some Ideas:
 * Add your project to the Hackathon's Phabricator work-board and ask for volunteers.
 * Email wikitech-l@ in advance of the hackathon with a request for volunteers.
 * Schedule a session or talk about your project early on in the hackthon, explain what you are going to be doing, give some background and ask for volunteers.
 * Steak out a table at the hackathon and use a provided mini-whiteboard or sign to indicate what you are working on.

I want to give a talk or teach people something at the hackathon, how do I get a meeting room to schedule my session/talk/discussion:
Wikimedia Hackathon schedules are constantly edited and anyone with a reasonable proposal for a talk or session can schedule on themselves before or during the event as long as there is meeting room space available (which there almost always is). You need to create a task in Phabricator to explain when you are hoping to accomplish during your session and then you can can link the task directly onto the event schedule in a room that fits your needs.

Should my project be something small that I start and complete within the hackathon or can it be a bigger project using the event as a time to make progress?
Either, although the end of the event will include a showcase of projects. These typically focus on small projects completed during the event.

What kinds of projects are appropriate?
Whatever you can imagine! Previous projects have ranged from a "geeky" command-line prompt interface to MediaWiki API to a "silly" tool generating Haiku poetry based on the recent changes feed to a SPARQL query engine for Wikidata that accepts human language questions. (add links to previous projects/showcases)

What if I'm not a developer?
This event might not be for you. Hackathons are generally meant for developers, but keep reading!:

Exceptions: Designers are welcome, you can partner with developers on a project to help make it a reality with a good looking UI! Sometimes we also have language translation sprints, so if you speak a lot of languages check with the hackathon organizers to see if something like that will be taking pace at the event in question.

If you are not a developer, one option is to buddy with a developer who would like input from someone else (ideas for user interface, help testing, feedback from a different perspective, bug hunting). There are other opportunities for contributions to the MediaWiki community. Perhaps you could improve MW documentation or help the MW community teams with planning.

How much time will I be spending with my Buddy?
This is up to the two of you. Your buddy can introduce you to community members and help you with your project, but feel free to roam around and work with anyone else at the event.

Are there prizes?
Sometimes, however when they exist they are generally a small token of appreciation (t-shirt, laptop bag, public thank you)These hackathons are focused on volunteerism and community recognition.