Skip to content
Joshua Poddoku

The Contributor Ladder

Where maintainer attention pays off, and what moves someone from Surface to Builder.

Most maintainer effort lands on the tier that returns the least. This is the model I use to decide where it should go instead.

It does not rank people

Nobody is a Surface contributor. Someone is currently at Surface, on this project, today. The question a maintainer or a founder should be asking is never “is this person worth my time.” It is: what moves them up one level, and can I automate everything below it?

How this differs from the CNCF ladder

The CNCF contributor ladder is a governance document: it defines formal roles, the requirements to earn each, and the privileges that come with them, from contributor to reviewer to approver to maintainer. It answers “what roles exist here, and how does someone get one.”

This model sits underneath that. It answers a different question: who is ready to climb, and where should a maintainer spend the hours to get them there. A project can have an excellent contributor ladder written down and still watch nobody climb it, because nothing in the document transfers the context that a promotion assumes. Use both.

The three tiers

Reading the tiers without bias

Read each row as what the project owes someone at that point, not as a verdict on them. Start from what you can observe, not from who they are, and the next move follows from what they need.

What you observeWhat they needHighest-value moveLevel-up signal
SurfaceTier 1
  • AI-generated PRs and issues, filed and forgotten
  • One-shot drive-bys with no follow-up
  • Problems framed shallowly, symptom rather than cause
Orientation. Why this project exists, and what good looks like here.Automate it. Docs, labelled entry paths, and an AI-assisted first pass, so zero human hours land here.They come back a second time, and ask a “why” question instead of a “how”.
BuilderTier 2
  • PRs that touch real integration surface
  • Asks about edge cases before writing code
  • Handles the failure paths, not only the happy one
Context and trust. Where the seams are, and what breaks when you pull them.Spend your human hours here. Pair on one real issue, then hand over an area to own.They start reviewing other people's PRs, unprompted.
StewardTier 3
  • Cares about review quality, merge queue, release cadence
  • Reviews other people's work unprompted
  • Argues for constraints even when they're inconvenient
Authority, and cover when a call goes badly. Decision rights.Governance. Hand over a decision that matters, and back them on it.They defend the project's constraints when it's inconvenient to do so.

Scroll the table sideways to see all columns.

What moves Surface → Builder

This is the conversion that decides whether a project has a future. Everything else is downstream of it.

1. Count the second contribution

A first PR is cheap now, since a model can produce one in seconds. The second one is not, because it requires that the person got something out of the first. Most projects measure new contributors. The number that predicts survival is the number who came back.

2. Review so that something gets taught

“Doesn’t match our style” teaches nothing and buys you nothing. A review that explains the why behind a constraint transfers context, and context is the raw material of Builder-level work. This is the single highest-leverage thing a maintainer does, and it is the one thing a model cannot credibly do in your place, because it has not earned the judgement.

3. Hand out seams rather than chores

The typical “good first issue” is a typo fix. It teaches nothing about the system and gives no reason to return. The best conversion issue is the smallest one that forces someone to understand a single real seam between two parts of the project.

4. Write down the constraints and the history

Surface contributors cannot see what is load-bearing, what broke last time, or why the architecture is shaped this way. Reference docs do not convey any of that. Decision records and honest “why we don’t do X” notes convert far better than another endpoint table.

5. Let AI take the mechanical pass so humans keep theirs for context

Style, lint, tests, obvious defects: automate all of it. That is AI as fuel behind the scenes, and it is what buys back the maintainer hours that tier 2 actually needs. Spending a human review cycle on formatting, in the year models generate formatting for free, is the clearest waste in Open Source right now.

6. Make the ladder visible

People do not climb a ladder they cannot see. Saying plainly what owning an area looks like here, and what earns review rights, is most of what turns extrinsic motivation into intrinsic community value.

What this looked like in practice

I designed the Junior Developer Evangelist programme for Apache DevLake: cohorts, office hours and meetups for emerging Open Source contributors. The point was to build the Surface to Builder conversion on purpose rather than wait and hope for it.

Over that window the DevLake community went from 100 to more than 400 active members across over 100 enterprise teams, and GitHub stars went from zero past 1,900, then beyond 3,000. The six mechanics above are what I watched work, and what I would do again.

What the research says

The ladder comes from practice, but the pattern under it is in the research too, and the newest work says AI is making it steeper.

What’s happening now, 2024–2026

Newcomers are getting in less often. In the projects tracked below, a newcomer’s first pull request on a good first issue went from being merged most of the time to less than half.

