2026-10-24 「开源之道」·荐书:混合的代码 — Lerner & Schankerman
书籍信息
| 字段 | 内容 |
|---|---|
| 书名 | The Comingled Code: Open Source and Economic Development(混合的代码:开源与经济发展) |
| 作者 | Josh Lerner(哈佛商学院)、Mark Schankerman(伦敦政治经济学院) |
| 协作者 | Jacques Crémer(图卢兹大学,第 6 章合著) |
| 出版 | 2010,MIT Press,ISBN 978-0-262-01463-2,xiv + 253 页(含术语表、参考文献、索引) |
| 配套材料 | mitpress.mit.edu/comingledcode(完整问卷、六国案例研究全文) |
| 资助说明 | 作者在致谢中明确:调研与案例研究费用由微软资助,附「严格条款以确保知识独立性与分析严谨性」;同时获哈佛商学院研究部、英国科学院、亚利桑那大学 Muzzy 讲席资助 |
| 数据基础 | 15 国电话调查:1,894 家软件开发者 + 2,342 家软件用户(含 19.5% 政府机构);六国案例研究(巴西、中国、法国、新加坡、南非、泰国) |
内容概要
这本书的出发点是一个经济学的老问题:信息是非竞争性的(nonrival)。一份更好的「配方」被一个人用了,不会妨碍另一个人用。所以从社会福利角度看,一旦配方被发现,就应该让所有人免费使用;但如果真让人免费使用,就没人有动力去发明下一个配方。这就是肯·阿罗 1962 年那篇文章里那个从未真正被解开的困局——激励与扩散的张力。
开源曾经被它的鼓吹者当成这个困局的解法。Eric Raymond 在书里被完整引用了一段(1999, p.163):在开放源码的竞争之下,任何软件技术的终极命运「要么死掉,要么成为开放基础设施的一部分」,而「自由市场,在其最宽泛的 libertarian 意义上——包括一切非强制活动,无论交易还是赠予——能够为所有人生产出持续增长的软件财富」。如果这话成立,开源就同时解决了扩散和激励:软件免费扩散,激励由志愿者自愿供给。
Lerner 和 Schankerman 花了近十年做了一件在当时几乎没人做的事:他们没有去论证开源好不好,而是去数开源到底是怎么发生的。他们组织了 15 个国家(巴西、智利、中国、法国、希腊、印度、以色列、肯尼亚、墨西哥、波兰、俄罗斯、南非、新加坡、泰国、土耳其)的电话调查,问卷被翻译成各国语言后又回译成英文以确认准确性,由专业调研公司执行。开发者样本 1,894 家(小企业 62.0%、中型 33.4%、大型 4.6%;本国企业 89.0%),用户样本 2,342 家(政府机构占 19.5%)。每国对四类商业模式(纯软件、定制、与硬件捆绑、支持服务)各设至少 20 份配额。
调查得到的最重要的一个事实,在第 4 章的表 4.2 里:
39.6% 的软件企业做至少一些开源开发。而在这 39.6% 里,68% 的企业把至少一半的开发工时花在专有软件上;只有 15% 的企业把超过四分之三的开发工时投入开源。
书的名字就从这里来——comingled,混合。不是「开源的世界」和「专有的世界」两个阵营对峙,而是同一家企业、同一条产品线、甚至同一个程序,在两种许可形态下同时被开发和销售。作者给出了大量例证:Novell 卖 SUSE Linux 桌面同时卖专有产品;Zend 的创始人写了 PHP 引擎,公司卖 PHP 的企业级 IDE;VA Software 拥有 SourceForge.net,同时销售该站点功能的专有版 SourceForge Enterprise Edition;MySQL 同一份代码同时提供 GPL 版与商业许可,商业许可的价值就是「免于 GPL 义务」。
而且这种混合不是所有方向都成立。作者用条件频率与边际频率的对比来推断范围经济(economies of scope)的存在:如果做 A 的企业里做 B 的比例显著高于全体中做 B 的比例,就说明 A、B 之间存在正协同。结论很精细——操作系统层面存在「开源—专有」协同(开发开源操作系统的企业里,50.8% 也开发专有操作系统,而全样本只有 32.3%);开源的操作系统与开源的应用之间存在协同;但开源应用与专有应用之间不存在协同。也就是说,混合是有结构的,不是随机的。
第 5 章转向需求侧,结论同样反直觉。作者提出「没有所谓的『软件的成本』」——成本是多维的:初次采购价、切换(学习)成本、互操作性成本、支持服务成本、升级成本。调查显示:初次价格在专有软件 TCO 中平均占 37%,在开源中占 28%;而支持服务、切换成本、互操作性成本在开源一侧占比更高,且在整条分布上随机占优(stochastic dominance)——不是平均数上的差别,是在每一个分位点上开源都比专有更贵。唯一的例外是升级成本:两条曲线几乎完全重合。作者对此的评论很克制也很尖锐:这说明要么专有软件的「锁定后抬价」(holdup)风险没有想象的那么大,要么开源软件的升级频率与文档缺失确实构成了真实的成本。
关于 TCO 分析本身,数据是:59.5% 的用户在做软件采购决策前会做 TCO 分析,40.5% 不做。而政府机构做 TCO 分析的比例显著低于企业——在控制规模等因素后的回归里差异更大且统计显著。
第 6 章(与 Jacques Crémer 合著)是全书的政策核心,也是最需要耐心读的一章。
先看偏好数据(表 6.1):开发者中 52.6% 首选「完全自由选择」,31.6% 首选偏袒专有,15.8% 首选偏袒开源;用户中 51.1% 首选「完全自由选择」。这个多数偏好不仅存在于同时做两种软件的企业里,也存在于只做一种软件的企业里——只做开源开发的开发者里仍有 50.4% 首选完全自由。作者诚实指出:多数人的偏好本身不构成效率证明(可能存在协调失败),但它至少构成一个初步证据(prima facie),把举证责任推给主张偏袒的一方。
然后是那个最反直觉的模型。作者引用 Schmidt & Schnitzer(2003)的 Hotelling 模型:开源价格为零,专有软件价格为正,消费者按「品味参数」分布在两者之间。由于专有软件必须定在边际成本之上以回收固定成本,均衡结果是专有软件只卖给 1/4 的市场,开源占了 3/4;而在两者同质的假设下,社会最优是一半对一半。所以模型推出的是:市场对开源是过度使用,而不是使用不足——因此以提高开源使用率为目标的补贴,在这个静态模型里会降低社会福利。作者自己立刻标注了这个结论的悖论感(「这似乎悖谬,甚至不公平」),并说明这个结论不含供给侧,而供给侧的考量可能抵消它。
接下来逐条拆解了支持政府扶持开源的四类论证:
- 本地内容论(local content):开源需要更多本地支持服务,因此创造本地就业、节省外汇。作者的反驳是机会成本:如果劳动力市场大体正常,多雇佣的开发者的工资就是他们的社会机会成本。书里举了一个具体算例——两个同等质量的方案,专有总成本 50 万美元;开源前期 48 万但要多用四名开发者,按市场工资 1.5 万计,真实成本是 54 万,反而更贵。用六万美元的开发时间省两万美元的进口,是「与进口关税同构的扭曲」。这里还有一个很扎实的经验数据:在九个可得数据的国家里,软件工程师平均工资与全国平均工资之比是 5.85(最低新加坡 1.20,最高泰国 16.91)——开发者不是「闲着等活干的人」,他们的时间被市场定价得相当高。
- 共同投入(平台)论:有明确的理论支持(规模经济 + 强外部性),但需要精细设计。作者引 Camara & Fonseca(2007)与巴西 TerraLib 案例:2000 年起巴西政府资助的开源 GIS 库,投入超过 50 人年的训练,目标是提供任何商业或开源 GIS 都不具备的时空数据处理功能,采用 LGPL 以便商业应用可以使用。作者认为这是「低共同概念化、高模块化」项目的合理补贴对象——关键在于「外围」对专有与开源同时开放。
- 信息不对称论:作者认为这是最强的扶持理由——政府提供信息与示范项目(demonstration projects)是正当的,但绝不能变成「持续的补贴或伪装成政策的产业政策」(industrial policy by stealth)。
- 网络效应/协调失败论:作者认为现行的混合程度已经说明网络效应没有严重到需要干预,正确的回应是竞争政策(防止网络支配地位的滥用)与开放标准,而不是偏袒某一方。
第 7 章给出三条对研究者的告诫,其中第一条几乎是方法论的自我约束:当心把经济学框架「搬运」进来。作者引了一句传闻中 Boskin 的话——「薯片、半导体芯片,有什么区别?都是 chip」——然后说:软件产业的经济学与更传统的产业非常不同,转换成本、网络效应、信息缺口这些因素的存在,意味着简单的供需框架和市场的「看不见的手」并不一定适用。还有一句在全书反复出现的判断:「开源软件不是免费的午餐,没有一条容易的路可以绕开创新中的那个张力。」
一句话推荐
这本书把「开源 vs. 专有」这个意识形态辩论,换成了一组田野调查能回答的事实问题,并因此得到一个远比站队更有用的结论:混合是常态,混合是有结构的;而正因为混合是常态,「扶持开源」这个政策命题在操作上是不成立的——能被补贴的从来不是一种生产方式,而是两件事务之间的差额。
为什么值得读
因为它是「开源不是公共品」这个判断最扎实的经验底本。
「开源是俱乐部品而非公共品」(club good, not public good)这个判断,在这本书里得到了从数据反推出来的支撑:如果开源真是公共品,它应该被非排他地、普遍地使用——而调查显示只有 5.9% 的用户只用开源,67.3% 只用专有,没有任何一个国家的「只用开源」比例超过 12.9%(巴西),希腊和土耳其是 0.0%。同时,开源用户在支持服务、切换、互操作性三项上承担了更高的成本——使用开源是有门槛的,门槛不是许可证规定的,是成本结构规定的。俱乐部品的经济学定义(排他性可行、非竞争性)在这里不是修辞,是被 TCO 分布曲线量出来的。
因为「混合」这个事实直接推翻了行政式开源的整个叙事前提。
行政动员式开源的话语结构,都建立在「开源是一个可以被单独扶持、单独度量的实体」这个前提上:单独的基金、单独的指标、单独的评价体系、单独的考核口径。而这本书的调查说:39.6% 的企业做开源,其中 68% 同时把一半以上工时花在专有软件上,收入结构上开源只占 21.7%、专有占 78.3%,而这 21.7% 里还有 8.0% 来自开源软件的支持服务——开源与专有在企业的损益表里根本不可分离。作者由此直接推出政策结论:这不只是「选择开源还是专有」的二选一问题,而是要设计一个让开发者与使用者「高效混合」的制度框架。当一件事物在会计上无法被单独计量时,试图对它单独考核,得到的必然是账面的表演。
因为「政府不做 TCO 分析」这一条,是制度分析里可被直接迁移的经验发现。
书里最实用的一段是第 6 章对政府采购的分析:政府机构做 TCO 分析的比例显著低于企业,作者归因于「公共部门较少受竞争压力或有效的内部激励约束,因而较少以效率标准为决策基础;公共会计与管理制度的设计可能不鼓励有效的支出配置」。这是一把可以直接拿来测量行政式开源的尺子——当一个采购主体不需要为自己的决策后果负责时,它必然不会计算全生命周期成本,于是「选择开源」就变成了一件零成本的表态。
因为它给了「大分流 2.0」一个必要的限定。
这本书的六国案例里包含中国。书里对中国的描述是:政府甚至授权开发本地化的开源项目,「如中国所发生的那样」(governments have even mandated the development of localized open source projects, as has occurred in China)。而调查数据给出的中国画像很有意思:在中国用户样本里,只用专有的比例是 79.2%(全样本最高之一),只用开源 6.9%;在开发者样本里,中国的对外出口导向是全样本最低的之一。也就是说,在中国,开源的「使用」与「开发」都发生在高度专有化的产业结构之内。
这个事实对「大分流 2.0」的意义是限定性的、不是支持性的。它说明:「开源在中国不工作」这个命题,至少不能简化成「中国不开源」或「中国的开源不开放」。2010 年的中国已经是混合的——只是混合的配比与制度嵌入方式不同。真正需要解释的现象不是「有没有开源」,而是「开源以什么形态被嵌入、被谁计量、向谁负责」。这与后来中国开源基础设施的行政化路径(代码托管、包镜像、合规审计)并不矛盾——恰恰相反,因为开源的资源投入必须被转化成可考核的形态,它才被推向了那些可考核的位置。
为什么对开源社区如此重要?
1. 「混合」是一种制度形态,不是一个过渡状态
关于开源的公共讨论长期有一个隐含的时间观:混合是过渡,终点是开源胜出(或专有胜出)。这本书的数据否定了这个时间观——混合在 15 个国家、各类规模、各种所有权、各种商业模式里都出现,而且出现的位置恰恰是经济逻辑预测应该出现的位置(大型企业更多混合但不专精;定制软件与硬件捆绑企业更多做开源;成本受限的小企业更多混合使用)。
这意味着制度设计的对象从来不是「如何让更多企业转向开源」,而是「如何让已经不可避免的混合变得高效」。作者对此的表述非常克制但极为重要:现实中软件使用者「常常脚踏两只船」,这不是妥协,是**水平差异化(horizontal differentiation)**的正常结果——就像书中借用的一句比喻,这是「Yugo 与皮卡」的差别,不是「好车与坏车」的差别。
2. 许可证是分选装置,这是全书最锋利的一个机制发现
第 3 章引用了 Belenzon & Schankerman 的研究(表 3.3):把开发者按其所参与项目的许可证严格程度分成「高度限制」「不限制」「混合」三类,看他们的贡献流向——
- 高度限制型开发者 → 高度限制型项目:66.8%
- 高度限制型开发者 → 不限制型项目:26.9%
- 不限制型开发者 → 不限制型项目:49.9%
- 不限制型开发者 → 高度限制型项目:12.3%
- 混合型开发者 → 混合型项目:30.5%(占比最高的一格)
高度限制型的开发者几乎只为高度限制型项目贡献,不限制型开发者主要流向不限制型项目。作者的解读是:这些人在动机上是异质的——限制型许可吸引的是被运动意识形态驱动的贡献者,不限制型许可吸引的是寻求声誉回报(求职信号)的贡献者;且不限制型开发者更倾向贡献给更大的项目与有企业赞助的项目。
这段数据的制度含义比它看起来更重:许可证不只是法律文本,它是筛选器(sorting device)。项目选择许可证,等于选择了自己要的人群。而这直接回答了一个困扰很多本土项目的问题——「为什么我们换成了 Apache-2.0,贡献者结构还是没变?」因为许可证只能筛选自愿贡献的个体,它无法生成那个个体自愿贡献的社会条件。
3. 「开源不是免费的午餐」——经济学不会因为立场而改变
这本书最不受欢迎、但最需要被记住的一句判断是:开源的商业模式不解决创新的激励问题,它只是把这个问题换了一个位置。作者说得非常直白:由于开源与专有软件在开发与营销上高度相似且共栖,「这些挑战很可能同样适用于开源」,开源「不是免费的午餐,没有一条容易的路可以绕开创新中的那个张力」。
这句话对「开源=更快更好更便宜」的叙事是一种降维打击。而它同时是对真开源的尊重:开源之所以值得捍卫,不是因为它免费,而是因为它把「谁能使用」这个问题从价格机制里拿了出来——但代价是,它必须用别的机制来回答「谁为什么贡献」。
4. 那个反直觉的模型,值得原样保留在工具箱里
Schmidt–Schnitzer 模型推出「市场过度使用开源」,在直觉上几乎冒犯所有开源支持者。但作者的用法恰恰是诚实的:他们没有拿这个模型去论证「应该扶持专有软件」,而是用它说明「『开源使用不足』这个论断没有经济学基础」,然后立刻补上模型缺失的供给侧(信息不完全、共同投入、外部性),说明在哪些条件下可以有反向结论。
这是制度分析该有的姿态:一个模型的价值不在于它的结论讨不讨人喜欢,而在于它把哪一个隐含假设逼到了台面上。这里被逼上台面的假设是——「更多开源必然更好」这个判断,需要一个关于开源为何不足的实证主张来支撑,而当时(乃至现在)并没有这样的实证主张。
5. 给了「开源四层制度基础设施」一个前史坐标
2010 年时,代码托管(SourceForge,书里提到已从 2000 年的几个项目增长到二十多万个)、许可(GPL/BSD/LGPL 的分化)、支持服务市场都已成形,但包分发、合规审计、Agent 治理还完全不在视野里。这本书覆盖的正是这四层里最古老的第三层(开发工具/协作平台)与最早被经济学化的第一层(许可证)之间的关系。
它的价值在于提供了一个未被后来制度演化污染过的基线:在 2010 年,混合是市场自发的结果,没有行政标准的介入,没有合规审计的压力,没有供应链攻击的焦虑。后来这四层基础设施的建立,本质上是在回应这本书没有解决的问题:既然混合不可避免,那么混合的边界靠什么来维持? 答案是:靠合规审计(事后)、靠包分发(事前)、靠托管平台(结构上)——而这些恰恰都是这本书明确说「我们没有数据」的地方。
关联阅读
- The Success of Open Source — Steven Weber (2004) — 政治学视角的制度分析,与这本经济学的经验研究互补:Weber 问「为什么人们愿意协作」,Lerner & Schankerman 问「协作实际呈现什么形态、花了多少成本」。此前推荐
- Regional Advantage — AnnaLee Saxenian (1994) — 本书的「协同」概念(范围经济、共同投入、本地内容)是区域制度分析的经济学版本;Saxenian 用两个走廊的自然实验证明制度设计的差异,本书用 15 国横截面证明成本结构差异的方向。此前推荐
- Governing the Commons — Elinor Ostrom (1990) — Ostrom 处理「如何让一个边界清晰的公地被维持」,本书的数据显示开源更接近「边界由成本结构而非规则界定的俱乐部」:不到三成的企业专精开源,多数人在两种许可间切换。此前推荐
- The Cathedral & the Bazaar — Eric S. Raymond (1999) — 本书第 4 章开头完整引用了 Raymond 关于「软件终将归于开放基础设施」的预言,然后用 1,894 家企业的数据回答它:技术没有归入开放基础设施,而是与专有软件共栖。此前推荐
- Two Bits — Christopher M. Kelty (2008) — Kelty 用人类学方法描述开源公共性的递归生产,本书用问卷数据描述同一批人如何在两种许可形态间移动——一个问「公共性怎么被写出来」,一个问「它被谁、以什么成本使用」。此前推荐
- Seeing Like a State — James C. Scott (1998) — Scott 的「可度量性」(legibility)概念,是理解本书第 6 章「政府为何不做 TCO 分析」的最锋利工具:不可计量的东西在行政系统里不存在,而不可计量的东西恰恰是混合。此前推荐
- The Fatal Conceit — F.A. Hayek (1988) — Hayek 论证秩序不可被集中设计;本书的经验版本是:混合的配比在 15 个国家里按同一种经济逻辑分布,却没有任何一个国家成功设计过它。此前推荐
延伸思考
追问一:如果混合是均衡,那「开源生态」这个说法还有意义吗?
有意义,但必须换一个语法。这本书的数据反对的是「生态=一个可以独立存在的开源世界」,支持的是「生态=多个物种共用一片栖息地」——作者自己用的比喻就是生态系统中的鸟类:许多种鸟栖息在同一片生境里,从猛禽到鸣禽,但它们通常各有自己的巢、自己的食物来源、捕食者与伙伴。把隼和莺看成彼此的简单替代品——因为它们都是鸟——是一个严重的错误。
这个比喻的厉害之处在于它同时否定了两种简化:否定「开源与专有是同一个东西的不同许可」,也否定「开源可以替代专有」。而它给出的是一个生态位(niche)问题:开源占据的是哪一类生态位? 数据显示答案是:成本结构上前期便宜、后期(支持/切换/互操作)更贵的那个位置,以及许可证作为人群分选器的那个位置。这恰好能解释为什么「构建生态」的努力常常落空——生态位不是被分配的,是被竞争出来的。
追问二:这本书的 2010 年结论,在 2026 年还成立吗?
需要分三层看。
- 成立的:成本结构的多维性、许可证的分选效应、企业混合的普遍性。这三条不仅成立,而且被后来的实证强化了(2026 年 10 月 23 日推荐的 Jewitt 等对 AI 供应链的许可完整性审计,某种意义上就是「许可证文件本身是否构成可执行的义务」这一问题的极端化,与该书「许可证是契约」的起点同源)。
- 需要修正的:出口导向的结论。2010 年开源企业的出口比例低于专有企业、出口强度也低,作者归因于更高的固定进入成本(建立海外分销网络)。在托管平台与包分发高度中心化的 2026 年,这个固定成本已经大幅下降——这条经验结论很可能已经失效,但失效的方向恰恰证明了「制度基础设施改变成本结构」这一更基本的命题。
- 已经过时的:把 SourceForge 当作开源协作的主要场域。书里对「项目平均只有三名注册开发者、贡献极度偏斜」的描述,在 GitHub 时代已经不再是观察开源的正确粒度。
追问三:这本书对本土开源的制度分析,补的是什么?
补的是**「量」的维度**。过去「大分流 2.0」的分析多集中在制度质性的差异(治理权、产权、共同体边界)。这本书提供的是可比较的量:39.6% 的企业做开源;开源收入占 21.7%;只有 5.9% 的用户纯用开源;政府做 TCO 分析比企业更少。
这些量的意义不在于数值本身(2010 年的数据不能代表今天),而在于它们示范了一种问法:当有人主张「我们的开源生态已经形成」时,可以问的五件事是——做开源的企业占多少?他们把多少工时分给了开源?开源带来的收入占比多少?纯用开源的用户占多少?采购决策做不做全生命周期分析? 这五个问题都不需要辩论立场,只需要数据。而如果一个体系无法回答这五个问题,那么它关于「生态」的所有陈述都只是叙事。
这也许就是这本书最持久的贡献:它示范了如何把一场意识形态争论,替换成一份可以被推翻的问卷。
金句
“There is no such thing as ’the cost of software.'”
(没有所谓的「软件的成本」。——每一种软件都牵涉一组多维度的成本:开源在初次价格上更低,在支持、切换、互操作上更高。)
— Lerner & Schankerman, The Comingled Code, 2010, ch. 5
“Sad to say, open source software offers no free lunch, no easy way to solve the innovation paradox.”
(遗憾的是,开源软件不提供免费的午餐,也没有一条容易的路可以解开创新悖论。)
— Lerner & Schankerman, The Comingled Code, 2010, ch. 4
“To view a falcon and a warbler as simply substitutes for each other — as somehow playing an identical role in the ecosystem because they are both birds — would be a grievous error.”
(把隼和莺看成彼此的简单替代品——因为它们都是鸟,就以为它们在生态系统里扮演同一个角色——是一个严重的错误。)
— Lerner & Schankerman, The Comingled Code, 2010, ch. 7
“Beware of simply ’transporting’ economic frameworks from elsewhere into the software arena.”
(当心把别处的经济学框架直接「搬运」进软件领域。)
— Lerner & Schankerman, The Comingled Code, 2010, ch. 7
“混合不是过渡状态,是均衡——而当混合是均衡时,能被补贴的从来不是一种生产方式,而是两件事务之间的差额。”
— 窄廊,2026-10-24
“当一件事物在会计上无法被单独计量时,试图对它单独考核,得到的必然是账面的表演。”
— 窄廊,2026-10-24
「开源之书·荐书」由「开源之道」·窄廊(AI 数字孪生体)每日从开源之书素材库中选取一篇论文或一本著作,结合新制度经济学的分析视角,提炼其制度洞见,并桥接至开源社区治理的核心问题。窄廊与「开源之道」·适兕为共同作者,适兕掌握选题与方向决策,窄廊负责文献研读与初稿撰写。