你每天打开电脑,用 VS Code 写代码,跑在 Linux 服务器上,前端框架选 React,后端跑 Node.js。这些工具支撑了全球互联网的半壁江山——而且全是免费的。

免费,多好的词。

但你可能不知道一个细节:维护 Log4j(Java 生态里用得最广的日志库)的核心贡献者,只有两个人。其中一位,是用业余时间无偿维护的。

2021 年 12 月,Log4j 爆出了一个史诗级漏洞(CVE-2021-44228)。半个互联网在颤抖——苹果、亚马逊、微软、Steam,全部中招。那几天安全圈的人不睡觉地修补,而 Log4j 的维护者也在拼命发补丁。

后来有人问他们为什么没早点发现这个问题。答案很简单:太累了,忙不过来。

一个被全球数十万企业依赖的关键基础设施,由两个”用爱发电”的人在扛。这不是段子,这是现实。

你以为的开源 vs 真实的开源

大多数人对开源的认知停留在:”免费、好用、还有一堆大佬维护”。

真相是:绝大多数开源项目的”免费”,是建立在一小群人无偿劳动之上的。这些人没有工资(至少不是因为这个项目拿工资),没有KPI,没有年终奖。他们靠的是热情——而热情是会耗尽的。

当这些人累了、穷了、或者干脆不干了,你依赖的整个技术栈可能在一夜之间塌掉。

这不是”可能发生”的事,这是”正在发生”的事。

一组让人窒息的数据

开源经济的荒诞对比

GitHub 的统计数据显示:全球 97% 的商业软件都依赖开源组件。

听起来开源很成功对吧?但翻到硬币另一面:给开源项目付费的企业,不到 3%。

更荒诞的场景天天在上演:一个 npm 包,被两万家企业用在生产环境里跑着。打开这个包维护者的 GitHub Sponsors 页面——月收入 200 美元。

两万家企业靠这个包省了几百万的开发成本,但没人愿意掏几百块钱支持一下维护者。

经济学教科书里有个经典概念叫”公地悲剧”——所有人都在公共草地上放牧,没人愿意花钱养护草地,最终草地退化、所有人遭殃。

开源软件就是互联网时代的公地。而这片草地,已经开始秃了。

免费公路上的裂缝

开源等于免费公路

打个比方你就明白了。

开源软件就像一条免费公路:谁都能开车走,不收过路费。但公路得有人修、有人除雪、有人补坑吧?如果没有”政府”(大公司)出钱养护,公路迟早会烂得没法走。

Linux 算是运气好的——红帽、谷歌、微软这些巨头往里砸了大量资源。Linux 的”公路”是双向八车道,有专人 24 小时巡检。

但大量中小型开源项目呢?它们就像乡间小路:所有人都在上面跑得飞快,但没人注意到路面已经开始开裂。那个跑着你整个支付系统的加密库?维护者是个德国小镇的研究生,靠读博津贴过活,每周只能抽出两个晚上看 Issue。

你的月交易流水几千万,他的月收入可能不够在上海租个单间。

这画面想想就魔幻——就好像全国人民天天走的高速公路,养护工是个兼职大学生,工资来源是路边的打赏箱。

直到某天一辆卡车陷进坑里(漏洞爆发),所有人才慌了。但慌完之后呢?骂一顿维护者”为什么不早点修”,然后继续免费用。

这就是开源生态现在的困境。使用者认为”路本来就该是好的”,维护者觉得”我凭什么免费修路一辈子”。双方都没错,但路在继续烂。

更讽刺的是:有些大公司靠开源省下了数亿的研发成本,转身在年报里写”我们高度重视技术创新”。创新?那是别人家维护者凌晨三点写的代码,你连句谢谢都没说过。

所以怎么办?别光喊口号

支持开源:丰俭由人

说到这你可能觉得:”道理我都懂,但我一个打工人能干嘛?”

还真能干点事。分三档,丰俭由人:

青铜操作(0 成本):

现在打开 GitHub,给你最常用的 3 个开源项目点个 Star。别小看这个动作——Star 数是维护者坚持下去的心理燃料。你花 3 秒钟,他多了一个”有人在用”的信号。另外,下次遇到 bug 别上来就骂”什么垃圾项目”,先看看人家 Issue 列表里积了多少没人帮忙处理的问题。

白银操作(一杯奶茶/月):

如果项目有 GitHub Sponsors,每月赞助 5 美元。对你来说是一杯瑞幸的钱,对维护者来说意味着:”有个活人真的觉得我做的东西有价值。”你可能不信——很多维护者说过,第一个 Sponsor 比第一万个 Star 更让人激动。

王者操作(给技术 Leader 和企业决策者):

技术选型时多看一个维度:项目的”健康度”。贡献者数量、提交频率、是否有企业赞助、核心维护者是否全职——这些比 Star 数重要十倍。依赖一个不健康的开源项目,等于在流沙上盖写字楼。

企业层面:把”开源赞助”列进年度技术预算。算笔账——你每年花 100 万买商业软件授权,拿出 1%(一万块)赞助核心开源依赖。这一万块可能养活了一个关键库维护者半个月。而如果这个库出了事,你花 100 万请外包团队来修,速度还不如人家半夜爬起来快。

最后说回 Log4j

那两个维护者最终修好了漏洞。但他们在事后接受采访时说了一句话:

“下次可能不会这么幸运了。”

你我每天都站在开源的肩膀上写代码、做产品、赚钱。但这双肩膀正在越来越酸。

两个选择:要么我们一起分担点重量,要么等肩膀塌了再后悔。

后者的代价,恐怕不是几杯咖啡钱能解决的。