Wikimedia Platform Engineering/MediaWiki Platform team

From mediawiki.org

This team started in April 2017 to bring a renewed focus on MediaWiki as a technology platform for the Wikimedia Foundation. In July 2018, the team merged with the Services team to form the Core Platform Team.

Goals[edit]

  • To lead the maintenance and improvement of the MediaWiki platform.
  • To assist and encourage feature development on top of MediaWiki by providing developers with a clean and elegant core.
  • To provide value for end users by undertaking feature development work which is primarily architectural in nature.
  • To create and publish a MediaWiki roadmap to assist planning of internal and external users.
  • To establish guidelines and standards for the MediaWiki core code.

Discussion[edit]

Technical debt has accumulated over the 15-year history of MediaWiki. This debt takes the form of design decisions which were expedient at the time, but which hinder further related work due to a lack of flexibility and abstractness.

This technical debt impacts the perceived feasibility of feature development. Feature teams often do not have the time or expertise to undertake the refactoring work which is required.

The work of the MediaWiki Team will be project-based, and include collaborations with other Wikimedia Foundation teams in the Technology and Product departments. Projects will be chosen on a rational basis to support the feature teams as well as the health of MediaWiki. The criteria will include:

  • Direct benefit to end users. For example, implementing feature requests from the Community Wishlist Survey which require core database or API changes.
  • Consideration of WMF feature teams as clients. Refactoring so as to unblock essential feature work.
  • Consideration of the Operations Team as a partner. Ensuring that MediaWiki can adapt to changes in scale and system architecture.
  • Encouragement of volunteer developers and direct core contributions from engineers in other teams. For example, refactoring to make core code more approachable and easier to modify without unexpected side effects.

Our approach recognizes that MediaWiki is a product in its own right and deserves a dedicated roadmap, product manager, and engineering team with a sense of product ownership. Incident response, minor bug fixes, and code review of proposed MediaWiki changes, are all very important, but this small team cannot handle them alone. The burden of MediaWiki core maintenance should be shared amongst all developers who have expertise in this area. Like other teams, individuals working for this team will have the flexibility to interrupt their project work to deal with incidents or required maintenance, but this will be a minority of the overall workload.