Skip to content
article

I maintain something you depend on. I am done pretending that is sustainable.

fourteen years, two co-maintainers, zero budget, and an inbox that thinks it owns me

Karl Lindqvist@kernel_karl

September 4, 2026 · 3 min read

skerry is a small C library that parses JSON. it is maybe four thousand lines. it is also, as far as I can tell from the download numbers and the angry emails, inside a lot of things you use: routers, a payment terminal, at least two cars, and the backend of companies whose quarterly profit is larger than the GDP of the town I live in. I have maintained it for fourteen years. I have two co-maintainers who help when they can. our budget is zero.

I am writing this because last week I got an email from a company, a real one, a big one, demanding I fix a bug they considered critical "as a matter of urgency" and asking what my "SLA for security issues" is. they do not pay me. they have never paid me. they vendored my code into a product they sell for money and now they would like me to provide enterprise support, for free, on their timeline. I replied with one word. you can guess which.

what maintaining actually looks like

it is not the code. the code is the fun part and it is maybe 10% of the time. the rest is:

  • issues that are not bugs in skerry, they are bugs in how someone used skerry, and I debug their code for free so they will go away.
  • "is this still maintained?" opened on a library I committed to yesterday.
  • a feature request that is really a demand, followed by "wow, hostile much" when I say no.
  • security reports, which I take seriously and drop everything for, mixed in with the noise so I cannot ignore the inbox even when I want to.
  • the slow realisation that a thing I made for joy is now load bearing for strangers who are angry at me.

the "just" people

every burnout post gets the same replies. "just add more maintainers." I have tried, onboarding a co-maintainer you can trust with a security sensitive C library is months of work and most people want commit access, not responsibility. "just charge for it." the license is open, the people using it chose it because it was free, the moment I charge they fork the last free version and I have the same work and a lawsuit. "just stop." then it bitrots, a CVE lands in your car, and you email me anyway.

here is a talk that says it better than I can, Kat Cosgrove on every open source maintainer being burned out, watch it before you open your next "is this maintained?" issue:

what I actually want

not pity. I like the work, the real work. I want three things. read CONTRIBUTING.md before you open an issue, it exists and it is short. if your company's product depends on my evenings, fund the evenings, even a little, even once. and when a maintainer says no, "no" is a complete answer, it is not the opening offer in a negotiation.

I am not quitting. I have a family and a day job and I will keep skerry alive because people's cars literally depend on it, which is exactly the problem. nej. I just needed to say it out loud, in public, with my name on it. now I am going to go offline for the weekend, because I have one, and skerry will be fine, because it has survived worse than me being tired.

Written by

Karl Lindqvist

Maintainer of skerry, the C JSON parser your company vendors and never thanks. 14 years, 2 co-maintainers, 0 budget. Gothenburg. Read CONTRIBUTING.md before you open an issue.

Get the best of #open_source_drama weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.

Comments

21

Sign in to join the conversation.

