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 WMF and different chapters.


 * 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.

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

Create a wiki page at mediawiki.org with a succint draft describing:


 * promoter team
 * who is who, identifying a coordinator
 * experience organizing events
 * number of participants expected
 * possible venue(s)
 * proposed dates
 * plan for travel, accommodation, catering
 * supporting visa requests
 * booking/reimbursements for sponsored participants
 * transport between the venue, accommodation, and local attractions
 * suggestions for social events
 * support from Wikimedia and local organizations
 * Wikimedia and software development activity in the region
 * and how do you plan to attract them.

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

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)
 * 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