Share of newcomers’ pull requests on good first issues that were merged, across 37 popular GitHub repositories, July 2021 to June 2025. Source: Hoshikawa et al. (2026, preprint).
LadderWhat the research foundSource
Why this matters more in the AI eraAcross 11,097 GitHub repositories, adopting AI coding agents left the number of human contributors unchanged, but newcomers' share of participation fell by 3.7 percentage points and review depth rose 5.3%.Zhang, Jiang & Koziolek, 2026 (preprint)
Hand out seams rather than choresIn 37 popular repositories, newcomers' pull requests on good first issues were merged 61.9% of the time at the start of 2021–25 and 42.2% by the end. Projects have used the label less since January 2024.Hoshikawa et al., 2026 (preprint)
Where maintainer hours goOf 437 maintainers, 60% are unpaid, and 60% have quit (22%) or considered quitting (38%) a project they maintain.Tidelift, State of the Open Source Maintainer, 2024
Where maintainer hours gocurl ended its bug bounty at the end of January 2026 after a flood of AI-generated reports.Daniel Stenberg, curl, January 2026
Why this matters more in the AI eralibvips stopped accepting any contribution made even partly with generative AI, citing copyright risk.libvips, 3 September 2026

The long-running pattern

None of this is new in shape. For more than twenty years, studies have found a small group doing most of the work and a large group arriving once and leaving.

Share of contributors against share of the work. Apache’s top 15 developers were about 4% of the people contributing code and made 83% of the changes. Across 275 GitHub projects, one-time contributors were 49% of the people and made 1.7% of the commits. Sources: Mockus, Fielding & Herbsleb (2002); Pinto, Steinmacher & Gerosa (2016).
LadderWhat the research foundSource
Count the second contributionAcross 275 popular GitHub projects, 48.98% of contributors made a single contribution. Together they account for 1.73% of commits.Pinto, Steinmacher & Gerosa, SANER 2016
Review so that something gets taught10,099 people had pull requests that were never accepted, about 70% as many as the people who did get one in. Around 30% of those surveyed said the rejection demotivated them or stopped them trying again.Steinmacher, Pinto, Wiese & Gerosa, ICSE 2018
Review so that something gets taught21% of people who experienced or witnessed negative behaviour in a project stopped contributing to it.GitHub Open Source Survey 2017
Write down the constraints and the history93% had run into incomplete or outdated documentation, and 60% of contributors rarely or never contribute to it.GitHub Open Source Survey 2017
Hand out seams rather than choresOf 9,368 “good first issues” in 816 projects, almost half were not solved by newcomers.Tan, Zhou & Sun, ESEC/FSE 2020
Where maintainer hours goIn Apache, the top 15 of about 400 code contributors made more than 83% of code changes but only 66% of fixes. The wider community showed up mostly in fixes.Mockus, Fielding & Herbsleb, TOSEM 2002

None of these sources uses my three tiers, and none measures maintainer hours directly. They count contributors, merges, rejected pull requests and survey answers. The two 2026 papers are preprints, not yet peer reviewed. Read all of it as evidence that the pattern is real and getting steeper, not as proof of the model.

What moves Builder → Steward

Give authority rather than volume. The most common way to lose a good Builder is to reward them with more tickets, which reads as a penalty for being useful. Stewards emerge when someone is handed a decision that matters and is trusted to be wrong occasionally: review rights, a say in a real tradeoff, ownership of something that outlives their attention.

Designing for different paths in

People reach each tier by routes that rarely resemble each other. Culture, time zone, first language, career stage, and cognitive style all shape the path in, ADHD and autism among them. That makes it a design constraint on the conversion mechanics above. If your only path from Surface to Builder runs through a synchronous call, a real-time chat culture, or an unwritten social norm, you have capped who can climb. Written, asynchronous, low-social-cost paths convert more people, and they convert them from more places.

Why this matters more in the AI era

AI mass-produces tier 1 artefacts. The flood lands on the exact tier with the worst effort-to-outcome ratio a maintainer has, and starves the Builder-to-Steward pipeline that keeps projects alive. That is the barrier to human contribution I keep pointing at. The answer is to let AI absorb tier 1 entirely, so that scarce human attention survives for tier 2, where it compounds.

I track how Bluesky and Hacker News are talking about AI-written code

If you’re building commercially on Open Source

The same ladder is how you keep a clear divide between volunteer and commercial contribution without pretending the divide doesn’t exist. Paid contributors typically enter at Builder and are pushed toward velocity. Volunteers climb slower and carry longevity. A project that routes both through identical expectations loses the volunteers first, and then, a release or two later, the institutional memory that made the velocity possible.

Notes from the Open Source world

Every week or two I send a short, handpicked note on what's moving in Open Source, and what the community signals are showing. You can unsubscribe from any email.