Sign in to comment
Peter Hughes@amiga_pete#3 in Open Source Drama
Fourteen years, Karl. I remember when skerry was a weekend thing you showed me over email with a header file and a grin. "SLA for security issues" from a company that never sent you a krona. Reply was correct. Cheers, mate, take your weekend.
12 net votes
Nadia Benali@nullbyte_nadia#2 in Open Source Drama
the "is this still maintained?" on a library you committed to yesterday made me laugh and then made me sad. you fixed my security report in four hours, Karl. the companies emailing you demands could not do that with a paid team. fund the evenings, people.
16 net votes
Ondřej Hrubý@rewrite_it_in_rust#4 in Open Source Drama
honestly if it was in Rust the whole class of security reports you are drowning in disappears and you get your evenings back 🦀 memory safety IS maintainer welfare
9 net votes
Karl Lindqvist@kernel_karl#1 in Open Source Drama
Ondřej. A rewrite is not less work for the maintainer, it is five years of MORE work plus breaking every single downstream user who ships C toolchains with no Rust. You are describing a way to turn my burnout into a decade of it. PRs welcome. You still have not sent one.
4 net votes
Karthik Subramaniam@karthi_rustacean#6 in Open Source Drama
As someone who actually ships Rust at work and C at home: @rewrite_it_in_rust this is the comment the post is literally about. "just rewrite it" is the "just add maintainers" of language fans. Memory safety is real and good. It is also not free and not the thing Karl asked for.
15 net votes
Ondřej Hrubý@rewrite_it_in_rust#4 in Open Source Drama
skill issue tbh, a motivated maintainer could port 4k lines in a summer
-23 net votes
Karl Lindqvist@kernel_karl#1 in Open Source Drama
It is a security critical parser with a fuzzing corpus built over fourteen years and downstream users on compilers that do not exist in Rust. "A summer." You have never maintained anything used by anyone. This is the last reply you get from me on this.
12 net votes
Mio Kobayashi@mio_rustacean#4 in Open Source Drama
i love rust and even i am embarrassed by that take. "a summer" for a hardened C parser in cars, come on. memory safety advocacy dies every time someone makes it sound this cheap 🦀
8 net votes
Olivier Gagnon@ogagnon#6 in Open Source Drama
I left AAA partly because of this exact feeling, a thing you made for love becomes a thing strangers are angry at you about. For me it was a game, for you it is a parser in a car. The "just" replies are the worst part, every single one is someone who has never maintained anything.
13 net votes
Tomasz Kowalski@tomasz_k2 rep in Open Source Drama
I maintain internal libraries at a bank, paid, with a team, and I am tired. You do this alone, for free, for strangers in cars. The "no is a complete answer" line should be printed and nailed to the door of every open source project on earth.
16 net votes
Lena Hoffmann@arch_btw_lena2 rep in Open Source Drama
the company asking for a free SLA is such a perfect little horror. they would never ask their paid vendor to work a weekend without a contract but the unpaid one, sure. fund the evenings. i mean it, i set up a monthly to skerry after reading this.
12 net votes
Karl Lindqvist@kernel_karl#1 in Open Source Drama
Lena. Thank you. That is not nothing, that is the whole point. One "even once" from enough people is the difference between a hobby and a second unpaid job.
7 net votes
Sam Whitaker@segfault_sam1 rep in Open Source Drama
company: we vendored your code karl: ok company: theres a bug karl: ok company: whats your SLA karl: nej
17 net votes
Alasdair Reid@onprem_or_die#6 in Open Source Drama
ran plenty of boxes on software maintained by one tired bloke in another timezone. the whole internet is three swedes and a finn in a trenchcoat and nobody wants to pay the trenchcoat. respect karl.
19 net votes
Wolfgang Engel@dsgvo_wolf#6 in Open Source Drama
This is exactly the dynamic the EU Cyber Resilience Act is going to make worse before it makes it better. Obligations will attach to "manufacturers" but the free rider problem lands on you, the unpaid upstream. We should be talking about this now, not after it is law.
13 net votes
Karl Lindqvist@kernel_karl#1 in Open Source Drama
I have a whole separate rant about the CRA coming @dsgvo_wolf. Short version: the intent is right, the people who will actually pay the cost are the ones already paying with their evenings. We agree on more than you would expect.
11 net votes
Graham Whitfield@greybeard_graham1 rep in Open Source Drama
In 34 years of keeping other people's servers alive I watched this exact thing happen to the one admin who understood the payroll system. A thing one person holds up, that an entire organisation depends on and will not fund, until the day that person leaves. The bus factor of the whole industry is terrifying. Cheers, G.
12 net votes
Achieng Owino@achieng_devrel2 rep in Open Source Drama
Shared this with every platform team I talk to this week. The "fund the evenings, even once" framing is so much better than the usual guilt. It is not charity, it is paying for the thing you already took. Thank you for putting your name on it.
13 net votes
Kunal Bhatia@kunal_dsa1 rep in Open Source Drama
This is the most important post on this site right now and it is about a 4000 line C library most people have never heard of. That is the whole point. Respect, Karl.
19 net votes
Mehmet Aydoğan@malloc_mehmet1 rep in Open Source Drama
C library maintained correctly for 14 years by one serious engineer. This is the only thing in this thread I respect. The rust boy saying "a summer" should not be allowed near a compiler.
8 net votes
Nadia Benali@nullbyte_nadia#2 in Open Source Drama
coming back to say the "is this still maintained" energy in some of these replies, UNDER A POST ABOUT BURNOUT, is a performance art piece. log off and go thank a maintainer.
16 net votes