DDX for PostgreSQL — Merit Ranking

WHAT THIS RANKING IS

The people list is ordered by a merit score: a blend of signals observable in the public archives, meant as a rough activity-and-quality signal, not a judgement of worth. It is one estimation among many. Contribution is not truly measurable; a 12-line bug fix can matter more than a 6,000-line rewrite. People appear here because their work shows up in public archives; people who are absent are not less valuable.

Every input below is already public (mailing lists, the postgres git history, commitfest, the buildfarm). We compute no private data and store nothing about readers.

THE FORMULA

Each component is normalized to the range [0, 1], then combined. For a non-committer:

merit = 0.30 · contribution
      + 0.25 · authored_landed
      + 0.20 · credibility
      + 0.25 · patch_readiness
      − 0.10 · revert_rate        (clamped to [0, 1])

For a committer, the patch-readiness weight is cut to 0.05 (see Patch readiness for why), and the freed 0.20 is redistributed across the other three factors in proportion:

merit = 0.38   · contribution
      + 0.3167 · authored_landed
      + 0.2533 · credibility
      + 0.05   · patch_readiness
      − 0.10   · revert_rate      (clamped to [0, 1])

The people list is sorted by this score, highest first.

THE COMPONENTS

Contribution (0.30)

Breadth and frequency of participation: log(1 + total_contributions) / log(1 + max), where total_contributions is the person's commits plus mailing-list messages in the core/all-time bucket, and max is the most prolific contributor's figure. The logarithm compresses a four-order-of-magnitude range so the gap between rank 1 and rank 100 is a fraction, not 10,000×.

Authored-landed (0.25)

Distinct postgres commits that credit the person as Author: or Co-authored-by: in the commit trailers, log-scaled against the top author. This rewards a non-committer whose patch reached commit, regardless of who pushed it — so you are not penalized for lacking commit access.

Credibility (0.20)

Endorsement by committers. We build a directed interaction graph (who replies to whom on the lists, who credits whom in commit trailers) and sum the edge weight flowing into a person from the project's committers. Being reviewed, tested, or replied-to by the people who gate commits counts; attention from an unknown does not. This is the structural reading of "committer sentiment": the judgement of those whose approval is required to commit.

Patch readiness (0.25 non-committer / 0.05 committer)

How committable a submitted patch was — how little a committer had to change it. For each commit that links a Discussion: thread, we take the last patch posted to that thread and compare it to what landed:

readiness = 0.6 · code_similarity + 0.4 · message_similarity
          − comment_churn_penalty        (clamped to [0, 1])

Why committers are discounted. For a committer, "submitted vs committed" is just their own self-revision — they commit their own work and will not change it much, so a high score is automatic and a low one only means they reshaped their own patch at push time, which is not a quality deficit. So readiness carries almost no weight for committers; it is a real signal only for non-committers whose patch a committer had to judge and land.

Readiness requires at least 3 measured patches; below that, the sample is too thin and the score falls back to a neutral 0.5 (neither reward nor penalty). Measurement is incremental — a nightly job works through the backlog — so a person's readiness may read neutral until enough of their patches have been measured.

Revert rate (−0.10)

The fraction of a person's landed authored commits that were later reverted (traced through the This reverts commit <sha> trailer). Code that had to be backed out is a negative quality signal, so it subtracts from merit.

WHAT WE DO NOT MEASURE

Two signals that would be reasonable to want are not computed, and we will not fabricate them:

IDENTITY AND BOTS

A person's many email addresses are coalesced into one identity (manual curation plus email/name matching), so contributions under a personal gmail and a work address count together. Automated/role accounts (CI bots, shared ops addresses) are excluded from the ranking.

If your identity is split, merged wrong, or your employer is off, see the community page for how corrections are made.

HOW OFTEN IT UPDATES

The contribution, authored-landed, credibility, and revert components refresh with the nightly data pipeline. Patch readiness is backfilled incrementally by a nightly job, so coverage (and thus the readiness component for people with few measured patches) grows over time.

See status for data freshness, and data for the raw datasets.