On Volunteer Fire Departments - Part 3: "Find the Meaning of VFD" (Apache PLC4X)

The Solipsis Project · February 1, 2023

(This post was originally written in January 2022. It might seem a bit dated now, but just wait until the next time Open Source Discourse rears its ugly head; it will seem prescient then.)

January 2022 was a firestorm of high-profile pronouncements by open-source devs painting a grim future for the ecosystem. First, in part one of this trilogy, Volkan Yazici spoke out about the stressful working conditions and rough treatment of the log4j developers as they patched a critical 0-day. Then in part two, Marak Squires defaced several repositories that he controlled in order to make a statement.

But the most heartbreaking story happened a couple of days after, when Christofer Dutz, the creator of Apache PLC4X, announced that he would no longer provide free community support for the tool, and that unless he finds a new source of funding, he’ll be shutting down his business entirely.

He makes it clear that this was not a decision made hastily or enthusiastically. Although the discourse surrounding the open source ecosystem was filled with talk of exploitation, Dutz carefully avoids using such language, even as he expresses frustration with enterprise users who expected free support. He’s not out to punish anyone; he’s merely acknowledging that there is no practical path forward without adjusting either his funding or his community contributions.

Like Yazici, he’s burned out by personal sacrifices that mostly served to enrich enterprises that benefit massively from open-source projects without giving back to it. Like Merek, he’s exercising his right to no longer participate in a system that no longer respects him.

I don’t have much to say about his decision. Dutz is right; he’s not a slave to the open source community. There’s no clause in the Apache 2.0 license that obligates him to lend his services to anyone, nor should there be. He made it clear in his post that the PLC4X project is bigger than him, and that even if he stops offering support or contributing to it at all, the project and the community will continue to exist.

He makes a compelling case that, at least for him, the status quo is not sustainable. He’s not the only one to come to that conclusion, but his own documented experience lends a credence to it, moreso than anything else that came out of the month-long discourse.

I find the unique crowd-funding approach he talks about in his post intriguing, and hope it bears fruit and can pave the way forward for more projects. If the open source needs to reconsider how its gets funding, maybe this will be it. Or maybe it won’t. Overall, crowdfunding seems to be a mixed bag: it’s sustainable only for a lucky few. And if more open-source projects move to a crowdfunding model, then they’ll all be competing with each other for the same slice of disposable income and grant money: even if it works for Dutz, it could turn out to not scale. But only time will tell for certain.

I hope that his ultimatum serves as a warning and that he gets the funding he needs. But if he does, I think we also need to remind ourselves that this is not a solution, because it never should have gotten to this point. “Walking out if the big companies don’t pony up” isn’t a solution, it’s the regrettable reality of a world where critical public resources are left unfunded. It reminds me of the “feel-good” stories about workers donating their sick days so that a coworker can take time off for surgery, or a kid running a bake sale to pay off classmate’s lunch debts. Solving a crisis for one person is a miniscule comfort if we don’t deal with the systems that allowed such crises to happen in the first place.

To be 100%, explicitly clear: this is not a knock against Dutz. It sounds like he sincerely cares about his projects and his community, and now he’s at his wits’ end. Dutz’s testimony underscores the importance of supporting devs, specifically because of the community harms that can come to pass when they feel like they can’t contribute anymore.

My point is to caution against viewing this as a walkout or an otherwise noble act. It’s an outcome that sucks for everyone because we don’t have the systems in place to properly support developers.

So how do we fix it? How do we keep open source projects funded and stop developers from burning out? I don’t think this problem is going away until we have governments that treat open source as public infrastructure and are willing to fund it via grants, etc. I’ll never stop wondering how much good-for-society-but-not-easily-monetizable work is being locked up by a system that keeps people in a perpetual state of economic insecurity.

But big sweeping changes to economic incentives won’t happen overnight, and aren’t easily actionable. So what do we do until then? What’s the lesson from this whole mess?

I’d say it’s three things. Three pieces of advice.

  1. Take care of yourself. You’re not helping anyone if you burn out or if you burn through your savings attempting to live an open-source bohemian lifestyle. Open-source code often comes with no liability, and you shouldn’t feel like you owe anything to your users.

  2. That said, consider what communities you care about, and the effect your actions have on those communities. Who gets helped? Who gets hurt? In a world where everyone is competing for limited resources, how does your decisions influence who gets a bigger slice of the pie?

  3. For the love of God, think carefully about what license is best for your code. Understand that your code will be used by people who do not share your values, who will likely find ways to use your code in ways you could not anticipate and could not condone. If you’re not comfortable with people profiting from your code without contributing in return, don’t choose a license that will let them do that.

These lessons aren’t much, but they’ll have to do.

Mastodon