Hackathons

Wikimedia hackathons play an important role energizing our engineering community and connecting it to local groups. We need more of them in different places.

This page provides general information for potential Hackathon organizers and general information about hackathons. If you are looking for information about specific Hackathon events, please check out:

https://www.mediawiki.org/wiki/Wikimedia_Hackathon_2015

The Wikimedia Hackathon model
The 2015 European Wikimedia Hackathon has become a reference:


 * Unconference model focused on hands-on work, training, and technical discussions.


 * Run in a different location every year, with different local organizers supported by the Wikimedia Foundation's Engineering Community Team and experienced volunteers.


 * Lightweight organization focused on simplicity and effectiveness, with almost no overhead.


 * Budget for the organization approved in advance and complemented by travel sponsorship support from the Wikimedia Foundation, the local organizers, and other organizations.


 * Local organizers focus on local work. Global aspects like travel sponsorships and the program can be delegated to the community. The WMF helps where is needed.


 * Goals are measured by participants' satisfaction and tangible outcome. The number of attendees is not a goal per se.

Demo-able projects
We want to focus our hackathons on teaming, prototyping, and a showcase at the end of the event. A hackathon provides a good environment to accelerate the development of new ideas, to collaborate on tough problems, and to identify contributors capable of leading independent projects.

Organizers may plan for prizes or other types of incentives. The Wikimedia Foundation will look at the projects showcased, seeking opportunities to support the productization of interesting concepts.

Pairing buddies
In our hackathons and many events, participants have a natural inertia to clusters with others they know well, while other participants have a hard time mingling in. To solve this problem, we are experimenting with buddies, pairs of participants complementing each other. For instance, all Wikimedia Foundation employees are asked to find a non-WMF buddy. Potential participants requesting travel sponsorship will have higher chances of being accepted if they have a buddy. Hackathon organizers can help establishing connections.

Some good buddy pairings:


 * newcomer - insider
 * volunteer - professional
 * Wikimedia - non-Wikimedia / upstream
 * developer - non-developer
 * contributors to common projects
 * speakers of common languages
 * different countries
 * different ages
 * different gender

Finding your buddy
Think who is submitting patches to your repos, who is helping in your tasks, who contributes to your mailing list discussions... People out there are spending some of their time on your projects, when there are so many other interesting things to do. They will be honored if you send them an email proposing to be their hackathon buddies. Think also who is bringing criticism to your projects, invite them for some face-to-face collaboration.

Event organizers can help, offering a page to find buddies (e.g. Lyon Hackathon 2015/Buddies) and proposing connections based on the registration information.

Note that this is not only about looking among people who has registered to the event. You can think of experienced and productive buddies that you would like to work with at the event. A community developer you have never met in person, a colleague in an upstream project that would benefit from knowing more about Wikimedia, an experienced editor that will bring other perspectives and get involved... Buddy selection will increase the possibilities of travel sponsorship of both buddies.

Welcoming newcomers
Hackathons are good opportunities to reach out to new contributors. The buddy system mentioned above can be useful to connect newcomers with insiders. Specific activities must be planned in order to introduce them to Wikimedia tech and the activities of the event. The registration form should help identifying newcomers and other participants welcoming an introduction, as well as more experienced contributors willing to help welcoming them. See T89392.

Note that there are different types of newcomers:


 * Junior developers interested in Wikimedia.
 * Not so junior developers interested in an international developer hackathon happening nearby.
 * Developer communities strong in technologies used in Wikimedia: PHP, JavaScript, Android, iOS... (T76325)
 * Local or international contributors of upstream projects used in the Wikimedia stack. (T76325)
 * Tech-curious contributors, not necessarily developers, but experts in some related area (web publishing, open data, geolocation, etc).

Proposing a hackathon
In theory, the Wikimedia Hackathon model can be replicated and adapted to different regions. Hackathons are welcome especially in Wikimedia and developer hubs like India, North America, Latin America, Greater China, Russia...

