Open Source Must Be Fun (Or It Will Die)

Open Source Must Be Fun (Or It Will Die)

开源项目必须是有趣的(否则它终将消亡)

26 July 2026 2026年7月26日

I was on a call with a bunch of people involved in other prominent open source projects a few weeks ago. The organiser jokingly asked us to raise our hands if the previous six months had been better than what came before. I raised my hand. No one else did. Why? 几周前,我与一群参与其他知名开源项目的人进行了一次通话。组织者开玩笑地问我们,如果过去六个月比之前过得更好,就请举手。我举起了手。其他人都没有举手。为什么?

I’ve maintained Homebrew, the package manager for everywhere, for nearly 17 years. I’ve worked on it the vast majority of weeks in that time and I’ve never burned out. I’m having more fun than ever. 我维护 Homebrew(那个无处不在的包管理器)已经快 17 年了。在这段时间里,绝大多数周我都在为此工作,但我从未感到精疲力竭。我比以往任何时候都感到更有趣。

The current narrative around open source is depressing. Apparently it’s “dying”. AI drive-by issues, pull requests and security reports are overwhelming maintainers. Rising security expectations (thanks Mythos) require maintainers to do even more work. Open source funding is hard to secure and insufficient. Some of this is happening, but I’m sure as hell not seeing it in Homebrew. Another Homebrew maintainer told me: I’m having more fun than ever before. 💎 目前围绕开源的叙事令人沮丧。显然,它正在“消亡”。AI 自动生成的各种问题、拉取请求(PR)和安全报告让维护者们不堪重负。日益增长的安全期望(感谢 Mythos)要求维护者做更多的工作。开源资金难以获得且杯水车薪。其中一些情况确实存在,但我敢肯定在 Homebrew 中并没有看到这些。另一位 Homebrew 维护者告诉我:我比以往任何时候都玩得更开心。💎

The Scarcest Resource

最稀缺的资源

As I’ve written before, the scarcest resource in open source is not money but the motivation of the maintainers. Sending Homebrew $1000 today doesn’t magically create any more maintainer time (but please donate if you can afford it to fund Homebrew’s infrastructure, stipends, grants and meetups). 正如我之前写过的,开源中最稀缺的资源不是金钱,而是维护者的动力。今天给 Homebrew 发送 1000 美元并不能神奇地创造出更多的维护时间(但如果您负担得起,请捐款以资助 Homebrew 的基础设施、津贴、补助金和聚会)。

We all have jobs that aren’t maintaining Homebrew. We receive small amounts of money ($300/month) if we’re actively maintaining Homebrew. This is not a “market hourly rate”. Many children delivering newspapers get a higher hourly rate. There is a threshold effect: funding only creates more time if it lets a maintainer reduce their paid hours or quit their job. Work no maintainer wants to do is a good candidate for a paid contract. If you can’t fund it: don’t do it. 我们都有除了维护 Homebrew 之外的工作。如果我们积极维护 Homebrew,我们会收到少量的钱(每月 300 美元)。这不是“市场时薪”。许多送报纸的孩子时薪都比这高。这里有一个门槛效应:只有当资金能让维护者减少工作时间或辞职时,它才能创造更多时间。维护者不想做的工作是付费合同的理想选择。如果你无法资助它,那就别做。

Why do any of it then? Fun. Not everything is fun all of the time, but it needs to be “utilitarian net fun”: more fun than not, overall. This is primarily about volunteer-run open source, but that’s most of it. If you have a paid open source job and hate it: you should quit that too. 那为什么还要做这些呢?为了乐趣。并非所有事情时刻都有趣,但它需要是“功利性的净乐趣”:总体而言,乐趣多于痛苦。这主要针对志愿者运营的开源项目,但这占据了绝大多数。如果你有一份付费的开源工作却讨厌它,你也应该辞职。

It’s a Sunday afternoon. I took the kids most of yesterday so I have a bit of “me” time today. I’ve spent a bunch of that time on Homebrew. Not because I “had” to; nothing urgent is coming in. Not because of the “supply chain”. Not because of the money. Because I wanted to. Because it was fun. 🥳 现在是周日下午。昨天大部分时间我都在带孩子,所以今天我有一点“属于自己”的时间。我把其中很多时间花在了 Homebrew 上。不是因为我“必须”这样做;没有什么紧急的事情。不是因为“供应链”。也不是因为钱。因为我想做。因为这很有趣。🥳

Fun Is Social

乐趣是社交性的

My first real experience of OSS was with a successful, established project whose culture I could observe. It was KDE, the community behind a desktop environment for Linux. In 2009, I attended Akademy (the KDE contributor conference) and GUADEC (the GNOME contributor conference), which were co-located in the Canary Islands. 我第一次真正的开源(OSS)体验是一个成功且成熟的项目,我可以观察其文化。那是 KDE,Linux 桌面环境背后的社区。2009 年,我参加了在加那利群岛同时举办的 Akademy(KDE 贡献者大会)和 GUADEC(GNOME 贡献者大会)。

Firstly, this was weird because, if you read the discourse online, you were typically in the camp of “KDE SUCKS, GNOME ROCKS” or “GNOME SUCKS, KDE ROCKS”. And yet: you had both groups working together. Not just working together but eating, drinking, socialising and building new friendships. 首先,这很奇怪,因为如果你阅读网上的讨论,你通常会处于“KDE 很烂,GNOME 很棒”或“GNOME 很烂,KDE 很棒”的阵营中。然而:这两个群体却在一起工作。不仅是一起工作,还一起吃饭、喝酒、社交并建立新的友谊。

