Skip to content
FNField noteAugust 10, 2026

The maintainer ledger: what an open source module costs and pays

#drupal#open-source#retrospective

I maintain ETM, a Drupal module running on 90-some production sites according to drupal.org’s usage stats — the live number sits on my work page, fetched from their API, because a counter I don’t control beats a claim I do. People ask what maintaining a contrib module pays. Here’s the honest ledger.

The cost column

Releases track Drupal’s clock, not mine. Every core major means compatibility work, deprecation sweeps, and a release — whether or not the module needs anything else. Miss a cycle and every site planning its upgrade has your module on its blockers list, with your name on it.

The issue queue is a support desk with no invoice. Bug reports from sites you’ve never seen, feature requests from strangers, the occasional drive-by “doesn’t work” with no version, no error, no reproduction. You answer anyway, because the queue is public and how you behave in it is the module’s reputation.

Testing is the unpaid majority. The fix takes an hour; proving it safe across supported core versions takes the evening. Nobody sees this column, which is precisely why it’s the one that matters.

The pay column

Zero dollars, directly. Worth saying plainly.

Proof that compounds. Ninety-plus organizations run my code in production and drupal.org counts them publicly. No testimonial page can match a number a stranger can independently verify — it’s the difference between “trust me” and “go look.”

The trust of a commons. Drupal runs on thousands of people doing exactly this ledger, most of them at a loss on paper. Taking a turn is partly how you say thanks — the campsite rule, applied to code: leave the place better stocked than you found it, because you’ve camped on other people’s firewood for years.

The skill nobody assigns. Maintaining in public — versioning, backwards compatibility, saying no kindly, shipping on someone else’s schedule — is a different discipline than building, and client work rarely teaches it. The queue does.

The ledger doesn’t balance in dollars. It balances — that’s the part I didn’t expect when I picked it up.