Wikimedia chapters are encouraged to play a key role organizing events in their territories, but the invitation is extended to all Wikimedia formal and informal groups. A team of three people playing well their cards can organize a successful hackathon.

Wikimedia organizations are strongly encouraged to support hackathons organized by others, sponsoring travel for technical contributors active in their communities.

If you are interested in funding and support for a smaller scale hackathon (15-40 people) that is also a possibility starting in July 2015. Please follow the same proposal steps and guidelines.

If you are interested in organizing a hackathon but have private questions or concerns please email rfarrand@wikimedia.org.

First Step: Create a wiki page at mediawiki.org with the following:
If you want to organize a Wikimedia hackathon, please share your intentions as soon as possible.

Organizing team:

 * Who is who, identifying a coordinator and roles?
 * Examples of Roles for big hackathon (some of these rolls can be held by the same person, but usually a team of at least three local people and two WMF is ideal):
 * Project lead from hosting chapter/organization
 * Project lead from WMF
 * Logistics (venue/accommodation)
 * Finances
 * Scholarships (Co-owned by WMF and local group)
 * Visa support
 * Travel support
 * Communications
 * Outreach/fundraising/engage local communities
 * What is your past experience organizing events?

Number of participants expected

 * Does your venue have a limit? Do you have a target?
 * Generally 200-400 attendees for large hackathons, any number is OK for smaller hackathons.

Possible venue(s)

 * The venue should have a main room large enough to hold all attendees for intro/wrap up. It should have a large working space for hacking (another large room, lounge area of a hostel, etc). It will need to have multiple break out rooms for sessions, talks and focused hacking. It will need to have fast and reliable wifi (this is very important). Ideally it will have lodging for participants onsite or very close to the event venue.
 * Close proximity to an international airport with an easy transfer.
 * Venue open 24 hours a day during the hackathon

Proposed dates

 * The yearly EU hackathon is three days long: Friday through Sunday or Saturday through Monday.
 * The yearly EU hackathon is generally held in the spring (March, April or May). If you are considering a date in May, make sure that it is not too close to that year's Wikimania which also has a hackathon with many of the same participants.
 * Smaller hackathons can be longer, shorter, midweek or over the weekend.

Travel, accommodation, catering

 * The hosting team will need to supporting visa requests by providing a letter of invitation and sometimes proof of accommodation to people who need to apply for visas. People applying for visas should have all needed documentation at least two months before the event.
 * The hosting team will need to develop a system for booking flights and/or providing reimbursements to people who have received scholarships.
 * Consider transportation between the venue, accommodation, local attractions and any social events.
 * Whenever possible public transportation cards should be provided to people by email before they arrive in the city.
 * Long commutes or needing to move locations often can be disruptive to the event.
 * Catering should have vegetarian, vegan, kosher and gluten free options.


 * Accommodation should have options for single rooms, shared rooms (2 beds, 4 beds), couples room and ideally family rooms.
 * Participants who are paying for their own accommodation must have a way to pay the local chapter directly.

Social Events

 * Social events are important! They give hackathon participants a chance to meet each other informally even if they are not hacking on the same project. They are fun, enable the forming or friendships and can keep people engaged in the events and movement.
 * Ideas for social events: Local site seeing, events where people can mingle, talk to each other and have fun.
 * Past social events have included: Dance parties, boat tours, walking sight seeing tours, BBQs. Social events where you also get to see and learn something about the history of the city is generally appreciated. Often that will be the only opportunity for some of the event participants to do any sight seeing.
 * Highlighted creative example: The Zurich Hackathon in 2014 provided all participants with a pass for free public transportation around the city. One of the social events was a boat tour of the lake. Its cost was included in the pubic transportation ticket so there was no extra cost to the event. It was a creative and fun way to save money.
 * Often providing food, drinks and music is enough for a fun evening event.

Working with other groups

 * Ideally you will work closely with past hackathon organizers to learn from their mistakes and successes
 * Many chapters often work together and pool money with each other and WMF for scholarships
 * Think about local open source and tech communities and schools that you can engage and invite to the hackathon

