Contributing and the RFC process

How to fix a typo, propose a new standard, and resolve disagreement without stalling

Id meta-contributing Applies to any Status active Enforceable needs judgement Tags metagovernancerfccontributionprocess

Two paths in. Which one you need depends on whether anyone could reasonably disagree with you.

Path 1: pull request

For anything uncontroversial:

Open a PR. One approving review merges it. The site build validates front matter and internal links before anything publishes.

Path 2: RFC

For anything where a reasonable engineer might object:

Open an issue using the RFC template, then open the PR that implements it and link the two.

What an RFC contains

Comment window

Five working days from the moment the RFC is opened. Long enough that people in every timezone get a working week’s chance to see it; short enough that proposals do not rot.

Silence is consent. If nobody objects inside the window, the RFC is accepted and the implementing PR can merge with one approving review. Do not wait for enthusiasm; waiting for unanimous approval is how standards repositories die.

An objection restarts nothing. It just has to be resolved before merge.

Tie-breaker

If the comment window closes with an unresolved objection, the WordPress COE team decides, and records the reasoning in the RFC thread. Their decision stands until a new RFC changes it.

This is deliberately a named tie-breaker rather than a vote. A vote on a technical standard rewards whoever mobilises the most colleagues, and a standards repository with no way to close an argument accumulates open questions instead of standards.

Writing a good standard

Before you open the PR

npm ci
npm run validate

That runs the same front matter and link checks CI runs. To preview the site:

bundle install
bundle exec jekyll serve

Where things go

Put the document in the tier matching how wide it reaches, not the tier that feels most important:

If a document would be half standard and half runbook, split it. The predecessor repository mixed the two and the result was a repository where a quarter of the content could not be enforced, checked or even meaningfully agreed with.