Open source without the romance: money, politics, burnout — and the growth that still happens

Elena Varga

Elena Varga

September 18, 2026

Open source without the romance: money, politics, burnout — and the growth that still happens

I maintain a small library that other people’s CI depends on, and I have been the person who opened an issue at 11 p.m. with “any update?” on a project I do not fund. I have also watched companies build a product on an unpaid weekend and then act surprised when the maintainer went quiet. Open source still grows. The romance — a global gift economy that will love you back — is the part I would retire. Money, politics, and issue trackers are the job. Code is the easy hour.

This is the version I would tell a junior who wants to “give back” and a company that wants to “be part of the community” without putting a number on it.

Where the hours actually go

I do not burn out on a clever algorithm. I burn out on the 40th “is this project dead?” after I shipped a release, on the CVE that is a dependency of a dependency, on the user who wants a feature that is their product, and on the coworker who said we should open-source the internal tool and then assigned me the GitHub as a side quest. The issue tracker is a product surface. It does not have a PM. You are the PM, the support lead, and the release engineer. That is the job people hide behind a license file.

Politics is not a slur. It is whose issue gets a reply, which company gets a private slack, whether you accept a PR that is a drive-by style rewrite, whether you add a CoC and then have to enforce it. I have accepted a bad PR because I was tired. I have rejected a good PR because I could not own the maintenance. Both decisions made someone angry. Both were work.

Person at a laptop with a coffee in a quiet evening apartment

Money, without pretending Tidelift solved it

GitHub Sponsors, Open Collective, Tidelift, a support contract, a hosted product around the tool — I have seen all of them work for someone and fail for someone. Sponsors paid for dinner. They did not pay for a year of on-call on a parser. A support contract from one company that needed a feature paid for a month of focus. It also created a customer who thought they had bought the roadmap.

The honest company move is: pay for time (a retainer, a feature bounty with a maintainer who wants it, hiring the person). The dishonest move is a sticker and a tweet. I have been on the receiving end of the sticker. I smiled. I did not extend the support window.

Dual license and “open core” are politics with a price list. I do not moralize if the maintainer can eat. I do care when the README still says community and the useful path is behind a sales call. Say it. People can decide. The bait-and-switch is what burns trust, not the invoice.

Employer-sponsored maintainership is the growth that still happens and that I respect: a company pays you to work on the thing they use, in public. The risk is the company owns your attention and the community gets the leftovers. Write down the hours. If the company leaves, the project should not be a hostage. That is easier to say than to structure. I still prefer it to unpaid nights.

Burnout is usually issues plus money, not “too much C++”

I have quit a repo because the issues were a second job and the day job already was one. I did not quit because the code was hard. I quit because every release produced a week of “why did you change the default.” Defaults are political. Changing a default is a product decision. I now treat major versions as the only place I will take that fight, and I write the migration note like I would write an incident.

The “community” that extracts is not a community. It is a queue. A community is the three people who review, who triage, who tell a rude user to read the template. If you do not have those three, you have users. Users are fine. Do not confuse them with a team. I would rather have ten polite users and one co-maintainer than 10,000 stars and a lonely inbox.

Taking a break is a release. I have archived a project. I have transferred one. I have written “I will not look at this in December.” The romance says you fail the commons. The adult version says you model a boundary so the next person can too.

GitHub-style issue list on a monitor in a dark room

The growth that still happens

Small tools that do one job still find users. I have seen a 200-star CLI become a default in a niche because it was boring and correct. That is growth. It does not look like a Series A. It looks like a Debian package and a man page.

Companies still hire out of issue threads. I have been asked for a resume because I was rude-but-useful on a tracker. Public work still changes who calls you — I mean the work, not the LinkedIn thread. A good issue, a good PR, a design note. That is a toolchain people can see. Stars are a vanity metric. A maintained changelog is a hiring artifact.

Foundations and working groups still move the needle when the problem is a protocol, not a personality. I am glad they exist. I do not volunteer for every one. I pick the one that matches a thing I already run in production.

AI did not kill maintainership. It increased the volume of PRs that look right and miss the invariant. I spend more time saying no to generated drive-bys. That is a new tax. I now require a test and a sentence about the failure mode. If the bot cannot produce the sentence, the human who clicked merge cannot either.

What I do now, as a maintainer and as a user

As a maintainer: a template, a bot that closes “any update?”, a SECURITY.md, a narrow scope in the README, a paid path if someone wants a guarantee. I do not apologize for the paid path. I apologize when I implied the unpaid path was a SLA.

As a user: I read the license, I pin versions, I budget a fork if I depend on it for money, I file issues that are kind and complete, I pay when I can and when they ask. I do not open “are you dead?” I open “here is a failing test.” I do not demand a roadmap. I do not treat stars as a vendor evaluation.

As a company: I will not let a critical path sit on a one-person weekend without a contract or a hire. I will not announce “we love open source” in a keynote if the budget line is zero. I will let people maintain on the clock. That is the version of “giving back” that is not a poster. If we cannot do that, we should sponsor or we should choose a vendor and stop calling it a commons.

Licenses, CLA theater, and the PR I will not merge

I have lost days to a CLA that existed so a company could relicense later. I will sign a DCO if it is a checkbox. I will not chase a PDF for a typo fix. If your project needs a CLA for a one-line docs change, you have made contributing a legal hobby. Say so up front. I have walked away from that hobby.

I will not merge a PR that expands the surface “while we’re here.” Scope is how I stay alive. A drive-by that adds a second output format is a second product. I say no, kindly, and I point at the issue template for proposals. People call that unwelcoming. I call it how the first product still exists.

Copyleft versus permissive is a real choice. I pick permissive for libraries I want inside companies. I pick copyleft when I do not want a closed fork to become the product without giving back. I do not pick a license to win an argument on a forum. I pick it so a future me can explain the deal in one sentence.

The sentence I wish I had heard earlier

Open source is a distribution model and a collaboration style. It is not a family. It is not a career plan by itself. It can be part of a career, part of a product, part of a gift you can afford. Growth still happens — in the boring tools, in the paid maintainers, in the companies that hire the person who was already doing the work. Romance is what you tell a conference. Money, politics, and the issue queue are what you tell a friend who is about to add a badge to their README. I still add the badge. I add the boundary first. If that makes the README less inspiring, good. Inspired people who cannot leave are how trackers become graves.

More articles for you