The xz-utils backdoor situation brought the problem of FLOSS maintained burnout into the daylight. This in turn lead to numerous discussion on how to solve the problem, and the recurring theme was funding maintenance work.
While I’m definitely not opposed to giving people money for their FLOSS work, if you think that throwing some bucks will actually solve the problem, and especially if you think that you can just throw them once and then forget, I have bad news for you: it won’t. Surely, money is a big part of the problem, but it’s not the only reason people are getting burned out. It’s a systemic problem, and it’s in need of systemic solution, and that’s involves a lot of hard work undo everything that’s happened in the last, say, 20 years.
But let’s start at the beginning and ask the important question: why do people make free software?
Why make FLOSS?
Well, I can’t speak for everyone, but I can tell you something about people like me. We didn’t get into FLOSS because we expected to monetize our work. We didn’t publish it because we expected to get some well-paid job, even if we believed it might help. We’ve been doing FLOSS because we actually enjoyed doing it.
Perhaps we just had a creative spark that needed to find an outlet. Or perhaps we found out that we have a talent for it, and we wanted to use it to make the world a little better for others. Or maybe we just needed a tool, and we figured out: why not share it?
Of course, that might have been a while ago. Perhaps we were students with lots of free time. Or perhaps we had a good job. Perhaps we were young, healthy, fascinated by technology, and relatively free. And we enjoyed the community.
So what changed?
Job-related burnout
In my opinion, the biggest source of burnout is actually our dayjobs. I’m not saying all dayjobs are bad (and I’m really grateful for mine), but a lot of IT jobs have been becoming substantially worse over the years.
It may be hard to find time and energy to work on FLOSS while working a full-time job. It is even harder if that full-time job also involves sitting in front of a monitor. But it’s especially bad if your job is also turning to shit in every possible way: maybe you’re being overworked, or people around you are toxic, or perhaps you’re employer is becoming increasingly evil, or maybe you just have a depressing bullshit job. Some people actually can cope with that, and find FLOSS a joyful counterbalance. Others burn out.
Can money solve this? Perhaps. But can you give people enough money to survive, so they could quit their job? And can you guarantee that you won’t cut it in a few years, and they’ll suddenly find out that they are without source of income and suddenly need to find a good job?
And perhaps even more importantly, can you actually manage to do that without effectively turning their FLOSS experience into another bad job? Because even if you promise you don’t expect them to work on the project full-time, even if you promise you don’t expect any specific results, it will still feel like an obligation. And that may take away all the fun.
Of course, some donations can help. Especially if they are “unmarked” donations that are clearly tokens of appreciation for all the job a person has done. Perhaps they will suffice for someone to reduce their work hours (provided their employer actually allows that) and have more energy for FLOSS.
Unfortunately, dayjobs aren’t the only problem people are facing.
FLOSS-related burnout
Software projects don’t exist in a void. They create communities around them. And these communities form a part of a bigger community. Many of us enjoy FLOSS not only because of what we can create, but also because we become part of a big community of people who love FLOSS. Or at least that’s how I used to feel.
Obviously, things weren’t always perfect. Every community accumulates some people with strong opinions, and things could get quite toxic at times. Still, from retrospective you realize that in the end you all shared a common goal: you wanted to make the world a better place. Surely, you may have vehemently disagreed on how to get there, but you could generally assume you both had a constructive goal.
Nowadays, I’m not so sure anymore. Perhaps it’s just negative experiences accumulating, but I feel that the community is progressively becoming worse. On one hand, a number of corporations have figured out that they can treat the FLOSS community as a source of free labor. On the other, more and more people are joining with the intent to monetize, to sell, or to benefit in some other way. People are copying the worst corporate malpractices, or perhaps cosplaying entrepreneurs.
The FLOSS world is a world of interdependence, and if you can’t trust that others share roughly the same values as you do, how can you not burn out?
Intermission: a personal story
Perhaps Linux distribution developers are particularly affected by that, because we are effectively dependent on pretty much every other software project out there that our users may wish to use.
I have felt it pretty badly when Cryptography started requiring Rust; Rust went against so many principles I believed in. It felt like saying: “Hey, have you seen this new cool language? Well, it effectively forces us to vendor hundreds of pinned dependencies, building takes forever and, oh, we declare a quarter of the architectures you supported dead; but hey, it’s open source, you can port Rust to them!”
Of course that sucked, and it still sucks. It’s as if a professional wrestler hit you repeatedly, and then told you that you just to have to work out some more. In your free time, obviously. When you’re not busy doing your dayjob or being hit. Oh, and the gym is moving elsewhere every month, and you have to start over.
So yes, nowadays I’m spending significant time dealing with the fallout from projects embracing Rust. Or perhaps just random pure Python packages deciding that it would be an awesome idea to embrace uv-build, and require Rust to build pure Python packages to shave a few milliseconds of wheel build time. That surely doesn’t contribute to me burning out.
And nowadays there’s the AI bubble. Unsurprisingly, a lot of people are enjoying being able to tell a machine to spew a lot of slop for them and then publish it. So I file bug reports about the broken code their plagiarism machine generated, and they answer me with more slop. And I do wonder: why am I even bothering? And I feel depressed, and burned out.
The sense of responsibility
In the end, when you create something, you are responsible for it.
Perhaps not all people feel that way. Perhaps some are perfectly happy to finish a project quickly, and sell it before the technical debt surfaces. Others just love to point out that if you don’t like something, you can always fork it. Because you obviously have lots of free time and energy to maintain other people’s projects while they’re busy spitting on you.
The problem is, responsibility turns a hobby project into a part-time job. Perhaps it’s just that the thrill of creating something new is replaced by the dullness of duty. Perhaps it turns out that the library you just made a huge API change that requires major rewrite of your logic. Perhaps the task turned out more complex than you imagined, and what worked for you brought a lot of user problems. Maybe the whole design was wrong (but if that’s the case, then you may need to rewrite it, and you’ll feel the thrill for a while again, followed by the pain of having to restore feature parity). Or perhaps you just have that one user who’s a real asshole capable of making you regret opening your inbox.
Of course, that doesn’t always happen. Sometimes you keep enjoying working on something. Something a great community builds up around your project. Sometimes you find co-maintainers who you enjoy working with. And sometimes, you eventually stop feeling the weigh of responsibility: because you know you have other people you can trust, and eventually you can leave the project in their hands.
However, this is one more burnout source that money can’t always fix. In fact, it can make it worse: by confirming that your project is a part-time job now and cementing the sense of responsibility. It can help a lot if you can still enjoy working on the project, but just pouring money and making demands will only make things worse.
Epilogue: the spiral
Burnout is a serious problem in FLOSS. What used to be your hobby now becomes a painful responsibility. Your dayjob may be sucking the life of you, and your users may be giving you another part-time job. However, the real problem is that it’s spiraling.
Toxicity leads to burnout. Burnout leads to more toxicity. People don’t want to interact with one another. The community fractures. A new dynamic emerges: people no longer want to work together to create better software; they just want to get their job done. They don’t file bugs, they fork. They don’t address bugs, they tell you to fork. They start using LLMs because they don’t want to maintain their code anymore. Software turns into slop, which burns out even more people.
It’s a cancer that’s consuming the FLOSS community I love so much. And the hardest part is that resisting takes so much effort. You end spending all your energy keeping things from falling apart completely, you can’t really dedicate it to things you enjoy. And again, you burn out.
What can we do? I don’t know. I really don’t know, and it frustrates me to no end. If we just accept this as the “new normal”, maybe we’ll learn to cope and suffer less. Or maybe the dam will break and we will drown. That’s not a risk I’m willing to take right now, but I don’t know how long I’m going to be able to hold.