Wikimedia engineering 20% policy

From MediaWiki.org
Jump to: navigation, search

The 20% policy was a policy for all full-time paid Wikimedia Foundation engineering staff. In a nutshell, the policy states that irrespective of other assignments, every engineer or product manager should spend at least one day a week on tasks which directly serve the Wikimedia developer and user community, ideally in ways which can't be easily done by most volunteers, and/or which increase volunteer capacity.

Status[edit | edit source]

Scheduling[edit | edit source]

WMF engineering staff can list their "20% days" below. Please be specific about the times you plan to be available.


Especially during 20% days, WMF engineering staff should aim to be available on relevant IRC channels and lists, and participate in community activity such as bug triaging processes, ongoing release planning, etc.

Schedule chart[edit | edit source]

Not fully filled out yet. Please mark out the hours you're committing to be regularly available online as code/bug/patch-review office hours. Don't forget to leave time out for lunch!

Hour UTC Sunday Monday Tuesday Wednesday Thursday Friday Saturday
0:00 UTC Rob Moen, Brion, Roan Tim Starling Arthur Richards, Benny Situ
1:00 UTC Rob Moen, Brion, Roan Arthur Richards
2:00 UTC Tim Starling Arthur Richards
3:00 UTC Tim Starling
4:00 UTC Tim Starling
5:00 UTC Tim Starling
6:00 UTC
7:00 UTC Nikerabbit (09:00 EET) Nikerabbit
8:00 UTC
9:00 UTC Antoine (10am CET) Nikerabbit, Matthias
10:00 UTC Antoine Nikerabbit, Matthias
11:00 UTC Antoine Amir (14:00) Amir (14:00) Nikerabbit, Matthias
12:00 UTC Antoine Amir (15:00) Amir (15:00) Sam Reed (12pm GMT), Matthias
13:00 UTC Antoine Amir (16:00) Amir (16:00) Sam Reed, Matthias
14:00 UTC Antoine Amir (17:00) Amir (17:00) Sam Reed, Matthias
15:00 UTC Antoine Sam Reed, Matthias
16:00 UTC Antoine Sam Reed, Matthias
17:00 UTC Sam Reed
18:00 UTC Rob Moen, Brion (10am PST), Roan Roan Aaron Schulz Sam Reed, Arthur Richards, Benny Situ
19:00 UTC Rob Moen, Brion, Roan Aaron Schulz Sam Reed, Arthur Richards, Benny Situ
20:00 UTC
21:00 UTC Rob Moen, Brion, Roan Aaron Schulz Arthur Richards, Benny Situ
22:00 UTC Rob Moen, Brion, Roan Tim Starling, Aaron Schulz Arthur Richards, Benny Situ
23:00 UTC Rob Moen, Brion, Roan Tim Starling, Aaron Schulz Arthur Richards, Benny Situ

IRC checkins[edit | edit source]

Each cohort should plan on checking in daily for 15 minutes on IRC:

Scope[edit | edit source]

The 20% policy is a policy for all full-time paid Wikimedia Foundation engineering staff. In a nutshell, the policy states that irrespective of other assignments, every engineer or product manager should spend at least one day a week on tasks which directly serve the Wikimedia developer and user community, ideally in ways which can't be easily done by most volunteers, and/or which increase volunteer capacity. These are identified as primary tasks below.

Examples of primary tasks that can fall into this category:

  1. Merging reviewed code into the release or deployment branch, and deploying it
  2. Resolving bugs which require shell access or develop reviewed task lists to let volunteer easily handle them.
  3. Pairing up with volunteers on code review, bug fixes or general development, to build skills/capacity
  4. Individual ongoing code review, of patches and commits, to ensure the backlog doesn't exceed an acceptable maximum.
  5. Complex branch reviews and branch merges
  6. Design review or UX testing of community-developed projects/improvements
  7. Updating public wiki pages, documenting/sharing data, and otherwise contributing to making WMF engineering work transparent
  8. Engaging in discussions, especially insofar as it goes beyond simply being responsive and available.

Examples of secondary tasks that can fall into this category:

  1. Ongoing bug fixes & bug triage support
  2. Increase test coverage
  3. Build documentation or examples explaining how to use the MediaWiki code[1]

Secondary tasks may be more suitable for newly hired or junior developers, especially when paired up with more experienced engineers.

20% time is not a replacement for fully dedicated effort supporting MediaWiki releases, code/security review, QA, etc. Instead, it is intended to ensure that we share the workload on tasks which are mission-critical to Wikimedia's success more broadly, and that all Wikimedia engineering staff remain in touch with the larger Wikimedia development and user community through the course of their daily work.

WMF staff responsible for 20% time should check in with the activity lead during the appropriate check-in time prior to the 20% day, bearing in mind the status on this page. We may need to negotiate the priority of the activity.

Exemptions[edit | edit source]

  • Site emergencies
  • Part-time engineers
  • Mission-critical project teams (e.g. fundraiser)

Notes[edit | edit source]

  1. see http://railscasts.com/ for an example applying to the Ruby on Rails framework

See also[edit | edit source]