Wikimedia Engineering/2016-17 Goals/New MediaWiki-focused team

2016-03-03: this page was copied from https://office.wikimedia.org/wiki/Engineering/New_core_team and may have links that don't make sense in the mediawiki.org context. Please copy/move/whatever to situate this in a better home as appropriate.

This is a proposal to have a team within WMF Engineering focusing on the core MediaWiki software. There are two proposals here with different scope: a new "Platform" team to make MediaWiki a better software development platform, and an "Availability" team, which would focus their guardianship around ensuring that MediaWiki remains a stable software platform.

Platform

edit

Full proposal: MediaWiki Platform team proposal

Gergo has been working on this proposal, based on a WikiDev16 discussion (etherpad), and following up from Brion Vibber's original idea.

Naming

edit

MediaWiki Platform team

Scope

edit

Improve other Wikimedia developers' ability to use MediaWiki as a software development platform.

  • Refactor MediaWiki into loosely coupled, well-documented components with clean interfaces and easy-to understand interactions
  • Support developers working with core via code review, consultation and training
  • Improve developer experience by making MediaWiki's developer-oriented features more intuitive and convenient

Availability

edit

RobLa-WMF proposes this alternative naming and scope

Naming

edit

Wikimedia Availability Team

Scope

edit

Make MediaWiki backend failures diminishingly infrequent, and prevent end users from noticing the ones that do by making recovery as easy and automated as possible.

  • Maintenance of MW core -- internals and extension points
  • Make short and medium-term roadmaps of what major availability changes are expected to go into core
  • Providing architectural consultation about and helping to make engineering improvements needed by other 'client' teams within WMF Engineering as well as third-party users
  • Work with Release Engineering and Operations to ensure MediaWiki works reliably with the minimum of logistical overhead
  • Partner with other teams responsible for operational excellence: e.g. Security, Performance, Architecture

Brion Vibber's rationale for a new core team

edit

This section was written in December 2015, which started the discussion

Since the WMF Engineering reorg earlier this year there's no longer a MediaWiki Platform or Core team, meaning that there is no team within WMF Engineering dedicated to maintaining the core of MediaWiki. This has made it very difficult to make any kind of long-range planning or roadmap for MediaWiki as a platform, which harms both internal and external users of MediaWiki.

I would like to propose re-establishing a MediaWiki Core team:

  • with responsibility for maintenance of MW core -- internals and extension points
  • with responsibility to make short and medium-term roadmaps of what major changes are expected to go into core and how to deal with back-compatibility
  • providing architectural consultation about and helping to make engineering improvements needed by other 'client' teams within WMF Engineering as well as third-party users
  • expect to partner with other teams on various projects re: security, performance, etc

What do people think? Would this be helpful, or is there a better way to provide engineering resources to MediaWiki core? Should we do something else instead, perhaps centered around the existing Architecture group? Should we separate the roadmap & consultation from the heads-down engineering work? Should we separate back-end (API, database) from front-end (CSS/JS, OOUI) or keep them together? Is a 'services' relationship with other teams a good model, or should we rely more on cross-functional teams? If so, how do we manage them and make sure they get stuff done and get the resources they need?