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.

The Wikimedia Hackathon model
The 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 showcase at the end of the event. A hackathon provides a good environment to accelerate the development of new ideas, to collaborate solving tough problems, 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, there is an almost natural inertia to form clusters of participants knowing each other well, while other participants have a hard time mingling in. In order to solve this problem, we are experimenting with buddies, pairs of participants ideally 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.

Good pairs of buddies include these characteristics:


 * 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... Some 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, inviting them to some days of face to face collaboration.

Event organizers can help, offering a page to find buddies (i.e. 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).

More hackathons
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 guidlines.

Proposing a hackathon
If you want to organize a Wikimedia hachathon, please share your intentions as soon as possible.

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

First steps:
Create a wiki page at mediawiki.org with a succinct draft describing:


 * Organizing team:
 * Who is who, identifying a coordinator and roles?
 * 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.
 * Smaller hackathons can be longer, shorter, midweek or over the weekend.
 * Plan for travel, accommodation, catering
 * Supporting visa requests
 * Booking/reimbursements for sponsored participants
 * Transport between the venue, accommodation, and local attractions
 * Ideally sponsored attendees can land in the hosting city and not need to spend any of their own money until they leave.
 * 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.
 * Name badges, t-shirts, stickers and a printed schedule/map of venue and rooms for each participant
 * Registration plan: google survey, eventbrite and other forms have been used in the past.
 * Participants who are paying for their own accommodation must have a way to pay the local chapter directly.
 * Suggestions for social events
 * Local site seeing, events where people can mingle, talk to each other and have fun.
 * Past social events have included: Dance party, boat tours, walking sight seeing tours, BBQs
 * Support from Wikimedia and local organizations
 * Wikimedia and software development activity in the region
 * and how do you plan to attract them.
 * Personal safety of 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 leaves for home

Hackathon Support
Once your country, chapter, city, etc. has been chosen for a hackathon location, you will have plenty of support. You budget will be reviewed and approved or modified by the Engineering Community Team.

Each hackathon and organizing team will be a bit different, but you will have support! 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 the meetings are weekly or more as needed. The WMF events team and the hackathon organizers often email daily to help eachother coordinate 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.

After you apply to host a hackathon, but before you funding you will be responsible for putting together a more exact budget plan/proposal. Support is available from the Engineering Community Team and the WMF Grant making team when you are putting together you plan.

Real examples

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

Proposals
2014 | 2015

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.

Random stuff
Because I had to put it somewhere

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