Secondly, I could tell that, for many in the KDE camp, these were their people and this was the highlight of their year. They came back re-energised and motivated to work on KDE. Most people weren’t being paid to fix, maintain or write KDE’s code. They didn’t seem to be doing it for their users either. They did it because they were having fun, both individually writing the code and helping their friends build something they cared about. 其次,我看得出来,对于许多 KDE 阵营的人来说,这些人就是他们的同伴,这是他们一年中的高光时刻。他们回来时重新充满了活力,并有动力继续为 KDE 工作。大多数人并没有因为修复、维护或编写 KDE 代码而获得报酬。他们似乎也不是为了用户而做。他们这样做是因为他们感到快乐,无论是个人编写代码,还是帮助朋友构建他们关心的东西。

For the last few years, Homebrew maintainers have met annually at the “Homebrew AGM” co-located with FOSDEM in Brussels. We meet, eat, drink, socialise and make plans for Homebrew. Afterwards, we come back re-energised. Since we started doing this, I’ve also seen people doing more for other maintainers than directly for users. Open source transcends national boundaries: most of us don’t care what country another maintainer is from or what nationality they are, only that we’re friends building something we find fun together. These relationships matter because, without the maintainers, the project is dead. 🍺 过去几年里,Homebrew 维护者每年都会在布鲁塞尔与 FOSDEM 同时举行的“Homebrew 年度大会”上见面。我们见面、吃饭、喝酒、社交并为 Homebrew 制定计划。之后,我们带着新的活力回来。自从我们开始这样做以来,我也看到人们为其他维护者所做的事情比直接为用户所做的更多。开源超越了国界:我们大多数人并不关心另一位维护者来自哪个国家或是什么国籍,只关心我们是朋友,一起构建我们觉得有趣的东西。这些关系很重要,因为没有维护者,项目就死了。🍺

Keeping Homebrew Fun

保持 Homebrew 的乐趣

This is why I’ve always been keen for Homebrew to be a fun project. Dealing with entitled behaviour is not fun. Setting SLAs is not fun. Maintaining indefinite backwards compatibility is not fun. Homebrew has been successful because fun, automation, community and putting maintainers first have been priorities from early on. 这就是为什么我一直热衷于让 Homebrew 成为一个有趣的项目。处理理所当然的索取行为并不有趣。设定服务等级协议(SLA)并不有趣。维护无限期的向后兼容性并不有趣。Homebrew 之所以成功,是因为乐趣、自动化、社区以及将维护者放在首位,这些从早期开始就是我们的优先事项。

Concretely, we automated review comments so robots are the pedants and humans can focus on empathy. Our guardrails include CI, linting, typing and tests to catch routine mistakes before a maintainer has to point them out. Feature flags and staged rollouts let us experiment without breaking things for everyone. This means maintainers spend less time on repetitive corrections and more on work they find interesting. 具体来说,我们将审查评论自动化,这样机器人可以负责吹毛求疵,而人类可以专注于共情。我们的护栏包括 CI、代码检查(linting)、类型检查和测试,以便在维护者指出之前捕捉到常规错误。功能标志和分阶段发布让我们可以在不破坏所有人体验的情况下进行实验。这意味着维护者花在重复性修正上的时间更少,而花在他们感兴趣的工作上的时间更多。

AI is good at boring work like writing CI workflows, linters and documentation. These practices help both AI and human contributors. Maintainers can use or avoid AI, whichever better preserves their motivation. If your eyes glaze over while reading low-effort AI-generated content: close it without comment or justification and block repeat offenders who do not learn or improve. AI 擅长处理枯燥的工作,比如编写 CI 工作流、代码检查工具和文档。这些做法对 AI 和人类贡献者都有帮助。维护者可以使用或避开 AI,哪种方式更能保持他们的动力就选哪种。如果你在阅读低质量的 AI 生成内容时感到厌烦:直接关闭它,无需评论或解释,并屏蔽那些不学习、不改进的惯犯。

At Homebrew, our pull request templates ask contributors to disclose AI usage and CI jobs automatically close pull requests with incomplete templates. Issues or PRs opened through the API without our templates often suggest AI usage with insufficient human involvement. 🛑 在 Homebrew,我们的拉取请求模板要求贡献者披露 AI 的使用情况,CI 任务会自动关闭模板填写不完整的拉取请求。通过 API 打开且未使用我们模板的问题或 PR,通常意味着 AI 的使用缺乏足够的人类参与。🛑

Stop, Pay or Quit

停止、付费或退出

Homebrew is thriving, not dying. It has 28 active maintainers. Of the 29 maintainers it had a year ago, 26 remain. Under our governance rules, we remove maintainers after they miss an activity threshold for two consecutive quarters. If your project is dying, maybe it’s because it’s not fun any more. You should quit. You don’t owe anyone anything. Homebrew maintainers are encouraged to leave without guilt or explanation. Homebrew 正在蓬勃发展,而不是消亡。它有 28 名活跃的维护者。在一年前的 29 名维护者中,有 26 名留了下来。根据我们的治理规则,如果维护者连续两个季度未达到活动门槛,我们就会将其移除。如果你的项目正在消亡,也许是因为它不再有趣了。你应该退出。你不欠任何人任何东西。我们鼓励 Homebrew 的维护者在没有负罪感或无需解释的情况下离开。