Safety

 * Make sure to have a safety plan for the event. What will you do in the case of a medical emergency? Fire? Etc?
 * Every participant should virtually agree to the Wikimedia Friendly Space Policy.
 * Consider the personal safety and comfort of all participants (e.g., welcoming environment/culture for LGBT community members)

Share your plan at wikitech-l, wikimedia-l, and other relevant venues, asking people to leave feedback in the wiki page.

Feel free to run your plan by rfarrand@wikimedia.org if you would like some feedback before you publicize your intentions.

Typical Schedule
Day 0: Event organizers arrive and set up. Participants begin arriving in evening. Low key social event or organized group outings. Pre-registration and name badges

Day 1: Registration, All-hands/welcome/intro, Sessions start, hacking, mixer/social event, hack through the night option

Day 2: Sessions and hacking continue, hack through the night option, social event

Day 3: Sessions and hacking continue, wrap up, closing social event or dinner, some participants leave but most stay the night.

Day 4: Everyone heads home

Hackathon Support
There is plenty of support available once you have agreed to hold a hackathon. After you apply to host a hackathon, but before you are approved for funding you will be responsible for submitting a budget proposal which will be reviewed and approved or modified by the Engineering Community Team. We can help with the proposal, and past budget proposals are public.

Each hackathon and organizing team will be a bit different. The Engineering Events Coordinator from WMF and the organizing team generally meet every two weeks by hangout or Skype up until a month or two before the hackathon at which point it usually makes sense to meet for weekly meeting, or more as needed. The WMF events team and the hackathon organizers often email daily to coordinate, plan, and make sure everything is on track.

For big hackathons you will often also have onsite support from the WMF events team. For the yearly EU hackathon the Engineering Community Team takes responsibility for organizing the majority of the tracks, technical content and daytime schedule. The local team generally take care of all of the logistics, fundraising, travel support for people with scholerships, visa support, venue contracts, meeting space, social events, food, etc.

For smaller hackathons we can work out ahead of time what makes the most sense.

Real examples

 * Zürich Hackathon 2014 budget
 * Amsterdam Hackathon 2013 budget

Proposals
2014 | 2015 | 2016

Selection process
Everything is flexible:


 * 1) Any candidate can share any proposal at any time.
 * 2) Proposals are discussed with the community in their wiki pages, escalating to wikitech-l if needed.
 * 3) The discussion remains open at least during 30 days, giving time to critics and alternative candidates to respond.
 * 4) The WMF Engineering Community team will facilitate the discussion and will announce new events officially.

Factors in play:


 * credible plan
 * trusting organizers
 * transparent, responsive, flexible
 * backed by their community track
 * promoting diversity
 * new locations
 * new organizers
 * potential for new participants and different focuses
 * welcoming risk
 * alternation between safer and riskier bets

Community

 * How many participants?
 * Diversity of participation (origin, affiliation, sponsored, newcomers, gender)
 * How many buddies?

Hacking

 * How many projects are showcased?
 * How many driven by volunteers?
 * Any projects that the WMF decides to support after the event?
 * Tasks resolved?

Training

 * Overview of Wikimedia tech priorities and ongoing projects welcoming contributors.
 * How many newcomers & welcomers in welcoming session?
 * Participation and results in other training sessions.

Meeting

 * Community decisions worth a face to face meeting.
 * Social meetings and events.

Organization

 * Costs and final balance.
 * How much funds pooled for volunteer travel sponsorship, and from whom.
 * Participants survey and summary report.

Stand up to get an idea of your audience
A hackathon idea stolen from the Swizz:
 * Take a room and clear it of any chairs
 * Draw two lines in the room to divide it in three parts
 * Ask people for who it is the first hackathon to stand in the first square, 1-3 hackathons in the middle one, 4+ in the last square
 * Ask people who know what to work on to stand near the window, not clue on the other side and in doubt in between
 * You know subdivided the room in different groups by experience and what to work on
 * Do a regular idea pitching session, but start with the people who are near the window
 * Have two microphones so you can start from both the very experienced and the newbies and work to the middle