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.
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.
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×.
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.
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.
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:
#, SGML <!-- -->, Python #).
Insignificant whitespace is ignored, except in whitespace-significant languages like
Python, where indentation is kept. We deliberately do not normalize away
pgindent reformatting: if the author did not run it, the committer's reflow is real
work the patch required, and counts.Author:,
Reviewed-by:, Discussion:, etc.) from both.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.
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.
Two signals that would be reasonable to want are not computed, and we will not fabricate them:
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.
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.