"I inherited this project, and all I got was these angry users"

My learnings with oapi-codegen

Jamie Tanna (https://www.jvt.me)
Tired maintainer

/usr/bin/whoami

Open Sourcerer 🧙🏼

https://www.jvt.me/open-source/

Best known for:

Open Source is great

Solving problems and sharing solutions for the good of many

Being an Open Source maintainer is rewarding

Except for when it isn't 🫣

Why are there "tired maintainer"s out there?

Sorry...

xkcd 2347: Dependency

xkcd 2347: Dependency

Kris Brandow, via Fallthrough Episode 3:

[...] are you ready to potentially have the responsibility of you being a load bearing member of society?

(emphasis mine)

Does the tech industry thrive on free work? (www.jvt.me)

Spoiler: Yes

oapi-codegen is a command-line tool and library to convert OpenAPI specifications to Go code, be it server-side implementations, API clients, or simply HTTP models.

OpenAPI is Hard (quobix.com)

"How hard can it be?"

It turns out it can be really hard. Way harder than I ever expected.

Power in complexity, but complexity has a cost

Fairly widely used (> 10k public usages)

GitHub's "used by" interface for deepmap/oapi-codegen, showing ~9k repos and ~5k packages using the project GitHub's "used by" interface for oapi-codegen/oapi-codegen, showing ~250 repos and ~300 packages using the project GitHub's "used by" interface for oapi-codegen/oapi-codegen/v2, showing ~500 repos and ~300 packages using the project

The history of GitHub stars over time for oapi-codegen, showing an upward trend from 2019 to now (2025). There are two red lines on the graph, which indicate minor releases

The history of GitHub stars over time for oapi-codegen, showing an upward trend from 2019 to now (2025). There are two red lines on the graph, which indicate minor releases, and two green lines indicating Jamie's first contributions to the project

The history of GitHub stars over time for oapi-codegen, showing an upward trend from 2019 to now (2025). There are two red lines on the graph, which indicate minor releases, and two green lines indicating Jamie's first contributions to the project. After the green lines, a few more red lines to indicate project maintenance

The history of GitHub stars over time for oapi-codegen, showing an upward trend from 2019 to now (2025). There are two red lines on the graph, which indicate minor releases, and two green lines indicating Jamie's first contributions to the project. After the green lines, a few more red lines to indicate project maintenance, with a purple line indicating when we started requesting funding from users

What's it like being a maintainer?

"Umm actually" emoji face, to indicate an annoying comment / question from a user

"just review my changes"

"it's not that much work to look at a PR"

"it's a straightforward issue"

"Umm actually" emoji face, to indicate an annoying comment / question from a user

"what's the ETA?"

"Umm actually" emoji face, to indicate an annoying comment / question from a user

"but you get time to work on the project on work time"

"Umm actually" emoji face, to indicate an annoying comment / question from a user

"but you get paid"

There's a lot of maintenance

The last 180 days of issues raised on the project, showing 78 raised and 37 closed - there are spikes of issues being closed, indicating that someone is only really working on them in batches, rather than regularly working on them
The last 180 days of issues raised on the project, showing 81 raised and 4 merged - there is a spikes of PRs being merged, indicating that someone is only really working on them in batches, rather than regularly working on them

Via OpenSauced insights (last 180 days)

Today:

Current GitHub stats showing 488 open issues and 159 open PRs

What's it like for me being a maintainer?

An common reaction message for i.e. Slack, where there's an angry looking sock-like thing, which isn't happy they've got a notification above their head

Milhouse from The Simpsons playing frisbee on his own

Via tenor.com

Ben Cotton's book, 'Program Management for Open Source projects'

How can I be a better Open Source citizen?

Be a nice fu🤬cking person!

Lead with empathy 🤗

Pay for the privilege 💸

Say something nice and/or thank you 💜

Closing