开源与看不见的手

Lobsters Hottest 新闻

摘要

本文探讨了开源软件如何违背经典经济学原理(如搭便车问题、价格信号和公地悲剧),却通过非货币激励和社区贡献而蓬勃发展。

<p><a href="https://lobste.rs/s/4ttntg/open_source_vs_invisible_hand">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/18 16:04

# 开源 vs 看不见的手 来源:https://nesbitt.io/2026/06/18/open-source-vs-the-invisible-hand.html 如果你把一份关于开源库生产方式的描述交给经济学本科生,但不告诉他这是什么,然后让他预测结果,他会告诉你这根本讲不通——非排他性商品,没有价格、没有合同、没有责任,生产者中位数只有一人,消费者几乎完全搭便车,教科书里没有任何模型能让这种安排产生产出稳定的东西。 然后你运行 `npm install`,几秒钟内这几百个“不可能的商品”就到了,而整个商业软件行业几乎都建立在它们之上。开源几乎同时打破了全套市场公理。 **搭便车问题(https://en.wikipedia.org/wiki/Free-rider_problem)** 公共物品具有非竞争性(我的使用不会减少你的使用)和非排他性(你无法阻止我使用),标准理论认为这类物品会供应不足,因为每个理性行为者都等着别人买单。经典案例是灯塔(https://en.wikipedia.org/wiki/The_Lighthouse_in_Economics),所有人都受益但没人自愿付钱,所以政府不得不建造它。开源库完全符合这一定义:通过许可证实现完美的非竞争性和非排他性。因此理论预测只会有少数几个开源库,勉强被生产出来,靠资助勉强维持。然而,仅 npm 就托管了超过五百万(https://packages.ecosyste.ms/registries/npmjs.org)个包,几乎都不是资助的,每天还有数千个新包出现。 **一分钱一分货(https://en.wikipedia.org/wiki/You_get_what_you_pay_for)** 价格本应传递质量与稀缺性的信号(https://en.wikipedia.org/wiki/Price_signal),让市场能区分好坏。SQLite,按它自己的统计(https://www.sqlite.org/mostdeployed.html)是全球部署最广泛的数据库引擎,价格却和一个在 postinstall 钩子里藏了加密货币矿工、过期一周的域名仿冒包一样。最有价值的库和最危险的库标价相同,消费者只能用声誉、下载量和 GitHub 星标来绕开缺失的信号。 **公地悲剧(https://en.wikipedia.org/wiki/Tragedy_of_the_commons)** 共享资源会被耗尽,因为每个用户的理性选择是只索取不回报。因此,软件公地的预测将是一小批过度使用、维护不足的代码,消费速度超过贡献速度,导致代码退化。公共注册表中的某些角落确实如此,但自注册表存在以来,整体规模每年都在增长。 **理性自利(https://en.wikipedia.org/wiki/Homo_economicus)** 经济行为者最大化自身效用,而效用的定义可以很宽泛,涵盖乐趣、地位和意识形态,不止是金钱。即使在这种宽泛定义下,也很难相信如此多人的偏好包括:在另一份不相关的工作上忙了一整天后,深夜还要回复陌生人的 bug 报告,而报告来自一家财富 500 强公司,标题写着“紧急!!”——项目本身却不付他们一分钱。然而,世界上却有足够多这样的人,其偏好似乎正好如此,支撑着现代软件栈的大部分运行。 **供需关系(https://en.wikipedia.org/wiki/Supply_and_demand)** 需求上升本应推高价格并吸引新供应商,直到市场出清。但当一个库从每周一千次下载涨到一千万次时,价格依然为零,维护者数量通常仍只有一人,因为需求没有渠道作用于供给。更多用户来了,问题追踪器塞满了,安全研究员开始提交 CVE,但它仍然只是一个人的工作。 **分工(https://en.wikipedia.org/wiki/Division_of_labour)** 关键基础设施本应由专家全职建造,组织成对失败承担责任的实体公司。在 ecosyste.ms 追踪的公共注册表中,超过一半的包只有一个维护者(https://opensourcesecurity.io/2025/08-oss-one-person/),而这个人往往在另一个领域有全职工作,与任何下游用户都没有雇佣关系,也不对任何人承担合同责任。依赖图中很长一段的巴士因子(关键人物风险)算下来只是一个业余爱好者。 **企业保护竞争优势(https://en.wikipedia.org/wiki/Competitive_advantage)** 按理说公司不会花钱让工程师造东西,然后把它交给竞争对手。然而谷歌、Meta、微软和亚马逊都在资助开源库,而这些库其他三家公司也在生产环境中运行。标准的解释是“商品化你的互补品(https://www.joelonsoftware.com/2002/06/12/strategy-letter-v/)”:免费提供与你赚钱那一层相邻的层,这样别人就无法在那里向你收租。这足以解释 React 和 gRPC,也是这里唯一一个能用市场理论解释的通条。但这个解释不适用于下面更大的层级:那些只有一个维护者、没有相邻商业模式的库——而这正是 `npm install` 拉取的大部分内容。 经济学家已经注意到了这一切,并有少量文献试图解释。Lerner 和 Tirole(https://www.nber.org/papers/w7600)将其归结为职业信号:在公开场合贡献以建立声誉,然后在别处变现。这在有人关注的情况下成立,但对于一个招聘经理永远不会查到的晦涩依赖项的维护者来说则不成立。Benkler(https://www.benkler.org/CoasesPenguin.PDF)认为互联网使协调成本足够低,从而无需公司就能组织生产。这解释了工作如何分工,但没有解释为什么有人承担其中不光彩的一半。Von Hippel(https://web.mit.edu/evhippel/www/democ1.htm)将其框定为用户创新:人们构建自己需要的东西,然后几乎免费分享。这在维护者自己不再使用该东西后,还要多年回答 bug 报告时就不成立了。这三种解释都适用于一部分维护者的一部分时间,但没有一个能单独解释该系统呈现出的形态,或为什么它能持续这么久。 把上述所有现象称为市场失灵,暗示底下存在一个只要修复了失灵就能正常运转的市场——但根本没有这样的市场:开源在教科书认为不可能的基础上运行了三十年。它看起来更像是几种安排叠在一起:部分礼物经济、部分共享基础设施、部分公共档案、部分声誉系统,没有任何单一机制在支撑它。 那些不断被提出的实用修复方案,仍然把它当作一个市场,并把缺失的部件打上补丁——这就是悬赏、赞助市场、基于依赖项的加权资金公式、关键性评分、以及代币化奖励方案的来源。它们每一个都试图为某种从未有过价格的东西重新构建一个价格,为此它们需要一个数字来代表价值。 可用于此项工作的数字是弱代理指标(https://nesbitt.io/2026/05/09/the-mismeasure-of-open-source.html),离任何人真正想知道的东西有两三步之遥:谁在维持这个项目运行?他们距离停止维护还有多远?针对该项目提交的安全报告是否能找到任何负责人(https://nesbitt.io/2026/05/08/weekend-at-bernies.html)?

相似文章

零成本谬误:智能体时代的开源软件

Hacker News Top

本文审视了智能体时代开源许可的悖论,认为宽松许可证使得企业能够剥削志愿维护者,并呼吁重新评估许可模式以确保可持续性。

在不妥协的情况下资助开源软件

Lobsters Hottest

分析了资助开源软件面临的挑战,评估了捐赠、开放核心模式、资助等方法,重点讨论了如何在不妥协的情况下维持像Inko这样的项目。