版权与许可声明(译文)
本文是埃里克·S·雷蒙德(Eric S. Raymond)《大教堂与集市》(The Cathedral and the Bazaar)的中文翻译,基于作者发布的原始文章版本(OPL v2.0)翻译。
原始作品信息
- 原作者:Eric S. Raymond(ESR)
- 原文版本:v3.0(2000-08-02)
- 原文版权:Copyright © 2000 Eric S. Raymond
- 原文许可:Open Publication License, v2.0
译文信息
- 译者:natsunoyoru97
- 仓库地址:https://github.com/natsunoyoru97/the-cathedral-and-the-bazaar
- 翻译日期:2026年2月6日
- 译文版权:Copyright © 2026 natsunoyoru97
- 译文许可:
关键补充声明
- 本译文为译者个人基于ESR官网原始文章的独立重译版本,与O’Reilly出版的图书版及其他商业/非商业译本无关联,未参考或使用任何现有译本内容。
- 本仓库是此版译文的唯一完整托管与更新地点,译文及注释的最终解释权与修订权由译者本人保留。
- 本译文为个人成果,非官方译本,不代表原作者Eric S. Raymond的认可或背书。
- 原文中的引用已按原作者标注的来源注明,相关权利归原版权人所有;若存在未标注的第三方内容,系原文疏漏,译者不承担相关责任。
- 本译文将持续更新,修订记录见个人代码仓库版本历史。
- Fork与衍生规范
- 欢迎以个人学习、研究、制作笔记或合规衍生创作为目的Fork本仓库。
- 任何基于本译文的公开衍生作品(如解读、可视化、摘要),必须显著标注原始出处(本仓库链接)及译者署名。
- 禁止利用本译文进行商业出版、发行或直接盈利活动;禁止创建意图混淆本版翻译译者的项目。
协作使用许可
- 欢迎通过 GitHub Issue 提交关于译文、注释的讨论、勘误或建议。
- 为保持译本风格一致、忠实于译者小记的宗旨,不接受 Pull Request。重大修改请通过Issue讨论。
- 转载或修改译文时,需保留本声明,标注修改痕迹,并按相同协议授权;
- 允许商业再分发,但出版纸质标准图书需获得原作者Eric S. Raymond的书面许可;
- 若发现译文与原文不符或存在版权问题,请提交issue或邮件联系译者。
译者小记
卫剑钒老师的译本是中文世界引入《大教堂与集市》的开路先锋,曾陪伴一代开发者走近并理解开源精神,是中文开源文化演进过程中一个标志性的里程碑。本译本为独立重译版本,在翻译过程中并未参考或沿用任何现有中译本文本。译者认为本书引用人类学、社会学乃至文化背景知识概念并不只是因为“有趣”,而是因为这些理论概念能够支撑本书的论述链条与理论建构,因此力图在当下开源协作日益成熟、社区治理逐步系统化、开源协作模式也不再只是极客的玩具的背景下,提供一个更具理论深度与跨学科视野的解读视角。
译者认为,当今社会亟需以跨学科视野推动理论建构、并在理论指导下深化实践。本译本采用学术化的翻译方式,正是希望为未来开源生态的理论探索与实践创新奠定基础。本译本对术语选择和注释密度有明确的学术取向,可能偏离ESR(Eric S. Raymond)作为“黑客散文家”的修辞风格,这一选择的风险与收益,留待读者判断。
此外,译者并非为学术而学术。在21世纪20年代的当下,开源正面临双重收编危机:资本逻辑将其降格为“降低研发成本的人力资本池”与“合规性标签”,政治逻辑将其征用为“技术主权”的地缘政治工具。更隐蔽的是认知层面的不对等:开源社区丰富的自我阐释(礼物文化、集市动力学、黑客伦理)在主流学术与政策话语中仍被视为"经验性描述"或"亚文化修辞",缺乏与主流社会科学对话的概念硬通货(conceptual currency)。译者认为,开源知识成果本不至于陷入如此境地。
这种失语导致开源在严肃公共讨论中丧失定义自身的权力:当经济学家用“公共品困境”解释开源可持续性时,当政治学家用“数字民粹主义”标签开源社区时,当人文社科学人仍停留在开源“游牧民”的浪漫想象,或技术从业者“被剥削/为虎作伥”的道德二元论时,开源实践者往往因缺乏制度化的理论武器而无力反驳。本译本采用的学术化路径,正是试图在被完全收编之前,为开源构建一套不可化约的理论铠甲——通过经济学、人类学与政治经济学的严格概念化,证明开源不是现有秩序的例外或附庸,而是一种需要被认真对待的新社会组织范式。
译者深知,这种“通过学术体制获得承认”的策略存在异化风险(将流动的实践固化为僵化的范畴),但在当前话语权力极度不对称的情境下,以译者的个人能力似乎只能通过这种姿态,让开源进入资本与政治无法忽视的严肃知识场域。这不仅是为了更好地理解开源,更是为了在理解中保卫开源——防止其在被外界“正视”的过程中,被彻底扭曲为它所反对的东西。
ESR不仅描述开源现象,更试图融合工程学、人类学与经济学,建构一套“开源工程经济学”的新方法论体系。为此,本译本着重梳理书中涉及的哲学、人类学及经济学概念,补充详尽的学术背景与注释,力求呈现其理论骨架。无论你是开发者、研究者,还是对技术与社会的交汇点感到好奇的跨学科读者,只要你对书中提出的思想框架感到好奇,喜爱智识挑战,并享受其中的乐趣,那么这份译本就是为你准备的。译者希望它能为你提供更系统的概念梳理,帮助你更深入地把握原文语境,并领略作者跨学科思想的独特魅力。
4 魔法锅炉
本章分析开源现象背后不断演变的经济基础:首先破除软件开发资金来源与软件定价结构的若干普遍迷思;继而以博弈论剖析开源合作稳定与否,提出九种可持续的开源开发资金模式,其中包括两种非营利性模式与七种营利性模式;进而阐释闭源软件具备合理性的经济条件;同时探讨当前市场在开源软件商业化上的创新,包括重构赞助制度与搭建任务市场模式;最后对未来趋势做出初步预判。
4.1 开源社区的成就与魔法无异
在威尔士神话中,女神瑟西德温a拥有一口神奇的魔法锅炉,只需念诵唯有她知晓的咒语,锅中便会魔法般生出滋养生灵的琼浆玉液。在现代科学界,巴克敏斯特·富勒提出的"简效化"概念b与这个神话遥相呼应:当早期设计投入的实体资源逐渐被海量信息取代,技术便会在提升效能的同时不断降低成本。阿瑟·克拉克c将二者联系起来,做出那句经典论断:"任何足够先进的技术,皆与魔法无异。"
对许多人来说,开源社区的成就就像某种难以置信的魔法。高品质的免费软件仿佛念动咒语即成,高品质软件免费惠及用户,虽令人一时称羡,却难以在充满竞争与资源稀缺的现实世界长久维系。这究竟有什么玄机?莫非瑟西德温的魔法锅炉只不过是一道障眼戏法?如果这不是戏法,简效化理念在这里又如何显效?女神吟诵的,又是怎样一道咒语?
a. 瑟西德温(Ceridwen) :威尔士神话中一位拥有灵感(Awen)之力、能酿造智慧灵药的女神。作者在此引用她,是将开源协作创造软件的过程,诗意地比喻为在她那口神奇的魔法锅炉中酿造灵感与变革的魔法。如需深入了解她的故事,可参阅《马比诺吉昂》(Pedair Cainc y Mabinogi,英文译作The Mabinogion)中《塔列辛的故事》。
b. 简效化(Ephemeralization) :该词通常译作“少费多用”,但考虑到其强调“通过设计精简实现效能跃升”的内涵,译者认为“简效化”更能传达富勒原意。巴克敏斯特·富勒(R. Buckminster Fuller)是美国创新型通才,以发明网格穹顶和提出前瞻性思想闻名。他在《通向月球的9个环节》(Nine Chains to the Moon)一书中提出“简效化”(ephemeralization),指通过设计和知识的进步,用更少的物质资源实现更多功能效能的趋势,即“少费多用”。在本文中,作者借用这一概念,为开源模式看似魔法般的生产力提供了一种科学解释的视角。
c. 阿瑟·克拉克(Arthur C. Clarke) :英国科幻大师、科学家,被誉为“太空时代的先知”,他于1945年提出了地球同步通信卫星的构想。这正是克拉克第三定律,出自他的未来学著作《未来的轮廓》(Profiles of the Future,1973年修订版)。该书探讨了技术预测的局限,该定律指出,超越观察者认知范围的技术,其效果与魔法无法区分。
4.2 超越极客与礼物文化的视角
开源文化的实践,无疑颠覆了许多局外人对软件开发的固有观念。《大教堂与集市》一章讲去中心化的协作式软件开发怎样推翻布鲁克斯定律a,从而在单个项目上达到前所未有的可靠性与质量水平。《开拓智域》b一章则审视这种“集市”式开发所处的社会动态,认为最有效的理解不应套用传统的交换经济学术语,而应该参考人类学家所称的 “礼物文化”c ,在这种文化中,成员通过慷慨馈赠来竞争地位。
本文将先破除软件生产经济学层面的常见迷思d,再延续此前文本的分析脉络,深入经济学、博弈论和商业模式的领域,发展出新的概念工具,以理解开源开发者的礼物文化是怎样在交换经济中维系的。
沿此分析脉络继续深入,我们需放弃(或至少同意暂时搁置)礼物文化层面的解释。《开拓智域》曾提出,礼物文化行为出现在生存物资已足够丰富、导致交换游戏失去大部分吸引力的情境中。这一解释作为行为的心理学动因足够有力,然而仍不足以解释大多数开源开发者实际上所处的混合经济环境。对大多数人而言,交换游戏虽然已失去吸引力,但是它并没有失去强制性。他们的行为必须在物质稀缺经济学e中站得住脚,才能让自己维持足以支撑礼物文化的盈余地带。
因此本文将(完全在稀缺经济学的领域内)审视那些维系开源开发的合作与交换模式。下文将通过具体案例,回答那个现实的问题:“我怎么拿它赚钱?”不过在此之前,我有必要指出:这个问题背后的许多张力f,实际上来自那些流行却违背实际软件生产经济学的通俗认知。
(文末先作申明:本文讨论倡导开源开发,既不是说闭源开发本质上是错误的,也不是简单否定软件知识产权,更不是什么呼吁 “分享” 的利他主义道德说教。尽管这些论点在开源社区中少数嗓门大的人里仍然备受青睐,但自《大教堂与集市》出版以来的经验已清楚表明,它们并非必需。为开源开发辩护的一个完全充分的理由是它带来的工程与经济成果:产出更高质、软件更可靠、价格更低、选择更多。)
a. 布鲁克斯定律(Brooks' Law): 布鲁克斯(Frederick P. Brooks)在其著作《人月神话》(The Mythical Man-Month: Essays on Software Engineering)中指出这一定律:在软件开发后期或者当项目进度已经落后时,增加更多人力只会使项目进度更加滞后。
b. 智域(Noosphere):哲学概念,由俄罗斯(前苏联)科学家弗拉基米尔·伊万诺维奇·维尔纳茨基(Влади́мир Ива́нович Верна́дский,英文名Vladimir Ivanovich Vernadsky)在其著作《智域:作为行星现象的科学性思考》(Научная мысль как планетное явление,英文译作Scientific thought as a planetary phenomenon)构建了三重圈层的模型:地质圈(Geosphere)、生物圈(Biosphere)、心智圈(即智域,Noosphere),提出“心智圈”的概念是为了解释不同于地质变化和生物活动的产生的、因人类心智活动而产生的变化。这一概念后经法国的古生物学家、神学哲学家皮埃尔·泰亚尔·德·夏尔丹(Pierre Teilhard de Chardin,中文名德日进)在其著作《人的现象》(Le Phénomène Humain,英文译作The Phenomenon of Man)进一步发展。由于“智域”一词已被广泛沿用,故译本统一把 Noosphere 译为智域。
c. 礼物文化(gift culture):人类学概念,指以声望、荣誉等非货币回报为核心的社会交换体系,法国学者马塞尔·莫斯(Marcel Israël Mauss)的经典著作《礼物:古式社会中交换的形式与理由》(Essai sur le don. Forme et raison de l'échange dans les sociétés archaïques,英文译作The Gift: The Form And Reason For Exchange In Archaic Societies)探讨了古代与现代契约经济下社会交换体系的差异。在开源语境中,指开发者通过无偿贡献代码以获取同行认可与社群声望的协作逻辑。
d. “迷思”是社会学领域的固定用词,故译本沿用“迷思”而不是“神话”。
e. 此处译为“稀缺经济学”,以强调生存物资稀缺的底层假设。
f. “张力”是社会学领域的固定用词,故译本选用了略显拗口的“张力”而不是更加口语化的”困惑“或”矛盾“。
4.3 “软件产业属于制造业”是错觉
首先必须明确,计算机程序像所有工具或生产资料一样,具有两种不同的经济价值:使用价值与销售价值。程序的使用价值在于它能让工具的生产力倍增;而它的销售价值在于作为一种可销售商品的价值(专业经济学家的说法是,销售价值是指最终产品的价值,使用价值是指中间产品的价值a)。大多数人往往以为软件生产的经济学是“工厂模式”b,这种模式基于以下基本前提:
- 大多数开发者的时间报酬,来自程序的销售价值。
- 软件的销售价值与其开发成本(即实现其功能所需的资源成本)及其使用价值成正比。
换言之,人们普遍认为软件具有典型制成品c的价值特征,但这两个假设都是错误的。
首先,为销售而编写的代码只是编程冰山的一角。在微型计算机普及之前曾有个公认的说法:全球90%的代码都是由银行和保险公司内部开发的。从宏观行业格局看,如今这一情况已发生改变——随着其他行业数字化程度的加深,金融业的相对份额想必已经下降。然而,从微观的企业实践来看,软件开发的基本模式并未改变:我们稍后将用实证数据表明,仍有约95%的代码由企业内部团队自行开发。
很多系统都有这类代码:各类管理信息系统(MIS)、所有大中公司都需定制的财务与数据库软件、设备驱动程序这类技术含量高的代码——几乎无人能靠单独销售驱动赚钱(这一点我们后文再谈),以及各种嵌入在日益依赖芯片/嵌入式系统的机器中的代码,从机床、喷气客机到汽车,乃至微波炉和烤面包机。
这类内部代码大多与应用环境高度耦合,导致它们极难复用或移植。(无论应用环境是商务办公场景的整套业务流程体系还是联合收割机的燃油喷射系统,皆是如此)正因如此,一旦应用环境发生变化,软件就需要持续维护以保持同步。
这就是“维护”,任何软件工程师或系统分析师都会告诉你,维护工作占据了绝大部分程序员超过75%的工作量。因此,大部分程序员的工时都耗费在了编写或维护那些完全没有销售价值的内部代码上。读者若想验证,随便翻看一份报纸的招聘版就能明白。
读者不妨亲自做一个很有启发的实验: 找一份本地报纸,翻到招聘版看看编程、数据处理和软件工程类职位,找出那些涉及软件开发的岗位,然后判断一下这些岗位开发的软件是自用还是用来销售的。
很快你便会发现,即使对“用于销售”作最宽泛的定义,至少95%的岗位薪酬,都完全来自软件的使用价值(即中间产品价值)。这便是我们认为仅有5%的软件行业是由销售价值驱动的理由。不过请注意,本文后续的分析对此具体数字并不敏感;即便该比例是15%甚至20%,其经济学结论依然适用。
我在技术会议上发言通常会先提出两个问题:观众里有多少人从事软件编写工作?又有多少人的薪水与软件的销售价值直接挂钩?对于第一个问题,几乎全场举手;而到了第二个问题,则应者寥寥,而两个问题举手人数的悬殊对比让听众感到惊讶。
其次,“软件的销售价值与其开发或重置成本d挂钩” 这一观点,只需观察消费者的实际行为便不攻自破。确实有许多商品(如食品、汽车、机床)在折旧前的销售价值在一定程度上符合此比例关系;甚至有许多无形商品e(例如音乐、地图或数据库的复制权)的销售价值也与开发和重置成本高度相关。
但软件截然不同:一旦软件供应商倒闭或产品停服,无论它理论上的使用价值有多高,或是功能等效产品的开发成本多高,消费者愿意支付的最大价格会迅速降到接近零(要验证这一点,去附近软件商店的清仓区看看就知道了)。
供应商退出市场时,零售商的反应很有启示意义:他们看清了一件供应商常常忽略的事。那就是,消费者的支付意愿,取决于他们对未来服务的预期价值(这里的“服务”包括升级、增强和后续支持)。
因此本质上讲,软件行业在实践中更接近服务业,却误以为自己属于制造业。
我们不妨想想,为什么大家通常会有相反的看法。原因可能很简单:软件行业里,真正把软件当作“产品”来制造和销售的那一小部分公司,恰恰也是唯一会在市场上打广告的。同时,人们心里普遍有种偏见,觉得制造业比服务业更“实在”,毕竟造出来的东西看得见、摸得着1,这种想法可能也在暗中影响我们的判断。另外,那些最显眼、广告打得最凶的软件,往往是像游戏这类短期消费型产品,它们本身就不太需要后续服务(但这只是例外,不是常态)2。
还有一点值得注意,“软件是制造业”这个错觉,催生出的价格结构已经病态地偏离了实际成本。如果(正如公认的那样)一个典型软件项目超过75%的生命周期成本都花在维护、调试和功能扩展上,在这种前提下,收取高额一次性买断费、却只提供象征性服务甚至完全不收取服务费的模式,注定是双输局面。
消费者是受损的一方。因为,即便软件业本质是服务业,但在“工厂模式”下,所有激励机制都与提供合格服务的目标背道而驰。如果供应商靠现成的软件产品赚钱,那么他们的大部分精力都会放到量产推销这些产品上;无法创造利润的客服部门,则会沦为最无效员工的“收容所”,他们能获得的资源,也仅够避免流失关键数量的客户而已。
更糟的还在后头。软件一旦投入使用,服务需求便随之而来,除非对服务单独收费,否则利润空间将直接受到侵蚀。在开源模式下,追求的是尽可能庞大的用户基数,以获得最广泛的反馈和最具活力的衍生市场;而在闭源模式下,企业希望买家越多越好、实际用户越少越好。因此,“工厂模式”的内在逻辑,最终会毫不意外地奖赏那些生产 “货架软件” 的厂商,他们的产品营销做得无懈可击,足以畅销一时,实际却几乎毫无用处。
这一模式的另一面在于,从长远来看,采用这种“工厂模式”的大多数厂商也终将失败。想要依靠固定售价来支撑持续的服务成本,只有市场处于高速扩张期才可能实现,这就必须让未来的收入足以覆盖因昨日销售所产生的服务与产品生命周期成本。一旦市场成熟、销量放缓,多数厂商只能被迫停止服务与技术支持,让产品沦为“孤儿软件”来削减开支3。
无论厂商是明确行动(停止产品支持)还是暗中操作(让产品难以获得售后支持),结果都会让消费者转向竞争对手,因为这种做法会破坏产品的预期未来价值,而这种价值恰恰依赖于持续的服务。短期内,厂商可以通过发布看似新版本、实则仅为修复错误的更新来勉强应对,并为它贴上新的价格标签。但消费者很快就会感到厌倦。因此,从长远来看,厮杀中唯一的活路是垄断,使市场只剩下唯一的赢家f。
实际上,我们已经一再看到,这种因服务支持枯竭而导致的失败模式,足以让市场中实力强劲的亚军也走向消亡。(对于任何曾梳理过专有PC操作系统、文字处理软件、会计程序乃至整个商业软件历史的人来说,这一规律应当尤为清晰。)“工厂模式”所催生的这种扭曲的激励机制,最终必然导向“赢家通吃”的市场格局,即使是最终的赢家,其客户也终将以损失收场。
若不采用“工厂模式”,出路何在?要真正高效地应对软件生命周期的实际成本结构(“高效”在此兼指日常语义与经济学术语中的涵义),我们就必须建立一套基于服务合同、订阅模式、厂商与客户持续价值交换为核心的定价体系。这正是像ERP(企业资源规划)系统这样的大型商业软件产品的已采用的通行模式,这些产品的开发成本极为高昂,任何固定售价都无法覆盖所有成本;像Baang和Peoplesofth这样的公司实际上是通过售后咨询服务盈利的。在自由市场追求效率的内在驱动下,我们可以预见:这将是成熟软件产业绝大多数领域最终的定价结构。
以上分析让我们初步看清:开源软件之所以对现有秩序构成日益严峻的挑战,不仅在技术层面,更在经济逻辑。软件“自由化”所产生的效应,似乎正在迫使我们进入一个由服务费主导的世界,并由此揭示:闭源软件中那些保密代码的销售价值,作为商业模式支柱是何等脆弱。
这一转变带来的阵痛,或许并不如表面看来那般剧烈。许多消费者发现,盗版软件(尤其是游戏、操作系统和生产力工具)很容易获得,因此,在消费者眼中,为许多专有软件付费的理由只在于它能换取其他东西:厂商支持、纸质手册,或是一种道德上的心安。商业化发行的所谓“自由”软件,其定价理由往往也与此如出一辙,唯一的区别在于,这些厂商不会自欺欺人地以为,软件代码本身就一定对客户有价值。
“自由”一词的误导性还体现在另一方面。降低商品本身的成本,往往会提升而非抑制对其支撑体系(人力与基础设施)的总投入。汽车价格下降,反而会推升对汽车技工的需求。同理,即使在开源世界中,目前那5%依靠软件销售价值获酬的程序员,也不太可能遭受损失。在这场转型中真正受损的,不是程序员,而是押注闭源策略、且该策略在经济上已难以为继的投资者。
-
如果我们假设编程人才在项目用户群中是均匀分布的,那么随着项目规模扩大,人才供给不足的问题确实会与用户数量成线性比例增长,然而实际情况并非如此。第2节讨论的激励机制(以及一些更常规的经济学原理)意味着,合格的人才会主动寻找与自己兴趣匹配的项目,项目也在寻找他们。因此理论(以及经验)表明,最有价值(最合格、最有动力)的人才往往会在项目生命周期的相对早期就发现他们适合的项目,随后这样的人才会逐渐减少。虽然缺乏硬数据,但根据经验,我强烈怀疑在一个成长型项目的生命周期中,吸纳人才的过程往往遵循一条经典的逻辑斯蒂曲线(S型曲线)。
-
肖恩·哈格里夫斯(Shawn Hargreaves)在其文章 《参与开源游戏》(Playing the Open Source Game,链接:http://www.talula.demon.co.uk/games.html)中,对开源方法在游戏领域的适用性做了精彩分析。
-
给财务人员的提示:即便我们从不变美元切换到折现值的视角i,“服务成本终将淹没固定预付费”这一论点依然成立。因为未来的销售收入会与未来的服务成本同步折现。 一个类似但更精巧的反驳是:就每份软件副本而言,当购买者停止使用软件时,服务成本就会降为零。因此,如果用户在产生过高服务成本之前就停止使用,厂商仍可能盈利。这本质上只是“工厂式定价会奖励生产‘货架软件’” 这一论点的另一种表述。或许一个更有启发性的说法是:服务成本淹没采购收入的风险,会随着软件预期使用寿命的延长而增加。所以说,“工厂模式”惩罚的是质量。
-
韦恩·格拉姆利奇(Wayne@Gramlich.Net)提出,工厂模式的持续存在部分可归因于过时的会计规则j,这些规则制定时,机器和建筑更重要,人则没那么重要。软件公司的账面上,电脑、办公家具和建筑是资产,程序员则是开支。当然,现实情况是,程序员才是真正的资产,而电脑、办公设备和建筑几乎无关紧要。国税局和股市压力维持着稳定统一的会计规则,以降低对公司价值进行美元计价的复杂性,这种反常的估值方式因此得以延续,由此产生的阻力使规则未能跟上现实的变化。
按照这种观点,给产品中的每个比特位都定高价(不包括未来的服务价值),在某种程度上是一种防御机制,是各方心照不宣的共识,假装本体论基础k还没有从标准会计规则下坍塌。
(格拉姆利奇还指出,这些规则支撑着许多软件公司在IPO后上演离奇且往往自我毁灭的收购狂潮:"软件公司通常会增发一些股票来积累‘战争基金’。但他们不能把这些钱花在扩充开发人员上,因为会计规则会把这笔钱算作增加的开支。于是,这家新上市的软件公司只能通过收购其他软件公司来成长,因为会计规则允许你把收购当作投资来处理。")
a. Sales value 一般译作“交换价值”,但由于本文强调销售行为故译作“销售价值”。使用价值与销售(交换)价值是商品二重性理论(经典阐述见亚当·斯密《国富论》The Wealth of Nations)的分析范畴,关乎商品的内在属性;而“中间产品”与“最终产品”是国民经济核算(核心定义见联合国《国民账户体系》System of National Accounts, SNA)的统计概念,关乎产品在生产链中的位置,两者无对应关系。e.g. CPU、电脑、硬盘的使用价值是“组成电脑核心部件的能力”;它们作为零件在市场上也有销售价格。在核算电脑的最终价值时,它们是中间产品。
b. 此处的“工厂模式”是一种经济学类比,其核心是将生产理解为一种标准化、线性的传统制造业流程思维。
c.** 制成品(manufactured goods)**:是经济学和贸易领域的专业术语,与初级产品(primary goods)相对,指经过工业加工的产品。
d. 重置成本(replacement costs):又称现行成本,是按照当前市场价格重新购建或取得资产所需的金额。即在当前市场条件下,重新开发或购买一个具有同等功能的全新软件所需的全部费用。
e. 无形商品(intangible goods):经济学专业术语,与有形商品(tangible goods)相对。指不具备实物形态,但具有价值和使用价值的非物质的劳动产品以及有偿经济言行。除了文中的商品,金融服务(存款贷款、资产管理、证券交易、保险保障)、教育服务(心理咨询、家教)和知识产权(专利、商标、版权)均在此范畴内;软件作为本文讨论的核心,正是这类无形商品的典型代表。
f. ESR这里化用了电影《高地人》(Highlander)的经典台词“In the end, there can only be one”。该片设定永生者互相厮杀直至仅剩一人,此句的戏剧张力堪比香港武侠片中“今日,不是你死就是我活”的终极对决场面,因而成为流行文化梗,甚至在NBA季后赛宣传片中也曾出现。
g. Baan:制造业ERP的始祖,为复杂的制造业(如飞机制造、汽车)提供了高度集成的解决方案,特点是软件模块化和高度的可定制。
h. PeopleSoft:人力资源软件的开创者,于2000年率先推出了纯互联网架构,让用户无需安装客户端软件,可以通过浏览器访问。
i. 不变美元(constant dollars):是2012年《海峡两岸经贸名词》公布的经贸领域专业术语,指通过价格指数调整后,反映特定基期美元实际购买力的计量单位。该概念通过剔除价格波动因素,使不同时间段的美元价值具有可比性;折现值(Present Discounted Value)也称贴现值PDV,指将未来的一笔钱按照某种利率折合为现值。
j. 会计规则(Accounting Rules):财务术语,指企业在进行会计核算(记账、算账、报账)时必须遵循的规则、程序和指南。作为系统化概念,最早由佩顿(W.A. Paton)和利特尔顿(A.C. Littleton)在1940年合著的《公司会计准则绪论》(An Introduction to Corporate Accounting Standards)中系统阐述。其后经美国会计程序委员会(CAP,1938)、会计原则委员会(APB,1959)及财务会计准则委员会(FASB,1973)的持续制度化,形成现代会计准则体系。美国的会计规则采用规则导向,内容详尽复杂、规范力强,与中国会计规则只规定通用处理原则的原则导向有明显区别,其“事无巨细皆有规定”的特点,正是“过时规则得以持续”的制度土壤。
k. 本体论(Ontology):哲学术语,由亚里士多德在《形而上学》(τὰ μετὰ τὰ φυσικά,拉丁文转写为ta meta ta physika)中提出,研究什么东西“真正存在”、存在有哪些方式。这里指传统的会计准则建立"本体论假设"之上,这种假设认为只有机器、厂房这类看得见摸得着的实物才是"真正存在"的资产,而程序员写的代码、创造的知识产权不算。目前已有回应该问题的会计本体论研究,如Richard Mattessich的著作 《Reality and Accounting: Ontological Explorations in the Economic and Social Sciences》(2014)。
4.4 信息渴望“自由”a之迷思
还有一个与“工厂模式”的错觉对等且相反的迷思,这就是信息应该“自由”的说法,常常误导人们对开源软件经济学的理解。 这种说法的核心主张是:由于复制数字信息的边际成本b为零,那么它的市场均衡价格c也应为零 (或者说,一个充斥着复制者的市场会将其价格压低至零)。
诚然,某些信息确实有渴望“自由”的一面,但这种“自由”是有前提的。技术标准文档就是一个很好的例子, 因为当更多人能获取这些信息时,它们的价值反而会增加。 然而,认为所有信息都渴望“自由”的观点却站不住脚,我们只需看那些指向竞争性商品d的排他性信息就明白了, 比如藏宝图、瑞士银行账号,或者电脑密码这类服务使用权凭证。 这类指引信息确实可以无限复制,然而它们所指的标的物(宝藏、账户、计算机服务)却无法被复制。 因此,标的物本身的非零成本属性,自然也就转嫁给了这些指引信息。
我们澄清这种迷思,主要是想说明:它与那些从实用角度支持开源的论证,几乎没有关联。 我们稍后就会看到,即使假定软件确实具备制成品那样的非零价值结构, 这些经济学论点依然能够成立。因此,我们无需探讨软件是否应该“自由”的问题。
a. “自由”在此处是双关词,既有自由也有免费的涵义。译者选择保留这个双关,意图呼应致敬“自由软件”的开源用语,详见《什么是自由软件?》和《为什么开源错失了自由软件的重点》。“信息渴望自由”(Information wants to be free)这一表述最初由斯图尔特·布兰德(Stewart Brand)在1984年黑客大会上提出,原话包含辩证张力:“信息既想昂贵(因其价值),又想自由(因复制成本趋零)”。本节所批判的迷思特指该口号被庸俗化后剥离前半句、仅保留“应自由”的简化版本。
b. 边际成本(marginal cost):指每多生产一单位产品所增加的总成本,计算公式为“边际成本 = 总成本的变化量 / 产量的变化量”。 该概念由新古典经济学创始人阿尔弗雷德·马歇尔(Alfred Marshall)在其著作 《经济学原理》(Principles of Economics)中系统阐述, 马歇尔将生产成本区分为直接成本(prime cost,即可变成本)与补充成本(supplementary cost,即固定成本),并在此基础上定义了边际成本。
c. 市场均衡价格(market clearing price):当供给量等于需求量时,此时的价格就是 “市场出清/均衡价格”。 当市场出清时,市场处于均衡状态,因此可以和均衡价格(equilibrium price)互换使用。 阿尔弗雷德·马歇尔(Alfred Marshall)亦在其著作 《经济学原理》(Principles of Economics)里建立了供求模型, 保罗·萨缪尔森(Paul Samuelson)和曼昆(N. Gregory Mankiw)亦有提及该供求模型。
d. 竞争性商品(rivalrous goods):指具有竞争性的一类产品或服务,即当一个人消费该商品时,会阻止或减少其他人同时消费同一商品的可能性。 此处引用的是无形商品(intagible goods)的例证,藏宝图、瑞士银行账号、电脑密码的所有权具有排他性;除此以外,耐用品与非耐用品也存在竞争性: 耐用品(锤子、汽车)的竞争性体现在一个人使用时其他人无法同时使用;非耐用品(苹果、食物)的竞争性体现在一旦被使用就完全消耗,无法再供他人消费。 萨缪尔森(Paul Samuelson)于1954年发表的经典论文《公共支出的纯理论》(The Pure Theory of Public Expenditure) 中,首次系统提出竞争性概念的理论。
4.5 反向公地的正向循环
在以怀疑的眼光审视了一种广为流传的模式之后,让我们来看看能否建立另一种模式:可以解释开源合作为何可持续的、实事求是的经济学解释。
我们需要从几个不同层面上考察该问题。一个是为开源项目做出贡献的个体的行为;另一个则是支撑像 Linux 或 Apache 这样的项目持续合作的经济力量。
再次强调,我们必须首先破除一个广为流传、妨碍理解的朴素观念。每当我们试图解释合作行为时,加勒特·哈丁"公地悲剧"的阴影始终笼罩其上。
哈丁让我们假想一片由当地牧民共有的草场,他们在那里放牛。但是,放牧会破坏公地、踩踏草地、留下泥泞的秃斑,而这些秃迹斑斑的植被恢复得又很缓慢。如果没有公认的(且强制执行!)的放牧权分配政策来防止过度放牧,各方利益的激励将驱使他们尽快、尽可能多地放牛,力求在公地退化成泥沼之前攫取最大价值。
大多数人对合作行为的直觉都与此非常相似。公地悲剧实际上源于两个相互关联的问题:一个是过度使用,另一个是供给不足。在需求方面,公地状况鼓励了因过度使用而导致的逐底竞争,经济学家将此称为拥挤性公共物品问题b。在供给方面,公地奖励了搭便车行为c,从而削弱甚至消除了个体行动者投资开垦牧场的动机。
公地悲剧只预测了三种可能的结果:草场变成泥沼;某个拥有强制力的行动者代表村庄强制执行分配政策(共产主义式解决方案d);公地解体,村民圈出自己能够防守并可持续管理的地块(产权式解决方案)。
当人们不经反思地将此模型应用于开源合作时,他们认为开源合作不稳定、持续时间很短。由于没有切实可行的方法能通过互联网强制执行程序员时间的分配政策,这个模型的直接后果是:公地将会解体,各种软件片段会被封闭源代码,而反馈回公共池的工作量将迅速减少。
事实上,经验清楚地表明,趋势与此相反。开源开发的广度和数量趋势,可以通过Metalab和SourceForge(主要的 Linux 源码站点)的每日提交量,或者freshmeat.net(一个专门发布新软件广告的站点)的每日公告量来衡量。两者的数量都在稳步快速增长。显然,"公地悲剧"模型在某个关键方面未能捕捉到实际发生的情况。
部分答案在于,使用软件并不会降低其价值。实际上,开源软件得到广泛使用往往会增加其价值,因为用户会修复bug和增加新功能(提交代码补丁)。在这个反向公地里,草地越是有人放牧,它反而长得越旺。
这种公共物品不会因过度使用而退化,这解决了哈丁悲剧的一半,即拥挤的公共物品问题。但它不能解释为什么开源没有供给不足的问题。为什么搭便车行为在开源社区并不普遍,为什么他们不是等着别人来完成自己所需的工作,或者,即使自己做了工作,也不愿把成果回馈给公地呢?
部分答案在于,人们不仅仅需要解决方案,他们还需要及时的解决方案。预测别人什么时候能完成某项所需工作几乎是不可能的。如果修复一个 bug 或添加一个功能对任何潜在的贡献者来说回报足够大,那个人就会投入其中(此时其他人都搭便车的事实就无关紧要了)。
另一部分答案在于,对公共源码库的小补丁,其假定的市场价值是难以捕捉的。假设我写了一个修复某个 难缠的 bug 的补丁,并且假设许多人明白这个补丁可以变现,那我如何向这些用户收费?传统的支付系统的高昂开销,让通常合适的小额支付显得不合时宜。
更关键的一点可能在于,这种价值不仅难以捕捉,它在一般情况下甚至难以评估。我们不妨做一个思想实验:假设互联网配备了理论上理想的小额支付系统:它安全、普遍可访问,而且零成本。现在,假设你写了一个名为"Linux 内核杂项修复"的补丁。你怎么知道它应该要多少价钱?一个潜在买家,在还没看到补丁之前,又怎么知道付多少钱合理呢?
这几乎是F. A. 哈耶克的"计算问题"e的哈哈镜映像,这个问题需要一个超人,既能够评估补丁的功能价值,又能够得到信任据此定价,才能保证交易顺畅。
不幸的是,存在严重的超人短缺,所以补丁作者J. Random Hackerf只剩下两个选择:把补丁攥在手里,或者把它无偿投进公共代码池里。
把补丁攥在手里毫无益处。实际上,这反而会在未来产生成本,即在每个新版本中将该补丁重新合并到源代码库所需的工作量。因此,这种选择的收益实际上为负(并且会随着开源项目特有的快速发布节奏而倍增)。
更乐观地说,贡献者通过将补丁的维护开销,转移给源代码所有者和项目组的其他成员而获益,他也因其他人将来改进他的工作而获益。最后,因为他不必自行维护这个补丁,他有更多时间做其他规模更大的定制,来满足自己的需求。支持将整个软件包开源的那些论点,同样适用于补丁。
把补丁投进公共代码池可能一无所获,也可能激励他人的互惠成果,这些成果将来会解决J. Random的一些问题。这个看似利他的选择,从博弈论意义上讲,实际上是理性自利的最优解。
在分析这种合作时,重要的是要注意到,虽然存在搭便车问题(在没有金钱或金钱等价物补偿的情况下,工作可能供给不足),但是它并不随着最终用户的数量而扩展(详见尾注 1)。一个开源项目的复杂性和通信开销几乎完全取决于参与开发者的数量;拥有更多不看源代码的最终用户实际上不产生任何成本。这可能会增加项目邮件列表上蠢问题的数量,但通过维护一个FAQ(常见问题)列表,并坦然无视那些显然没读过它的提问者,可以相对容易地避免这种情况(实际上,这两种做法都很典型)。
开源软件中真正的搭便车问题,与其说在于其他方面,不如说更在于提交补丁的摩擦成本。一个在文化声誉博弈中没什么既得利益的潜在贡献者,在缺乏金钱补偿的情况下,可能会想:"不值得提交这个修复,因为我得清理补丁,写变更日志条目,还要签署FSF的授权文件……"。正是因此,项目的贡献者数量(及其二阶效应,项目的成功)与每个项目让贡献用户需要跨过的门槛数量呈强烈的负相关。这些摩擦成本既可能是机械性的,也可能是政治性的。我认为它们共同解释了为什么松散、没有定形的Linux文化吸引的合作能量比组织更严密、更集中的BSD产出高出几个数量级——以及为什么随着Linux的崛起,自由软件基金会的重要性相对有所下降。
就解释范围而言,这些都很好,然而这只是J. Random Hacker创建补丁之后如何处理的事后解释。我们需要的另一半解释是,JRH当初是怎么能写出那个补丁的,而不是被迫从事可能为他带来销售价值的闭源软件开发工作。是哪些商业模式创造了可以让开源开发蓬勃发展的利基市场?
a. 反向公地(inverse commons):与后文"公地悲剧"相对,指向反公地悲剧(Tragedy of the Anti-Commons) 的理论框架,该框架由美国法学家迈克尔·赫勒(Michael Heller)在1998年提出。公地悲剧强调过度使用(资源因共有而被耗尽);反公地悲剧则强调使用不足(资源因产权分割过细、权利主体过多,导致无人能有效整合利用,最终资源闲置)。本文用"反向公地"形容开源软件"越用越多"的特性,是对经典理论的反向运用。
b. 拥挤性公共物品(congested public goods):公共物品理论中的子类,指那些在消费上具有竞争性、但无法有效排他的物品。经济学家詹姆斯·布坎南(James Buchanan)在1965年的《俱乐部理论》中对此有过系统阐述。典型例子包括高速公路、公共渔场,当使用人数超过阈值,每增加一个使用者都会降低他人可享用的效用。哈丁的公地悲剧描述的正是这种因拥挤而导致的资源退化。
c. 搭便车行为(free-rider behavior):公共选择理论的核心概念,由曼瑟·奥尔森(Mancur Olson)在1965年《集体行动的逻辑》(The Logic of Collective Action)中系统阐述。指理性个体在共享公共物品时,倾向于不付出成本而坐享其成——因为个体贡献的收益被集体稀释,而成本由自己完全承担。搭便车问题与公共物品的非排他性(保罗·萨缪尔森,1954)直接相关:既然无法阻止他人受益,自愿付费的动机就会被削弱。本文的论述正在于解释:开源社区为何绕过了这一经典困境。
d. 共产主义式解决方案(the communist solution):此处沿用哈丁(1968)原文术语,指由中央权威统一分配资源的治理模式,与后文"产权式解决方案"(私有化)形成二元对照。在西方学术语境中,"共产主义"常被用作集体所有+中央计划的简写,用以指代与市场机制相对的资源配置方式。此为学术讨论中的类型学划分,不必然对应现实中的政治制度。
e. 计算问题(calculation problem):奥地利经济学派的核心概念,由路德维希·冯·米塞斯(Ludwig von Mises)于1920年提出,后经F.A.哈耶克(F.A. Hayek)深化。该问题指向中央计划经济的根本困境,包含两个维度:(1)价格维度:缺乏真实市场价格,导致资源配置缺乏有效信号;(2)信息维度:经济决策所需的知识分散于无数个体,且多为难以量化的隐性知识(tacit knowledge),无法被中央计划者完整搜集(哈耶克,1945,《知识在社会中的运用》)。文中用计算问题的哈哈镜映像做类比,说明开源补丁的价值同样难以评估,需要"超人"才能定价。
f. J. Random Hacker:开源文化中对程序员或贡献者的通用代称,起源于MIT人工智能实验室的传统。"J. Random"是英语中"某甲"(John Doe)的变体,带有"身份随机、可指代任何人"的意味。该词在开源社区广为认知,且中文无完全对应表达,故保留原文。
4.6 选择闭源的理由
在给开源商业模式分类之前,我们通常应该先讨论闭源的排他性收益。当我们选择闭源时,我们究竟在保护什么?
假设你雇佣某人为你公司定制开发(比如说)一个专业的会计软件包,这个问题并不会因为源码是闭源而非开源就能更好解决。你希望源码闭源的唯一理性原因,要么是你想把这个软件包卖给其他人,要么就是想阻止竞争对手使用它。
显而易见,你在保护销售价值,然而这点对于95%仅供内部使用的软件并不适用。那么,闭源还有其他什么好处呢?
第二种情况(保护竞争优势)值得稍加审视。假设你把那个会计软件包开源了,它开始有了热度,并从社区的改进中获益。现在你的竞争对手也开始用它,不仅无需开发成本就能获得好处,还在侵蚀你的业务。这是反对开源的理由吗?
也许是,也许不是。真正的问题在于,你通过摊开发工作量所获得的收益,是否超过了搭便车者激化竞争所造成的损失。许多人对这种权衡的推理往往有失偏颇,原因在于:(a)忽视了招募更多开发人员所带来的功能优势,以及(b)没有将开发成本视为沉没成本。既然假设成立,你无论如何都必须支付开发成本,因此(如果你选择开源)将其视为开源的代价是错误的。
另一个经常被提及的理由是:担心公开某个特定专业会计功能的源码,可能等同于泄露你的商业机密。这实际上不是支持闭源的理由,而是反对劣质设计的理由。在编写得当的会计软件包中,业务知识根本不应该用代码来表达,而应该用由会计引擎实现的模式或规范语言来表达(一个很相近的例子:数据库模式将业务知识从数据库引擎的运行机制中解耦)。这种功能分离将使你能够保护核心资产(模式),同时从开源引擎的行为中获得最大收益。
还有一些闭源的理由是完全不理性的。例如,你可能误以为闭源会使你的业务系统更安全,能抵御骇客和入侵者。如果是这样,我建议你立即去找密码学家谈谈,保管能瞧好你不切实际的幻想。真正的安全业老鸟深知闭源程序并不安全可靠,因为他们从惨痛的经历中吸取了教训。安全性是可靠性的一部分,算法和实现只有经过彻底的同行评审,才可能信任它是安全的。
4.7 基于使用价值的开源资助模式
使用价值和销售价值的区别让我们注意到关键事实:只有销售价值会受到闭源到开源这一转变的威胁,而使用价值则不会。
如果软件开发真正的主要动力是使用价值而非销售价值,并且(正如《大教堂与集市》中所论证的)开源开发确实比闭源开发更有效、更高效,那么我们应该能够找到这样的情景:仅凭预期的使用价值,就能可持续地资助开源开发。
实际上,我们不难识别出至少两种重要的模式。在这些模式下,开源项目全职开发者的薪酬完全来自使用价值。
Apache的案例:分摊成本
假设你在一家公司工作,该公司有个关键业务需求:需要一台能处理海量请求、可靠性高的Web服务器。它可能用来支持电子商务高频交易,也可能用来给高流量媒体做广告营销,又或者用来支持门户网站日常运维。服务必须7x24小时不间断运行、必须速度快、还必须具备可定制性。
为满足你的需求,有三种基本策略可供选择:
-
购买专有Web服务器。 在这种情况下你赌的是:供应商的开发节奏和你的需求能对上,而且供应商的软件质量要过关、能及时响应你的需求。即使假设这两点都成立,产品在可定制性方面可能仍显不足,你只能通过供应商提供的钩子函数进行修改。从每月的Netcraft调查就可以看出,这种专有服务并不吃香,而且越来越不吃香。
-
自行开发。 自己搭建Web服务器并非可以立即排除的选择:Web服务器并不算复杂,肯定比浏览器简单,而且专门的服务器可以非常精简高效。走这条路,你可以获得你想要的精确功能和可定制性,尽管你要用开发时间来兑现。当你退休或者离职时,公司怕是要接手这份祖传代码。
-
加入Apache小组。 Apache服务器是由一群通过互联网协作的网管建立的,他们发现,将他们的成果集中起来共用一个代码库,比各自并行开发大量项目更明智。这么做之后,他们既保留了自行开发的大部分优势,又获得了大规模同行评审的强大调试效果。
选择Apache的优势非常显著,它究竟有多强,我们可以从每月的Netcraft调查中判断。该调查显示自Apache诞生以来,其市场份额相对于所有专有Web服务器稳步增长。截至2000年11月,Apache及其衍生版本占据了60%的市场份额(http://www.netcraft.com/survey/),它背后没有任何公司实体,没有做任何市场推广,也没有签约任何服务机构。
Apache的案例体现了一种模式:互相竞争的软件用户发现,合作起来资助开源开发对他们有利,因为这样做能让他们以更低的成本获得比其他方式更好的产品。
思科的案例:分散风险
几年前,思科(网络设备制造商)的两名程序员接到了一项任务:编写一个用于思科公司内部网络的分布式打印假脱机系统。这是一个相当大的挑战:除了要支持任意用户A在任意打印机B(可能在同一房间,也可能在千里之外)打印外,系统还必须确保在缺纸或墨粉不足的情况下,作业能够被重新路由到目标附近的一台备用打印机。该系统还需要能够向打印机管理员报告这些问题。
这两人想出了一套巧妙的修改方案,对标准的Unix打印假脱机软件做了修改(http://www.tpp.org/CiscoPrint/),还添加了一些包装脚本,顺利完成了任务。然后他们发现,他们自己和思科要面临一个问题。
问题在于,他们两个都不太可能永远留在思科。最终,这两位程序员都会离开,软件将无人维护,沦为祖传代码(即逐渐与现实世界条件脱节)。没有开发者愿意看到自己的作品落得这般下场,而这对勇敢的组合认为,思科付费购买解决方案,是基于一个并非不合理的期望:该方案的使用寿命能超过他们自己在思科的任职期限。
因此他们去找经理,强烈建议他批准将该打印队列软件作为开源软件发布。他们的理由是,思科不会损失任何销售价值,反而会有很多其他收获。思科可以激励一个遍布众多公司的用户和共同开发者社区发展壮大,从而有效地对冲软件原始开发者流失的风险。
思科的案例表明,开源不仅可以降低成本,还可以分散和减轻风险。所有参与方都发现,开放源代码,以及由多个独立收入来源资助的协作社区的存在,共同提供了一种本身具有经济价值的兜底机制,足以吸引资金为其买单。
4.8 销售价值的困境
开源让厂商难以从软件中获取直接销售价值。这种困难并非技术层面的原因,源代码和二进制代码在复制难易程度上并无本质区别,开源产品未必比闭源产品更难通过版权和许可法律保障销售价值。
这种困难的根源在于开源开发的社会契约本质。基于三个互为因果的理由,主流开源许可证禁止了对使用、再分发和修改的大多数限制,而这些活动恰恰是获取直接销售收入的关键手段。要理解这些理由,我们必须审视许可证在演进过程中的社会背景:互联网黑客文化。
尽管外界对黑客文化仍然存在广泛的误解,但这些理由没有一个与敌视市场有关。虽然少数黑客确实对逐利动机持排斥态度,但社区与Red Hat、SuSE、Caldera等盈利性Linux发行商合作的普遍意愿表明,只要合作符合自己的目标,大多数黑客就乐于与企业界合作。黑客们反对直接收入获取许可证的真正理由,其实更为微妙且深刻。
第一个原因涉及互惠性a。虽然大多数开源开发者并不反对他人从自己的馈赠成果中获利,但他们同样要求任何一方(代码原创者可能例外)都不能处于垄断利润的优越地位。J. Random Hacker接受坑爹b公司通过销售他本人的软件或补丁盈利,但前提是这种获利机会对他自己也平等开放。
第二个原因涉及意外后果。黑客们观察到,那些包含商业使用限制或销售费用的许可证(这是最常见试图获取直接销售价值的方式,初看似乎合理)会产生严重的寒蝉效应。一个具体表现是,它会为廉价CD-ROM选集的再分发等我们本应鼓励的活动蒙上法律阴影。使用/销售/修改/分发的限制(以及许可条款的其他复杂性)需要人们付出额外开销来追踪合规情况,而且随着人们处理的软件包越来越多,感知到的不确定性和潜在法律风险也将呈组合式爆炸。黑客们认为这种结果是有害的,因此圈内有强大的舆论压力要求许可证简洁、无限制。
最后一个也最关键的原因,在于保护《开拓智域》中提到的同行评审和礼物文化的运作模式。旨在保护知识产权或获取直接销售价值的许可限制,往往在法律上断绝了forkc项目的可能性。Sun公司针对Jini和Java的所谓"社区源代码"许可证就属于这种情况。虽然大家普遍对fork行为嗤之以鼻,也认为这种行为是万不得已之举(原因在《开拓智域》中有详细论述),但是当维护者无能或背刺(例如转向更封闭的许可证)时5,保留这个最后的手段至关重要。
黑客社区对互惠性理由有一定弹性,因此能容忍网景通信公司(Netscape)公共许可证(NPL)这类给予代码原创者某些利润特权的许可证(就NPL而言,原创者拥有在包含闭源代码的衍生作品中独家使用开源Mozilla代码的权利)。然而对于意外后果的理由,社区的弹性较小;而对于保留fork选项的权利,则完全没有妥协余地(这就是社区基本拒绝Sun的Java和Jini社区源代码许可方案的理由)。
(这里有必要重申:黑客社区中没有人希望项目分裂成相互竞争的开发分支;实际上,正如我在《开拓智域》中所观察到的,出于充分的理由,存在反对fork的非常强大的社会压力。同样也没有人希望被卷进纠察线、法庭或枪战中。但fork权就像罢工权、诉讼权或持枪权,你不必行使其中任何一个权利,然而有人想剥夺这些权利就是严重危险的信号。)
这些理由解释了《开源定义》中的条款,该定义体现了黑客社区对标准许可证(如 GPL、BSD 许可证、MIT 许可证和艺术许可证)核心要素的共识。这些条款客观上(尽管并非主观意图)让厂商极难获取直接销售价值。
a. 互惠性(reciprocity):人类学核心术语,是莫斯在礼物文化理论中提出的奠基性概念。ESR使用reciprocity一词,正是意图呼应前文提到的礼物文化,它是相互给予、相互受益的。
b. 原文为Fubarco。它并非真实存在的公司,而是美军俚语 "Fouled Up Beyond All Recognition"(糟透了/完全搞砸了)的缩写(二战时期流行,后来更常见的版本是 "Fucked Up Beyond All Repair/Recognition")。在黑客文化和技术幽默中,常被用作虚构的占位符。
c. 技术圈约定俗成的用法就是fork,故译者选择保留原文。
4.9 开源软件的间接获利之道
然而,确实存在一些围绕软件相关服务构建市场的模式,能够获取类似间接销售的价值。目前有五种已知模式和两种探索性模式属于此类(未来可能还会发展出更多模式)。
舍卒保车,抢占市场
在这种模式下,你利用开源软件为专有软件创造或维持市场份额,而这些专有软件能带来直接收入流。最常见的形式是,开源客户端软件带动服务器软件销售,或带动与门户网站相关的订阅/广告收入。
网景通信公司在1998年初将Mozilla浏览器开源时,采用的就是这一策略。当时,他们浏览器业务的收入已降至总收入的13%,并且还在微软首次发布IE浏览器后持续下滑。微软大力营销IE(以及后来成为反垄断诉讼核心问题的涉嫌不当的捆绑行为),迅速蚕食了网景的浏览器市场份额,这引发了人们的担忧:微软意图垄断浏览器市场,然后利用对HTML和HTTP的事实控制权将网景挤出服务器市场。
网景通过将旗下仍广受欢迎的浏览器开源这一做法,有效地阻止了微软垄断浏览器市场。他们期望开源协作能加速浏览器的开发和调试,并希望微软的IE不得不被动追赶,从而无法垄断HTML标准。
这一策略奏效了。1998年11月,网景实际上开始从IE手中夺回部分商业市场份额。到1999年初美国在线收购网景时,保持Mozilla项目活跃的竞争优势已非常明显,以至于美国在线最初的公开承诺之一就是继续支持当时仍处于Alpha阶段的Mozilla项目。
开源软件,反哺硬件
此模式适用于硬件制造商(这里的硬件包括:从以太网等外围板卡,到完整的计算机系统)。市场压力迫使硬件公司编写和维护软件(从设备驱动程序、配置工具等简单软件,直至整个操作系统层面的复杂软件),但软件本身并非利润中心,它是一项通常不菲的开销。
在这种情况下,开源是显而易见的明智之举。因为不会损失任何收入流,所以没有负面影响。供应商获得的是显著扩大的开发者群体、对客户需求更快速灵活的反应,以及通过同行评审带来的更高可靠性,还能免费获得面向其他环境的移植版本。更重要的是,当客户的技术人员根据需要投入更多时间来改进源代码时,供应商还可能赢得更高的客户忠诚度。
供应商通常会针对开源硬件驱动程序提出一些特定的反对意见。为了避免将这些意见与更通用的问题混在一起,我将另行撰文讨论此话题(见《后记:闭源驱动导致供应商亏损的原因》)。
开源带来的"长效兼容"效应在硬件领域尤为突出。硬件产品的生产和售后支持是有期限的,之后客户就只能靠自己了。然而如果他们能获得驱动源代码,并能根据需要自行修补,他们就更有可能成为满意的回头客。
苹果电脑公司在1999年3月中旬决定将Mac OS X服务器操作系统的内核"Darwin"开源,是采用"开源软件,反哺硬件"模式的、非常引人注目的案例。
共享配方,经营餐馆
在这种模式下,开源软件不是为了像舍卒保车模式那样为封闭软件创造市场地位,而是为了服务。(我曾称之为"羊毛出在羊身上",但这里面的耦合关系其实不像羊毛和羊那么紧密。)
此模式由Cygnus Solutions首创,该公司可算作第一家开源商业公司(1989年)。当时,GNU工具为多种机器提供了通用的开发环境,但每种工具都使用不同的配置过程,并且需要一套不同的补丁才能在各个平台上运行。Cygnus公司整合了GNU的工具链,并创建了"configure"a脚本以统一构建过程(这就是标题说的配方),然后销售与他们的GNU工具版本捆绑在一起的二进制文件和支持服务(这就是标题说的餐馆)。根据GPL许可证的规定,他们允许客户自由使用、分发和修改其分发的软件,如果站点使用支持服务的用户数量超出合同约定,则可以终止服务合同或要求支付更高费用(就像吃自助餐不能几个人合买一份拼单)。
这也是Red Hat和其他Linux发行商所做的。他们实际销售的并非软件本身,而是通过组装测试一个可运行的操作系统所增加的价值,而这个系统即便只是默示担保b,也具备适销性c,能与其他相同品牌的系统实现即插即用。他们价值主张的其他要素包括免费安装支持和提供持续支持合同的选择。
开源的"市场建设"效应可能极为强大,尤其是对于那些从一开始就必然处于服务位置的公司而言。最近一个非常有启发性的案例是Digital Creations,这是一家成立于1998年的网站设计公司,专门从事复杂的数据库和交易网站建设。他们的主要工具,也就是公司的知识产权的看家本领,是一个对象发布器,曾有过几个名字和版本,现在被称为Zope。
当Digital Creations寻求风险投资时,他们引入的风险投资家仔细评估了他们的潜在市场、团队和工具。然后,这位风险投资家建议Digital Creations将Zope开源。
按照传统软件行业的标准,这看起来绝对是疯狂的举动。传统的商学院观点认为,像Zope这样的核心知识产权是公司的看家本领,无论如何都不能放弃。但这位风险投资家有两个相关的洞察:一是Zope真正的核心资产实际上是其团队成员的才智和技能;二是Zope作为市场开拓工具可能比作为秘密武器创造更多价值。
要理解这一点,可以比较两种情景。在传统情景下,Zope仍是Digital Creations的秘密武器。假设它非常有效,公司将能够在短时间内交付高质量产品,但问题是没人知道。让现有客户满意很容易,然而在起步阶段建立客户群却更难。
相反,这位风投家看到,将Zope开源可能是对Digital Creations真正的资产,也就是公司团队,起到关键的宣传作用。他预计,评估Zope的客户会认为雇佣Zope的专家比自己培养相应的专家更有效率。
此后,Zope的一位负责人非常公开地证实,他们的开源战略"开启了许多原本无法进入的大门"[原文如此],潜在客户也确实对这种情况的逻辑做出了回应。因此,Digital Creations发展得很好。
另一个最新的例子是e-smith公司(http://www.esmith.net/)。这家公司销售开源的一体化互联网服务器软件(一种定制的Linux)的支持合同。该公司的一位负责人就自家软件免费下载分发这一点做出回应:"大多数公司会认为那是软件盗版,而我们认为那是免费营销(http://www.globetechnology.com/gam/News/19990625/BAND.html)。"
立足开源,销售周边
在这种模式下,你销售的是开源软件的周边产品,包括低端产品和高端产品:低端产品如马克杯和T恤,高端产品如经过专业制作校对的文档。
O'Reilly & Associates公司出版了许多优秀的开源软件参考书籍,它是"销售周边"模式的一个绝佳例证。O'Reilly实际上雇佣并支持著名的开源黑客(如Larry Wall和Brian Behlendorf),以此在目标市场中建立声誉。
限期闭源,永久开源
在这种模式下,你发布的软件以二进制和源代码形式附带一份闭源许可证,然而这个闭源条款是有期限的。举个例子,你可以写一份许可证允许软件免费再分发,但未经付费不得用于商业用途;另外,如果该软件在发布已满一年或供应商倒闭,软件将适用GPL条款。
在这种模式下,客户可以根据自身需求进行定制产品,因为他们拥有源代码。产品是"面向未来"的:因为许可证保证如果原公司倒闭,开源社区就可以接手该产品。
销售价格和数量是基于这些客户预期的,因此与纯粹采用闭源许可证发布相比,原公司应该能从其产品中获得更高的收入。此外,随着较旧的代码采用GPL许可,它们将得到严格的同行评审、错误修复和次要功能改进,会部分减轻原创者高达75%的维护负担。
这一模式已被Aladdin Enterprises(广受欢迎的Ghostscript程序的开发商)成功采用。Ghostscript是一款PostScript解释器,能够将PostScript语言转换为多种打印机的原生语言。
此模式的主要缺点是,闭源条款往往会在产品周期的早期(也是最需要同行评审和参与的时候)阻碍同行参与评审代码。
解放软件,销售品牌
这是一种探索性的商业模式。你将一项软件技术开源,并保留相应的测试套件和兼容性标准,再向通过兼容认证的实现方,出售品牌授权。
(这正是Sun Microsystems对Java和Jini理应采用的方式。)
更新:2000年7月,Sun宣布将旗下的Star Office开源,并且他们将向那些通过了Sun验证套件的、基于该代码库的开发分支,授权使用Star Office品牌。
解放软件,销售内容
这是另一种探索性的商业模式。比如股票行情订阅服务,它的价值既不在于客户端软件,也不在于服务器,而在于提供客观可靠的信息。因此你将所有软件开源,并销售内容的订阅服务。只要黑客将客户端移植到新平台、以各种方式增强它,你的市场会自动扩大。
(这就是AOL理应将自家客户端软件开源的理由。)
a. configure脚本:configure脚本是GNU工具链跨平台构建C/C++项目的重要组成部分,常和make搭配使用。这是技术圈约定俗成的用法。
b. 默示担保(implied warranty):英美商法中的核心概念,与“明示担保”(express warranty,即双方明确约定的担保)相对,指法律自动赋予买卖合同的担保义务,无需双方书面或口头约定,默认存在。其核心目的是保障买方权益,确保所购商品符合基本使用要求,常见类型包括适销性担保、适合特定用途担保等,对应中国《民法典》中“标的物应当符合约定的质量要求;对质量要求没有约定或者约定不明确,依据本法第五百一十条的规定仍不能确定的,适用本法第五百一十一条第一项的规定”(即符合通常使用目的和同类商品通常品质)。
c. 适销性(merchantable):英美普通法 + UCC(美国统一商法典) 里的核心概念,在买卖合同、产品责任、担保条款里高频出现,是默示担保最基础、最普遍的表现形式。指某一商品
i. 达到市场上同类货物的平均水准
ii. 普通买家可以正常使用转卖
iii. 没有隐藏缺陷,可售卖可使用