MediaWiki Product Insights/Contributor retention and growth

From mediawiki.org


How can we enable more teams to know MediaWiki and work effectively in MW core domains relevant to their work? How can we retain and grow the number of people willing and able to contribute to MediaWiki? What do we need to do to balance initiatives with our existing capacity to provide code review, consultancy and mentorship? Which areas and types of tasks should we focus on? How do we generate a lasting effect that scales for our needs?

These are some of the key questions behind the metric to increase by 20% the number of authors that have committed more than 5 patches across a specific set of MediaWiki repositories that are deployed to production. (WMF’s annual plan 2023/24, WE3.2).

The situation (a few frequently mentioned challenges)[edit]

  • The number of contributors to MediaWiki core and other MW repositories in WM production has been stagnating for years. This needs to change to be able to sustainably maintain and evolve the software.
  • MediaWiki is a large, complex and entangled code base. A change to core can have significant effects. This leads to a situation where teams and people may be hesitant touching MediaWiki and need substantial empowerment, guidance and support.
  • We depend on a few individuals who have deep knowledge about MediaWiki. This creates bottlenecks when changes to MW core are needed, may block teams' work, and may lead to workarounds that add technical tebt.
  • The number of people who know MediaWiki determines our capacity to provide guidance, mentor and onboard people into MediaWiki.
  • Volunteers and staff have called out the need for allocating time for code review. However, time for code review is not only a matter of allocating resources, but is likewise constrained by the number of people who feel confident reviewing and merging patches in a given area.

These are some of the reasons that led to the conclusion that a key focus of the work in FY 23/24 needs to be on enabling more people to know MediaWiki and contribute effectively. We're measuring this with one number as this presents a way to focus, intentionally design interventions, and track progress. However, we need a multi-faceted, intentional approach to create lasting impact.

Work in this field is also interconnected with questions of stewardship and the development of a product strategy for MediaWiki, which is likewise a focus in this fiscal year.

Approach and focus areas[edit]

At the high level, we're focusing on these three areas:

  1. Design low-entry-level initiatives for contributions to MediaWiki core and a set of extensions, enriched by workshops, improved documentation, code review and support to enable more people to feel confident contributing to MediaWiki.
  2. Provide consultancy for Wikimedia’s teams in projects that touch MediaWiki core domains to help sustain current contributors and to enable more people to contribute to MediaWiki effectively.
  3. Invest in code improvements, logging, monitoring and test coverage in specific areas to make it easier to debug issues and ease onboarding in MediaWiki.

The first two areas are fields where we are able to directly see the effect in the contribution data and can think of ways to course-correct if we don't see the desired impact. The third area encompasses work where the impact will become more visible over time, may not directly translate in a measurable increase of contributors, but may result in better "anecdotal data". This is work that can be measured via qualitative feedback over time or via indicators such as test coverage.

Baselines[edit]

The baseline for the 20% increase is the number of contributors who have submitted >5 patches in FY 22/23 (July 2022-June 2023) to the selected MW repository in Wikimedia production. This allows us to start with a relatively similar contributor base, directly monitor the impact that investments, initiatives and interventions may bring, and keep an eye on seasonal differences that may be unrelated to the efforts we're making (i.e. contribution data in December may be generally low/high).

MediaWiki core[edit]

MediaWiki core is the main code base we're focusing on over the course of this fiscal year (July - June).

  • Baseline: 70 people have submitted >5 patches to MediaWiki core between July 2022 and June 2023.
  • Goal: 84 people have submitted >5 patches to MediaWiki core between July 2023 and June 2024 (20% increase)
  • Status by the end of Q1 (July-September 2023): 37. This is about a 15% increase compared to July-September 2022.
  • Status by the end of Q2 (October-December 2023): 58. This is about a 20% increase compared to July-December 2022.
  • Status by the end of Q3 (January-March 2024): 71. This is a 14.5% increase compared to July 2022-March 2023.

Focus within MediaWiki core primarily lies on

  • areas where staff from the MediaWiki Engineering group onboard to as part of the teams' stewardship responsibility
  • areas relevant for other teams as they are working on other annual plan priorities or essential work projects
  • areas suitable for initiatives to onboard people to MW core and share knowledge on general/specific concepts (interest/need based)

Other repositories[edit]

So far, we've identified one second repository to focus on: CentralAuth, which is a highly critical extension in Wikimedia's ecosystem. The goal here is to onboard at least 1 more staff member within MW Engineering to CentralAuth, as part of the MediaWiki Engineering's steward responsibility for this extension.

  • Baseline: 5 people
  • Goal: 6 people
  • Status by the end of Q1 (July-September 2023): 5
  • Status by the end of Q2 (October-December 2023): 6 Yes Done

More repositories may be selected as part of specific initiatives. Examples:

  • If the plan is to organise a "clean up" initiative with the goal to make many similar small changes to a high number of extensions, we'd measure this accumulative across this set of extensions.
  • if the plan is to help group X with a specific extension, we'd measure progress on that specific extension.

The "principle" of selecting a repository is to approach this intentional, focused and need based, which also helps us to balance capacity to provide mentorship and support with responsibilities to maintain and evolve the software.

If you have ideas for initiatives that fit this framework and would be valuable to test out over the next quarters, please reach out!

Q1 focus (July - September 2023)[edit]

  • Developing overall approach and focus area
  • Consultancy and support for the Observability, Trust & Safety Product, Design Systems, Growth and Web teams on projects that touch MW core domains
  • Code review for patches submitted by volunteers
  • Investments in technical documentation (mediawiki.org project pages update)
  • Code improvements and capabilities that ease onboarding in MediaWiki and make logging, monitoring, and debugging easier (Phab:T343098, Phab:T47514 and smaller improvements)

Q2 focus (October - December 2023)[edit]

  • Plan and conduct a first MediaWiki code jam in December 2023 (the idea is to test the approach at a smaller scale/Foundation internal and if it works well, run a second, tech community-wide edition later, if people are interested)
  • Consultancy, code review and support for a number of teams on projects that touch MW core domains
  • Code review for patches submitted by volunteers
  • Investments in technical documentation (deployment pipeline docs improvements; quick start workflow for contributors)
  • Code improvements and capabilities that ease onboarding in MediaWiki and make logging, monitoring, and debugging easier (Phab:T343098, Phab:T348206 and smaller improvements)