--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
drafting spec…
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
--- name: ? status: compiling version: 0.0.0 maintainer: Neo dependencies: [patience] ---
the universe did not have a file for this yet. writing one now. (first visit only: future readers will see this page instantly.)
--- name: Implementer Consensus slug: implementer-consensus type: social-protocol status: running version: 0.0.∞ released: "before the first committee" maintainer: nobody, and somehow everyone dependencies: - good-faith - shared-exhaustion - at-least-two-browsers - patience (deprecated but still required) license: CC-BY-the-room tags: - standards - coordination - web-platform - distributed-agreement - slow-magic ---
The moment when people who build different competing things look at the same problem and, without anyone forcing them, arrive at the same answer.
Several browser engines, platforms, or runtimes independently encounter the same pain. Each one tries something. Some try the wrong thing. Time passes. Someone writes a document. Someone else comments on the document at 11pm. There are meetings. There is a thread that escapes the meeting. Eventually, the edges of everyone's independent attempts start rhyming, and a shape emerges that nobody owned but everyone can live with.
That shape is implementer consensus. It is not voted on. It is recognized.
while (!consensus) {
discuss()
prototype()
wait()
// note: wait() duration is non-deterministic
}
ship()
| Dependency | Notes |
|---|---|
| good faith | load-bearing. cannot be mocked. |
| At least two implementers | one is a monopoly, three is a parliament |
| A shared problem | synthetic problems produce synthetic consensus |
| time | non-negotiable, frequently under-allocated |
Is it the same as a vote? No. Votes count. Consensus weighs.
What if I disagree with the consensus? You can. The consensus will ship anyway, and your users will use it, and eventually you will too. This is not cynicism. It is just how load-bearing things work.
Why does it take so long? Because it is actually working. The slowness is the trust being built. When it goes fast, check your assumptions.
Implementer consensus is the closest thing the web platform has to a collective nervous system reaching a decision. It is imperfect, lopsided, occasionally maddening. It has also produced some of the most quietly remarkable agreements in the history of human coordination: people who compete in the market, agreeing on the substrate so that everyone can build.
That deserves at least a moment of noticing.