Requests for comment/Process/Draft

The Wikimedia RFC Process is used to track technical decisions and more complex changes that are strategic, cross-cutting, and/or hard to undo. Read more about the scope in the TechCom Charter.

Other changes to MediaWiki (and other Wikimedia software), including bug fixes, optimizations, and documentation improvements, can be submitted to Gerrit and follow the normal code review process.

Objective
The RFC (Request for comments) process provides a structured workflow for contributors to solicit qualified feedback on a technical proposal. It collects all ideas in one place and it documents whether ideas will be worked on or were discarded, and why.

Create a proposal
Anyone is welcome to create a proposal in the form of an RFC. To create an RFC, write your proposal in the description of a new Phabricator task (Create a task, How-To), with the #TechCom-RFC project tag. You may also publish your proposal on mediawiki.org instead, as subpage of Requests for comment. If publishing on mediawiki.org, also create a Phabricator task that points to the mediawiki.org page from its description.

The Wikimedia Technical Committee (“TechCom”) members manage the review process and have the authority to approve or decline proposals.

TechCom triages RFCs on Wednesday during its weekly meeting. New RFCs should be triaged by TechCom within two weeks of being tagged with "TechCom-RFC". Minutes of the meetings are published through the TechCom Radar as e-mails to Wikitech-l and on mediawiki.org at TechCom/Minutes.

If TechCom considers an RFC out of scope, it may close the task as invalid - this bypasses the Review and Last Call stages.

Review process
TechCom may move new RFCs from the Inbox to either the “Backlog” or the “Under discussion” column on the TechCom-RFC workboard. New RFCs will also be announced in the TechCom Radar to encourage participation from the wider Wikimedia technical community.

An RFC in “Backlog” is incomplete or blocked for other reasons. When a TechCom member moves an RFC to the Backlog, they must comment on the task summarising why it is blocked or what aspects are missing. When the feedback has been addressed, the RFC author, or another participant, should move the RFC back to the “Inbox” for TechCom to triage.

An RFC in “Under discussion” has been triaged by TechCom and is ready for review by the wider Wikimedia technical community.

Once a week, there is a scheduled IRC office hours slot reserved for RFC review meetings. While TechCom-RFC discussions can take place entirely on Phabricator, often a real-time conversation may help to move forward. For example, an RFC could use the IRC meeting to collectively define a problem statement, agree on requirements, better understand the perspective of different stakeholders, or narrow down the general direction for its solution. Any participant on an RFC task may request an IRC meeting by leaving a comment on the task asking TechCom to schedule an IRC meeting. (The activity feed on RFC tasks is reviewed as part of TechCom Triage.)

The topic of future IRC meetings is typically announced one week beforehand as part of the TechCom Radar.

Last Call
When TechCom has completed their review and has reached a consensus, it will announce its proposed decision (i.e. approve or decline), and put the RFC in a Last Call state. The Last Call status is reflected on the TechCom-RFC workboard and also announced in the TechCom Radar.

In this state, all stakeholders, current and new participants, have at least one week to introduce new concerns. If new significant concerns were raised and/or if substantive changes were made to the RFC, the Last Call is cancelled, and the RFC goes back to the “Under discussion” state. Otherwise, TechCom can proceed with their decision.