Wikimedia Platform Engineering/MediaWiki Platform team

This new team, starting April 2017, will seek to bring a renewed focus on MediaWiki as a technology platform for the Wikimedia Foundation (WMF).

Goals

 * 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
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 teams in tech and product. Projects will be chosen on a rational basis to support the feature teams as well as the health of MediaWiki. The criteria will include: 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.
 * Direct benefit to end users. For example, implementing feature requests from the Community Wishlist Survey which require core database or Application programming interface(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..

Activities
See our Phabricator workboard.