著佐权与许可声明(译文)
本文是埃里克·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://www.the-cathedral-and-the-bazaar-unofficial.online/
- 仓库地址:https://github.com/natsunoyoru97/the-cathedral-and-the-bazaar
- 翻译日期:2026年2月6日
- 译文版权:Copyright © 2026 natsunoyoru97
- 译文许可:
- 遵循原始作品的Open Publication License, v2.0 协议全文;
- 同时适用本声明所列之补充使用条件,尤其是关于署名、来源标识、非商业衍生、商业使用限制、版本区分与协作方式的规定。本补充条件是对OPL v2.0的补充和细化,不与之冲突。若存在冲突,以OPL v2.0为准。
关键补充声明
- 本译文为译者个人基于ESR官网原始文章的独立重译版本,与O’Reilly出版的图书版及其他商业/非商业译本无关联,未参考或使用任何现有译本内容。
- 本仓库是此版译文的唯一官方维护与完整更新来源,译者保留对本仓库版本的修订、注释、发布与维护决定权。
- 本译文为个人成果,非官方译本,不代表原作者Eric S. Raymond的认可或背书。
- 原文中的引用已按原作者标注的来源注明,相关权利归原权利人所有。若原文存在未标注或标注不充分的第三方内容,该问题原则上源于原文出处而非译者新增内容;译者将在收到权利人通知后及时核查并作必要处理。
- 本译文将持续更新,修订记录见个人代码仓库版本历史。
- Fork与衍生规范
- 欢迎以个人学习、研究、笔记整理、勘误讨论、非商业解读、非商业摘要、非商业可视化或其他不违反本声明的非商业衍生创作为目的 Fork 本仓库。Fork 本仓库不视为获得对本译文进行商业使用或公开再发布完整版本的许可。
- 任何基于本译文的公开衍生作品(如解读、可视化、摘要),必须显著标注原始出处(本仓库链接)及译者署名。
- 禁止未经许可将本译文用于商业出版、商业发行、收费转载、付费课程、收费社群、付费资料包、付费电子书、纸质图书出版,或其他以本译文为主要内容的盈利性使用,如需使用务必征得译者同意并显著标明来源;禁止以去除译者署名、弱化来源说明、冒充官方版本、冒充原维护仓库、误导读者认为衍生版本即本仓库版本等方式造成来源混淆。
- 不得将蒸馏的 skill 冠以译者个人名义(如 natsunoyoru97.skill),译者不反对基于该译本蒸馏的 skill,但不允许在 skill 中明示译者本人:
- “基于 natsunoyoru97 开源译本蒸馏”✅
- “natsunoyoru97 风格译文、natsunoyoru97.skill”❌
协作使用许可
- 欢迎通过 GitHub Issue 提交关于译文、注释的讨论、勘误或建议。
- 为保持译本风格一致、忠实于译者小记的宗旨,不接受 Pull Request。重大修改请通过Issue讨论。
- 转载或修改译文时,需保留本声明,标注修改痕迹;如对译文内容作出删节、改写、重排、再注释或其他修改,须明确说明“此版本基于本版译文改编/整理,并非原维护版本”;修改版本仍应遵守 OPL v2.0 及本声明中的相关补充条件。
- 出版纸质标准图书需获得原作者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):指具有竞争性的一类产品或服务,即当一个人消费该商品时,会阻止或减少其他人同时消费同一商品的可能性,ESR 此处实际上是在谈论非竞争性的信息与竞争性标的物之间的绑定关系。此处引用的是无形商品(intangible 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) ,反公地悲剧与后文"公地悲剧"相对:公地悲剧强调过度使用(资源因共有而被耗尽);反公地悲剧则强调使用不足(资源因产权分割过细、权利主体过多,导致无人能有效整合利用,最终资源闲置)。
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. 没有隐藏缺陷,可售卖可使用
4.10 何时开源,何时闭源
在回顾了支持开源软件开发的商业模式之后,我们现在可以探讨一个普遍性问题:什么时候开源具有经济意义,什么时候闭源更合适。首先,我们必须清楚每种策略的收益是什么。
收益何在?
闭源方法允许你从保密的代码中收取垄断收益a,而另一方面,它排除了真正独立同行评审的可能性。开源方法为独立同行评审创造了条件,但你无法从私有技术中获得垄断收益。
拥有私有技术的垄断收益众所周知,而传统的软件商业模式都是围绕这一点构建的。直到最近,独立同行评审的收益才被人们充分理解。然而,Linux 操作系统的惨痛教训,我们可能早该从互联网核心软件的历史以及其他工程领域学到:开源同行评审是实现高可靠性和高质量的唯一可扩展方法。
因此,在竞争激烈的市场中,寻求高可靠性和高质量的客户会奖励那些走向开源,并学会在软件相关的服务、增值和辅助市场中维持收入流的软件生产者。Linux 的惊人成功背后,正是这一现象。Linux 在 1996 年异军突起,到 2000 年中期已成为商业服务器市场上第二受欢迎的操作系统(而一些调查实际上显示,在 2000 年底它的份额超过了微软)。在 1999 年初,IDC 预测,到 2003 年 Linux 的增长速度将超过所有其他操作系统的总和,而这一预测至今仍然准确。
开源几乎同样重要的一个收益是,它作为推广开放标准和围绕这些标准建立市场的一种工具。互联网的迅猛增长很大程度上归功于没有人拥有 TCP/IP,也没有人对核心互联网协议拥有专有控制权。
TCP/IP 和 Linux 成功背后的网络效应b相当清晰,最终归结为信任和对称性问题c:共享基础设施的参与方若能看清其底层运行逻辑,自然会对这套体系更加信赖。而且他们会更倾向于让所有参与者权利对称的基础设施,而不是某一参与者处于特权地位、榨取垄断收益或单方施加控制的基础设施。
然而,对于软件消费者而言,对称性问题的重要性实际上并不需要假设存在网络效应。如果存在质量可接受的开源替代方案,理性的软件消费者不会选择依赖闭源软件,让自己受制于垄断供应商。软件对消费者的业务越关键,这一论点就越有说服力:软件越重要,消费者就越不能容忍它被第三方控制。
这还有另一面。经济学家知道,总的来说,信息不对称d会使市场运作不良。当从特权信息中收取垄断收益比投资于生产更好的产品更有利可图时,较高质量的商品就会被驱逐出市场。总的来说,不仅在软件领域,即使在别的领域保守技术秘密,也同样不利于产品品质提升。
最后与信任问题相关的是,开源软件的一个重要客户收益是它具有面向未来的特性。如果源代码是开放的,那么即使供应商倒闭,客户也有一定的补救措施。这对于“开源软件,反哺硬件”(指为硬件配套的软件)可能尤其重要,因为硬件的生命周期通常很短,但这种效应更有普遍性,会转化为各种开源软件的附加价值。
它们如何相互作用?
当私有技术的收益高于开源的回报时,闭源在经济上是合理的。当开源的回报高于私有技术的垄断收益时,开源就是有意义的。
这本身是一个显然的论断。然而当我们注意到开源的收益比私有技术的收益更难衡量和预测,而且这种收益被严重低估的频率远高于被高估的频率时,它就变得重要了。事实上,在主流商界因 1998 年初 Mozilla 源代码发布而开始重新思考其基本假设之前,人们错误地、但普遍地假定开源的收益为零。
那么,我们如何评估开源的收益呢?总的来说,这是一个难题,但我们可以像处理任何其他预测问题一样来处理它。我们可以从观察到的开源方法成功或失败的案例开始。我们可以尝试归纳出一个模型,这个模型至少能在定性层面,让我们感受到在哪些情境下,对于试图最大化回报的投资者或企业而言,开源是“净收益”。然后,我们可以回到数据,尝试完善这个模型。
根据《大教堂与市集》中提出的分析,我们可以预期开源在以下情况下具有高收益:(a) 可靠性/稳定性/可扩展性至关重要,并且 (b) 设计和实现的正确性不容易通过独立的同行评审以外的方式验证。(实际上,大多数复杂程序都满足第二个标准。)
消费者出于理性,会希望避免陷入被某一垄断供应商锁定的局面。软件对这位消费者变得越关键,他们越会对开源感兴趣(因此,也增加了供应商开源的竞争市场价值)。因此,另一个标准 (c) 在软件是业务关键型资本品时(例如,在许多企业 MIS 部门中),会推动走向开源。
至于应用领域,我们上面观察到开源基础设施创造了信任和对称效应,随着时间的推移,这些效应往往会吸引更多客户,并胜过闭源基础设施。另外,在一个快速扩张的市场中占据较小的份额,通常比在一个封闭停滞的市场中占据较大的份额更好。因此,对于基础设施软件,以普及为目标的开源策略,其长期收益很可能高于以知识产权收益为目标的闭源策略。
实际上,潜在客户推理供应商策略未来后果的能力,以及他们不愿接受供应商垄断的态度,意味着一个更强的约束条件;在没有已经拥有压倒性市场力量的情况下,你可以选择开源的普及策略,或者选择从闭源软件获得直接收入的策略——但不能两者兼得。(这一原则的类似情况在其他领域也能看到——例如,在电子产品市场中,客户常常拒绝购买单一来源的设计。)这个情况也可以不那么消极地表述:在网络效应(正网络外部性)占主导地位的地方,开源很可能是正确的选择。
我们可以通过观察总结这个逻辑:当软件 (d) 对于基础设施软件,开源的回报往往更高。
最后,我们可能会注意到,独特或高度差异化服务的提供者,比起那些关键算法和知识库已经被充分理解的服务供应商,更担心他们的方法被竞争对手复制。因此,当 (e) 关键方法(或其功能等价物)属于通用工程知识的一部分时,开源更有可能占据主导地位。
互联网核心软件、Apache 和 Linux 对标准 Unix API 的实现,是所有五个标准的主要范例。这些市场演变中走向开源的道路,可以很好地从 20 世纪 90 年代中期数据网络重新统一于 TCP/IP 的过程中看出,此前 15 年间,人们曾尝试使用 DECNET、XNS、IPX 等封闭协议来建立帝国的尝试均告失败。
另一方面,开源对于那些独特拥有价值生成软件技术的公司似乎最没有意义,这些技术(强烈符合标准 (e)),(a) 对失败的容忍度相对较高,(b) 可以很容易地通过独立同行评审以外的方式验证,(c) 不是业务关键型的,并且 (d) 其价值不会因网络效应或普及而大幅增加。
作为这个极端情况的例子,在 1999 年初,一家公司问我:“我们应该开源吗?”该公司编写的软件用于计算锯木厂的切割模式,以便从原木中提取最大数量的板材。我的结论是“不应该”。唯一勉强符合的标准是 (c);但在紧要关头,经验丰富的操作员可以手工生成切割模式。
请注意,如果这个切割模式计算器是由一家锯木厂设备制造商编写的,我的答案可能会大不相同。在这种情况下,开放代码会增加他们正在销售的相关硬件的价值。还要注意,如果已经存在某种开源的切割模式计算器(也许是锯木厂设备制造商编写的那一个),那么闭源产品将很难和它竞争——这与其说是价格原因,不如说是客户会感知到开源在可定制性和其他特性方面的优势。
重要的一点是,特定产品或技术在这些尺度上的位置可能会随时间变化,我们将在下面的案例研究中看到这点。
总结一下,以下判定因素会推动开源:
-
可靠性/稳定性/可扩展性至关重要。
-
设计和实现的正确性不容易通过独立同行评审以外的方式验证。
-
软件对用户控制其业务至关重要。
-
软件建立或支持通用的计算和通信基础设施。
-
关键方法(或其功能等价物)属于通用工程知识的一部分。
毁灭战士:案例研究
id 公司最畅销的游戏《毁灭战士》的历史,说明了市场压力和产品演变如何能够决定性地改变闭源与开源的收益大小。
当《毁灭战士》于 1993 年底首次发布时,它的第一人称实时动画独一无二(与标准 (e) 相反),不但这项技术的视觉效果令人震撼(远远超过其前作《德军总部 3D》的平面世界动画),而且在好几个月里,没人能弄清楚在那个时代性能不足的微处理器上是如何实现的。这些保密的代码值得收取非常可观的垄断收益。此外,开源的潜在收益很低。作为一款单机游戏,该软件 (a) 失败带来的成本容忍度较高,(b) 验证起来不是特别困难,(c) 对任何消费者都不是业务关键型的,并且 (d) 没有从网络效应中受益。从经济角度看,《毁灭战士》闭源是合理的。
然而,《毁灭战士》周边的市场并没有停滞不前。潜在的竞争对手发明了其动画技术的功能等价物,其他“第一人称射击”游戏如《毁灭公爵》开始出现。随着这些游戏蚕食《毁灭战士》的市场份额,私有技术垄断收益的价值下降了。
另一方面,扩大市场份额的努力带来了新的技术挑战——游戏要更可靠、有更多功能、用户群更大以及支持多平台。随着多人“死亡竞赛”游戏和《毁灭战士》游戏服务的出现,市场开始显示出显著的网络效应。所有这些都需要程序员的工作时间,而 id 更愿意将这些时间投入到下一款游戏上。
从游戏首次发布起,id 就一直对 mod 创作持宽容态度:不反对公开创建自定义数据内容的技术规格文档,并偶尔回答特定问题、发布他们自己现有的规格文档,并直接与 mod 作者合作。他们还鼓励在互联网上分发《毁灭战士》新数据的行为。
技术和市场趋势提高了开放源代码的收益;《毁灭战士》开放规格文档、鼓励第三方扩展的做法,不仅增加了游戏的感知价值e,还为他们创造了一个可以利用的二级市场。在某个点上,收益曲线发生了交叉,id 转向在这个二级市场赚钱(通过诸如游戏场景选集等产品),然后开放《毁灭战士》的源代码,这在经济上变得合理了。在这个时间点之后的某个时候,它真的发生了。《毁灭战士》的完整源代码于 1997 年底发布。
知道何时放手
《毁灭战士》是一个有趣的案例研究,因为它既不是操作系统,也不是通信/网络软件;因此它与通常显而易见的开源成功案例相去甚远。事实上,《毁灭战士》的生命周期,连同其交叉点,可能会开始成为当今代码生态中应用软件的典型——在这个生态中,通信和分布式计算都产生了严重的健壮性/可靠性/可扩展性问题,这些问题只能通过同行评审来解决,并且经常跨越技术环境之间以及竞争参与者之间的边界(这隐含了所有信任和对称性问题)。
《毁灭战士》从单机玩法演变为死亡竞赛玩法,网络效应也正日益成为计算本身的核心。即使在最重量级的商业应用中,如 ERP 系统,也能看到类似的趋势,因为企业与供应商和客户之间的网络连接日益紧密——当然,这些也隐含在整个万维网的架构中。由此可见,几乎在所有地方,开源的收益都在稳步增长。
如果目前的趋势继续下去,下个世纪软件技术和产品管理的核心挑战将是知道何时放手——何时允许封闭代码进入开源基础设施,利用同行评审效应,在服务和其他二级市场中获取更高的回报。
过远偏离交叉点(无论太早或太晚)显然都会导致收入损失。除此之外,等待太久还存在严重的机遇风险——你可能会被在同一市场领域率先开源的竞争对手抢先。
这是一个严重的问题,因为对于任何特定的产品类别,可用于招募参与开源合作的用户和人才库都是有限的,而且招募具有粘性。如果两个生产商先后将功能大致相当的竞争代码开源,第一个可能会吸引最多的用户以及最多、最有动力的合作开发者,而第二个则只能拾取残羹剩饭。这种招募具有粘性,因为用户会获得熟悉度,而开发者会在代码本身上投入时间。
a. 垄断收益(Rent) :经济学概念,由阿尔弗雷德·马歇尔在《经济学原理》中明确提出,指主体依靠排他性技术、特权壁垒获取的超额利润。文中相关讨论归属于朱尔斯·杜普伊特(Jules Dupuit)——阿诺德·哈伯格(Arnold Carl Harberger)——戈登·塔洛克(Gordon Tullock)的福利分析范畴,ESR 更倾向于杜普伊特—塔洛克理论传统,认为垄断收益会带来显著社会成本,并主张通过“对称性”与“透明度”的制度设计从源头消解特权地位,而非依赖事后反垄断干预,这与哈伯格式“垄断损失有限、无需过度干预”立场形成鲜明对照。
b. 网络效应(Network Effect) :指产品或服务的价值会随用户规模扩大而提升的现象,分为直接网络效应与间接网络效应,本文侧重于后者。ESR 在此处的观点,亦与卡尔·夏皮罗(Carl Shapiro)、哈尔·瓦里安(Hal R.Varian)在《信息规则》(Information Rules)中提出的“平台可以通过设计激励机制、管理多边市场来‘驾驭’网络效应;平台方的特权地位是合理且必要的”观点形成鲜明对照。
c. 对称性(Symmetry) :古典经济学的一种经典假设,在阿尔弗雷德·马歇尔于《经济学原理》中明确提出之前作为隐性假设存在。它往往涉及1. 逻辑结构对称;2. 信息对称;3. 行为假设对称;4. 博弈结构对称。本文语境下,特指软件生态中各市场参与方拥有对等权利、地位均等的市场状态。
d. 信息不对称(Asymmetric Information) :指交易双方掌握的信息存在差异,易引发市场失灵。也是对称性问题的重要分支,由乔治·阿克洛夫(George Akerlof)于 1970 年在著作《柠檬市场》(The Market for Lemons)中提出,打破了古典经济学的信息对称假设。提及的柠檬市场除了信息不对称,还具备质量不可观测、整体平均质量持续下滑、交易不完全的特征,通常出现在二手市场、产品质量难以辨识的领域,本文所提及的依靠垄断收益运营的软件市场也存在此类问题。
e. 感知价值(Perceived Value) :指消费者对产品/服务基于所得与所付的权衡的主观效用评价,由载瑟摩尔(Zeithaml)于 1988 年提出。然而,ESR 在本文中倾向于 Vargo & Lusch 提出的价值共创理论,此处的感知价值不仅来自产品本身,还来自他们未来能够自行创作和修改的可能性。这种“创造可能性”本身就是一种价值来源,且会反过来提升用户对产品的整体评价。
4.11 以开源为战略利器
有时开源不仅能有效地扩大市场,还可以作为对抗公司竞争对手的战略手段。从这个角度重新审视上述的一些商业策略将大有裨益——不是直接把开源当作收入来源,而是作为打入市场、重塑市场格局的途径。
成本分担作为竞争武器
之前,我们认为 Apache 是通过开源项目中的成本分担来实现更好、更廉价的基础设施开发的典范。对于与微软及其 IIS 网络服务器竞争的软件和系统供应商而言,Apache 项目也是一种竞争武器。对于网络服务器供应商来说,微软拥有巨额的战略资金储备,在桌面市场也具有垄断地位,要完全抵消这种优势,是困难甚至是不可能的。然而,Apache 让项目中的每个企业都能提供在技术上优于 IIS,并以多数市场份额赢得客户信任的网络服务器,而且成本要低得多a。这提升了增值电子商务产品(如 IBM 的WebSphere)的市场地位,降低了其生产成本。
这一原理具有普遍性。开放的、共享的基础设施为其参与者带来了竞争优势。第一,每个参与者生产和销售可盈利产品及服务的成本更低。第二,这样的市场地位能赢得客户信赖,他们不太可能因为某个供应商的战略或战术改变而陷入"孤儿技术"的困境。
重置竞争格局
在 20 世纪 80 年代,当开源 X Window 系统的开发由DEC资助时,他们的明确目标就是"重置竞争格局"。当时,Unix 有多个相互竞争的窗口系统b,其中 Sun 微系统公司的 NeWS 系统最有竞争力。DEC 的战略专家们认为(他们可能是正确的),如果 Sun 能够建立一个专有的图形标准,它就能在蓬勃发展的 Unix 工作站市场上获得垄断地位。DEC 通过资助 X Window 系统、为其提供工程师的方式,同时与众多小型供应商结盟,将 X Window 系统打造为事实标准,借此消解 Sun 等公司在图形领域固有的竞争优势。这将工作站市场的竞争焦点转移到了硬件领域,而这正是 DEC 历史上占据优势的领域。
这一原理同样具有普遍性。开源对聪明的客户以及那些规模不够大、无法独立资助竞争性开发的潜在盟友具有吸引力。一个在恰当时机推出的开源项目,不仅能成功地与闭源替代品竞争,甚至能阻断闭源竞品的市场切入机会,从而重置竞争格局,并将其从发起公司处于弱势的领域转向它的强势领域。
把"池塘"做大
红帽软件公司(Red Hat)资助开发了 RPM 打包系统c,目的是为 Linux 世界提供一个标准的二进制包安装程序。通过这样做,他们押注的是:这样的标准安装程序将提升潜在客户的信心,由此带来的长期收益,将超过软件的开发成本,也足以覆盖因竞品共用该工具而流失的潜在收入。
有时,成为一只更大青蛙的最聪明方法就是让池塘增长得更快。当然,这就是技术公司参与公共标准制定的经济原因——将开源软件当作一种可执行的标准是很有益的。这一策略不仅很好地示范了市场开拓者策略,而且当一家小公司利用它来抵消在标准联盟之外的、另一家规模大得多的公司的体量和市场力量时,它就直接成了一种竞争武器。就红帽而言,它公认的明显大竞争对手是微软;在大多数 Linux 发行版中实现 RPM 的标准化,在很大程度上有效削弱了微软 Windows 系统在运维便捷性上的原有优势。
防止受制于人
在解释之前的"战略性亏损/市场定位者"商业模式时,我曾描述过网景将 Mozilla 浏览器开源是通过怎样一种(成功的)策略,有效遏制微软垄断 HTML 标记语言和 HTTP 协议的企图。
通常情况下,阻止竞争对手在特定技术上扼制你,比你自己控制该技术更为重要。通过开源,你可以极大地扩大你的"阻击联盟"的潜在规模。
a. 这里说的是开源 HTTP 服务器和微软闭源 IIS 服务器之间的竞争。目前 Apache HTTP 服务器在 Java 生态系统中仍有广泛应用。
b. 窗口系统(Graphic Environment) :直译应为图形环境,但此处应指窗口系统(Window System),作用是在屏幕上显示图形界面,并处理鼠标、键盘的输入。NeWS于上世纪90年代被 X Window 全面取代,目前X Window(X11)仍然是 Unix/Linux 窗口系统尚未被取代的绝对标准(目前主流新版本已改用新一代窗口系统 Wayland,同时仍兼容 X11)。
c. 红帽软件公司(Red Hat):红帽企业 Linux(RHEL)的运营商,CentOS 是其免费版本(原为独立社区项目,2014 年后被红帽收购),很多企业的服务器操作系统都是红帽 Linux 或 CentOS。RPM 打包系统是所有 CentOS 分支较早版本的 Linux 系统的事实软件管理标准,涵盖下载、安装、删除软件包等功能。
4.12 开源视角下的战略性商业风险
归根结底,开源之所以似乎注定成为一种普遍实践,根本原因更多在于客户需求和市场压力,而不是供应商侧的效率优势。我之前已经从供应商的角度讨论了客户对可靠性、无单一主导厂商的基础设施的需求所带来的影响,以及这些因素在网络技术演变历史中如何发挥作用。然而,在开源成为一个影响要素的市场中,关于客户的行为,还有更多值得探讨之处。
暂且站在《财富》(Fortune) 500 强公司 CTO 的角度,设想你正计划构建或升级公司的 IT 基础设施。也许你需要选择一个将在全公司范围内部署的网络操作系统;也许你关注的是 7x24 小时不间断的 Web 服务和电子商务;也许你的业务依赖于能够搭建高吞吐量、高可靠性的事务数据库。
假设你选择了传统的闭源路线。如果这样,你就将公司置于供应商垄断的支配之下——因为从定义上讲,你只能从单一来源获取支持、错误修复和功能增强。如果供应商表现不佳,你将没有有效的追索手段,因为你已经被初始投资和培训成本牢牢锁定。你的供应商对此心知肚明。在这种情况下,你认为软件会为了满足你的需求和你的商业计划而改变……还是会为了满足供应商的需求和供应商的商业计划而改变?
残酷的事实是:当你的关键业务流程由那些你甚至无法查看内部(更不用说修改)的不透明代码块所执行时,你就已经失去了对业务的控制。你更需要你的供应商,而不是供应商更需要你——而这种权力失衡将让你一次又一次付出代价。你会付出更高的价格,你会错失机会,而且随着供应商(通过在无数过往客户身上磨练出的手段)收紧控制,你还会因锁定效应a付出越来越高的代价。
看看与此相对的开源选项。如果你走这条路,你拥有源代码,谁也夺不走它。你将不再面对遏制你业务的供应商垄断,而是有多家服务公司竞相争取你的业务——你不仅可以让它们相互竞争,而且如果比外包更便宜,你还能自建内部支持团队。整个市场将为你所用。
其中的逻辑令人信服:依赖闭源代码构成了不可接受的战略性商业风险。这一点如此明确,以至于我相信,在存在开源替代方案的情况下,企业仍然采购闭源的单一供应商产品,很快就会被视为真正的受托责任失职,并成为股东提起诉讼的正当理由。
a. 锁定效应(Lock-in Effect) :由W.B.阿瑟(William Brian Arthur)提出,指任何系统下切换成本导致路径依赖的自然现象。注意,虽然ESR沿用了经济学中的锁定效应概念,下游软件也确实有切换成本,但是本文更强调供应商人为制造的技术锁定。
4.13 开源软件的商业生态
开源社区的组织方式往往能放大开源带来的生产力效应。尤其是在 Linux 世界中,一个具有重要经济意义的客观事实是:存在多个相互竞争的 Linux 发行商,它们构成了独立于开发者的另一个层级。
开发者编写代码,并将代码通过互联网公开。每个发行商从这些公开的代码中选取一部分,进行集成、打包和品牌化,然后销售给客户。用户在不同发行版之间进行选择,也可以直接从开发者网站下载代码来补充现有发行版。
这种层级分离的效果,是为软件改进创造了一个极其活跃的内部市场。开发者为了赢得发行商和用户的关注,在软件质量上相互竞争。发行商则为了争夺用户市场,在其选择策略的合理性以及能为软件增加的价值上相互竞争。
这一市场结构的首要效应是,在开源生态网络中没有哪个节点是不可或缺的。开发者可以退出;即使他们所负责的代码部分没有被其他开发者直接接手,各方争夺关注度也往往会迅速催生出功能替代品。发行商可能失败,但这不会损害或危及公共的开源代码库。与任何单一的大型一体化闭源操作系统厂商相比,整个生态能够更快速地响应市场需求,并且具备更强的抵御冲击和自我再生的能力。
另一个重要效应是通过专业化降低开销、提高效率。开发者不会面临那些通常拖累传统闭源项目并将其变成“焦油坑”的压力——不必应付市场部门提出的各类分散精力、用来凑数的功能需求,也没有管理层强制要求使用不合适或过时的语言或开发环境,也不需要以产品差异化或知识产权保护为名,刻意采用不兼容的新方式去重复造轮子;而且(最重要的是)没有截止期限,不必在软件尚未打磨完善前就仓促上线1.0版本。DeMarco 和 Lister 在《人件》(Peopleware: Productive Projects and Teams)一书中讨论“结束了再叫我”这种管理风格时指出,这种管理模式不但提高产品质量,还能更快交付可用成果。
另一方面,发行商则可以专注于自身核心强项。他们无需为维持竞争力,持续投入巨额资金开展大规模研发,得以专心做好系统集成、软件打包、质量管控与技术服务。
用户持续的反馈与监督,作为开源模式的重要组成部分,约束着开发者与发行商,促使双方恪守经营准则。
4.14 与成功共处
“公地悲剧”或许并不适用于当今的开源开发,但这并不意味着我们就没有理由去思考:开源社区当前的势头能否持续下去?随着赌注越来越大,关键参与者会背叛合作吗?
这个问题可以从多个层面来探讨。我们提出的“公地喜剧”这一对立叙事,其核心论点是:个人对开源的贡献难以货币化。但对于 Linux 发行商这类已依托开源实现营收的企业而言,该观点便不再有太强说服力,因为它们的贡献每天都在被货币化。它们目前的合作角色稳定吗?
探讨这个问题将引导我们得出一些有趣的见解。它既能帮助我们理解当下开源软件的经济逻辑,也能看清纯粹而简单的服务型行业范式将给软件行业带来怎样的未来。
在实操层面上,针对当前存在的开源社区,这个问题通常有两种不同的提法。一:Linux 会走向分裂吗?二:反过来说,Linux 会出现一个占主导地位、近乎垄断的厂商吗?
人们在思考 Linux 是否会分裂时,经常援引的历史类比是20世纪80年代专有 Unix 厂商的行为。尽管各方都在反复倡导开放标准,也建立了无数联盟、协会和协议,专有Unix最终还是分崩离析了。厂商们通过添加和修改操作系统功能来实现产品差异化的愿望,最终压倒了通过保持兼容性来扩大整个 Unix 市场规模的兴趣——而保持兼容性本可以降低独立软件开发商的准入门槛,也能降低用户的总体拥有成本。
这种情况极不可能发生在 Linux 身上,原因很简单:所有发行商都必须依托统一的开源代码库开展运营。任何一家发行商要想保持差异化几乎是不可能的,因为 Linux 代码开发所采用的许可证实际上要求它们与所有各方共享代码。一旦某个发行商开发出一个新功能,所有竞争对手都可以自由地克隆它。
既然各方都明白这一点,没有厂商会重蹈当年专有 Unix 分裂的覆辙。相反,Linux 发行商被迫以真正有利于消费者和整个市场的方式竞争。也就是说,它们必须在服务、支持上竞争,以及比拼接口设计,看谁的方案更便于安装与使用。
公共代码库也排除了垄断的可能性。当 Linux 社区的人担心垄断时,最先想到的名字通常是“红帽”——这家最大、最成功的发行商(在美国估计占有约90%的市场份额)。但值得注意的是,在1999年5月红帽宣布其期待已久的6.0版本发布后的几天内——甚至在红帽的光盘还没有批量发货之前——一家图书出版商和其他几家光盘发行商就已经开始打广告,销售基于红帽公共 FTP 站点构建的该版本光盘镜像,价格还低于红帽的官方定价。
红帽本身对此毫不在意,因为其创始人非常清楚:他们并没有也不可能拥有其产品中的代码;Linux 社区的社会规范禁止这种做法。约翰·吉尔摩(John Gilmore)曾有名言:互联网会把审查视作故障,并主动绕行。借用这句话,有人精妙地指出:负责Linux的技术社区会将管控企图视为故障,并选择绕行。如果红帽对新版本发布前的克隆行为提出抗议,它将严重损害自己从开发者社区获得未来合作的能力。
或许在当下更重要的是,软件许可证已将社区规范落实为具有法律约束力的条款,明确禁止红帽垄断其产品所基于的代码来源。它们唯一能卖的,是与那些自愿为此付费的用户之间建立的一种品牌/服务/支持关系。在这种背景下,出现掠夺性垄断a的可能性并不大。
a. 掠夺性垄断(Predatory Monopoly) :指具有市场支配地位的企业为排挤竞争者或阻止市场进入,采取低于成本定价的策略,通过短期亏损驱逐对手后抬高价格获取垄断利润的价格垄断行为。芝加哥学派(Chicago School)认为掠夺性定价是非理性的、在实践中罕见;而后芝加哥学派(Post-Chicago School)通过博弈论证明,在信息不对称条件下掠夺性定价可以是企业的理性行为,比如掠夺者可以通过事后与市场上其他幸存者形成默契的寡头定价来收回损失,而不必完全垄断市场。本文中ESR采取的是偏向芝加哥学派的立场——在Linux发行商受制于开源许可证约束的特定语境下,掠夺性垄断不太可能出现。
4.15 开放研发与赞助体系革新
真金白银注入开源世界,还在另一个方面带来变化。社区中的顶尖黑客越来越明白,他们可以靠做自己想做的事获得报酬,而不必再将开源当作副业、靠另一份正职来养活自己。红帽公司、O’Reilly 以及 VA Linux Systems 等企业,纷纷设立半独立研发部门,专职聘用并留住大批开源人才。
这种做法具备经济价值的前提是:维持此类实验室的人均成本,能轻易由预期收益覆盖,而这些收益源于公司借此更快地拓展市场。O’Reilly 能够负担 Perl 和 Apache 的领导者的薪酬,让他们专注于自己的工作,是因为公司预期,他们的努力将有助于销售更多与 Perl 和 Apache 相关的书籍,并吸引更多人参加其会议。VA Linux Systems 能够资助其实验室部门,是因为改进 Linux 能提升其所售工作站和服务器的使用价值。而红帽公司资助红帽高级开发实验室,则是为了提升其 Linux 产品的价值,吸引更多客户。
传统软件从业者素来将专利与商业机密保护的知识产权视作企业至宝,因此他们很难理解这种做法。为什么要投入资金研发,却要让所有竞争对手都能无偿使用成果?
背后似乎有两大原因。其一,只要这些公司在其细分市场中保持主导地位,它们就有望从开放式的研发中获得相应比例的大部分回报。用研发换取未来利润,这并不是什么新想法;有趣的是,其中隐含的算盘是:预期的未来收益足够大,以至于这些公司可以坦然接受搭便车者,并借此获得同行评审带来的品质加持。
在一个由注重投资回报的精明资本家主导的世界里,这种对预期未来价值的分析固然有必要,但它其实并不是解释“聘请顶尖黑客”这一行为最有趣的分析角度,因为企业自身提出了一种更为宽泛的理由。若问及此事,它们会告诉你,它们只是在为所来自的社群做正确的事。笔者与上述三家企业的核心管理层一向交好,可以证实这些说法绝非虚言。实际上,在 1998 年末,我受邀加入 VA Linux Systems 董事会,当时的核心目的,便是为他们在行事准则方面提供建议,而且我发现他们确实愿意倾听。
经济学家有权追问:这其中到底有什么收益?如果我们接受“做正确的事”并非空洞的姿态,就要深究:这份善意背后,究竟契合了企业怎样的利益逻辑。答案本身既不令人惊讶,也易于通过提出恰当的问题来验证。与其他行业中表面上的利他行为一样,这些公司实际上相信他们购买的是“商誉”a。
努力赢取商誉,并将其视为预示未来市场收益的资产,也并不是一件新鲜事。有趣的是,这些公司的行为表明,它们对商誉的估值极高。即便在上市前资金最为紧张的阶段,企业仍愿意高薪聘请人才,投入到无法直接创收的项目中。而且,至少到目前为止,市场对这种行为给予了丰厚的回报。
这些公司的负责人自身非常清楚,商誉为何对他们尤为宝贵。他们高度依赖客户群体中的志愿者,既借其进行产品开发,也将其作为非正式的营销力量。他们与客户群体的关系非常紧密,这种关系通常依赖于公司内外个体之间的个人信任纽带。企业并非单纯利用开发者社群,而是与之深度相融、命运与共。
这些观察印证了我们之前通过另一条推理路径得出的结论。红帽、VA、O’Reilly 与其客户/开发者之间的紧密关系,并非典型制造业企业的特征。相反,它将高度专业化、知识密集型服务业的典型模式推向了一个有趣的极端。放眼科技行业之外,我们可以在律师事务所、医疗机构和大学等组织中看到这些模式。
实际上我们可以观察到,开源公司聘请顶尖黑客的原因,与大学聘请明星学者的原因大致相同。在这两种情形中,这种做法在机制和效果上,都近似于工业革命前资助大部分美术创作的贵族赞助体系,而部分开源企业人士对此有着充分的认识。
4.16 现状到未来的转型方向
为开源开发提供资金(并从中获利!)的市场机制仍在快速演变。本文梳理的商业模式,大概率不会是最后出现的形态。投资者仍在考量,将软件行业重塑为以服务为核心(而非封闭知识产权)的行业会带来哪些影响,这类思考还将持续较长时间。
这场观念革命会使行业内依托产品销售(该部分仅占行业营收的 5%)的投资者损失一部分利润。从历史来看,服务业的盈利水平不及制造业(但任何医生或律师都会告诉你,从业者本人的实际回报往往更高)。不过,利润上的损失能够被成本端的收益大幅弥补,软件使用者借助开源产品实现了显著降本、提效。(这一现象,和互联网逐步取代传统语音电话网络所产生的影响类似。)
降本增效的发展前景催生了市场机遇,企业家与风险投资机构纷纷入局挖掘机会。本文撰写初稿期间,硅谷顶尖风投机构领投了首家提供全天候 Linux 技术支持的初创企业 Linuxcare。1999 年 8 月,即便互联网与科技股整体走低,红帽公司的首次公开募股依旧大获成功。当时业内普遍预测,1999 年底前还将有多家 Linux 及开源相关企业完成 IPO,且同样会取得良好成绩。(2000 年补充说明:事实确实如此!)
另一值得关注的新动向,是业内开始系统性地为开源开发项目搭建任务市场。SourceXchange(http://www.sourcexchange.com/process.html)a与 CoSource(http://www.cosource.com/)b两家平台采用略有差异的模式,将反向拍卖机制(Reverse-auction Model)用于开源项目的资金募集c。
整体趋势十分明确。前文已提及 IDC 的预测:截至 2003 年,Linux 的增长速度将超过其余所有操作系统之和。Apache 市场占比达 61%,且持续稳步提升。互联网使用规模迅猛扩张,互联网操作系统计数器(http://leb.net/hzo/ioscount/)c等调研数据显示,Linux 及其他开源操作系统已在互联网主机中占据相对多数,并持续挤压闭源系统的市场份额。企业对开源互联网基础设施的应用需求,不断影响着软件设计、企业经营模式以及软件的使用与采购习惯。实际上,此类趋势还将进一步加快。
a. 该链接现已无法访问。出于可能的参考溯源需求,故选择保留该链接。
b. 该链接现已无法访问。出于可能的参考溯源需求,故选择保留该链接。
c. 反向拍卖机制(Reverse-auction Model):指买方(项目方)定价拍卖开源开发任务、卖方(开发者)降价/提出更优方案竞标的开源众包市场模式,SourceXchange 与 CoSource 是当时两家提供任务对接的专业平台。现在这一机制已不再沿用,但其“项目方发布任务+资金,开发者竞标接单”的核心机制,已成为当前主流开源赏金平台的标准配置。
d. 该链接现已无法访问。出于可能的参考溯源需求,故选择保留该链接。
4.17 结论:变革之后的生活
一旦开源转型完成,软件业界将会变成什么样子?
一些程序员担心,开源化的转型会导致他们的岗位消失、职业价值贬值,而典型的噩梦场景就是我所说的"开源末日"。这个场景刚开始的时候,因为到处都有免费的源代码,所以软件的市场价值开始归零,仅凭使用价值无法吸引足够多的消费者来支撑软件开发;随后商业软件产业崩溃,然后程序员收入锐减,被迫转行。开源文化本身(依赖于所有这些专业人士的业余时间)一旦崩溃,末日就来临了,届时再也没有人能够胜任编程工作,所有人都会完蛋。这实在令人啼笑皆非!
我们已经观察到许多充分的理由说明这不会发生,首先就是大多数开发者的薪水本来就不依赖于软件的销售价值。但最值得在这里强调的一个理由是:你见过哪个开发团队不是工作堆积如山?在一个快速变化的世界里,在一个日益复杂化、以信息为中心的经济体系中,市场永远有充足岗位,也持续渴求精通计算机技术的人才——无论他们投入多少时间、公开了多少商业机密。
要分析软件市场,可按软件服务被开放技术标准定义的完整程度来分类,而这个程度与底层服务的商品化程度高度契合。
这套分类标准,恰好对应业内常说的三大类别:"应用软件"(完全没有商品化,开放技术标准薄弱或不存在)、"基础设施"(商品化的服务,强大的标准)和"中间件"(部分商品化,有效但不完整的技术标准)。2000年的典型例子分别是文字处理器(应用软件)、TCP/IP协议栈(基础设施)和数据库引擎(中间件)。
我们此前的收益分析显示,三类软件会走上不同转型路径,形成各异的开源、闭源共存格局。同时,一款软件所在领域的开源普及程度,取决于三点:是否存在显著的网络效应、故障造成的损失大小,以及它是否是支撑核心业务的关键资产。
如果我们不把这些启发式方法应用于单个产品,而是应用于整个软件市场,我们就可以大胆做出一些预测。看好了:
基础设施(互联网、万维网、操作系统,以及必须在竞争各方之间跨越边界的通信软件底层)将几乎全部开源,由用户联盟和类似如今红帽这类商业发行及服务厂商合作维护。
另一方面,应用软件将最倾向于保持闭源。在一些场景中,未公开算法或技术的使用价值极高,且产品不稳定带来的成本低、供应商垄断的风险可接受,消费者仍会愿意购买闭源软件,而这类现象在网络效应薄弱的独立垂直行业软件中会最为普遍。我们之前的锯木厂例子就是其一;而在 1999 年的热门行业中,生物识别软件似乎很可能是另一个例证。
中间件(如数据库、开发工具,或应用协议栈的定制顶层)模式则更为多元。这类软件走向开源还是闭源,主要取决于故障损失成本:成本越高,市场对开源的诉求就越强烈。
不过我们要清楚,“应用软件”与“中间件”的划分并非一成不变。此前提到,单一软件技术会自然从理性闭源走向理性开源,这一规律在整个行业层面同样成立。
随着标准化技术不断成熟、服务逐步商品化,应用软件会逐步演变为中间件。(例如,在SQL将前端与引擎解耦之后,数据库就变成了中间件。)而中间件服务进一步商品化后,又会演进为开源基础设施,操作系统领域当下正经历这一转变。
在一个包含开源竞争的未来,我们可以预期,任何软件技术的最终命运要么是消亡,要么是成为开放基础设施本身的一部分。虽然对于那些希望依靠闭源软件长期坐享垄断收益的创业者来说,这算不上什么好消息,但它确实表明,整个软件行业将始终充满创业机遇:在(应用软件)高端会不断有新的利基市场打开,而一旦这类产品归入基础设施范畴,闭源知识产权的垄断将不再牢不可破。
毋庸置疑,这种行业均衡对推动变革的软件消费者十分有利。越来越多优质软件可供人们永久使用、二次开发,不会停止维护,也不会被企业独家封存垄断。最后,瑟西德温的魔法锅炉这个比喻还是太弱了——因为琼浆玉液要么被喝掉、要么会变质,而软件源代码却可以永久存在。从广义的自由意志主义a视角来看,一个允许所有非强制活动(无论是贸易还是礼物文化的馈赠)的自由市场,可以为每个人创造持续增长的软件财富。
a. 自由意志主义(Libertarian) :一种强调个人自由至上的政治哲学,主张将强制性的政府干预降到最低。在其范畴内,市场不仅包括货币交易也包括一切非强制活动、不仅关注买卖行为也关注资源交换的赠与、分享与合作行为。ESR正是这种思想的关键人物,可参见他1998年撰写的宣言《再见,“自由软件”;你好,“开源”》(Goodbye, "free software"; hello, "open source"),4.4译者注a中提到的《为什么开源错失了自由软件的重点》正是对此篇的回应。
4.18 附录:为什么闭源驱动反而让厂商赔钱
外设硬件(以太网卡、磁盘控制器、显卡等)厂商历来不愿开放硬件技术资料。如今形势正在转变,像 Adaptec 和 Cyclades 这样的厂商a已开始常规性地公开其板卡的规格说明书和驱动程序源代码,然而行业内的抵触心态依旧存在。本文将逐一破除催生这类抵触心态的几大经济学认知误区。
如果你是硬件厂商,可能会担心开源会泄露硬件运行的重要细节,被竞争对手复制,从而让对手获得不正当竞争优势。在产品周期为3-5年的时代,这种说法是有道理的。但如今,竞争对手的工程师复刻、吃透技术要耗费大量时间,会严重挤占产品研发周期,而这些时间本可用于自主创新、打造产品的差异化优势。
这并不是什么新见解。前克格勃负责人奥列格·卡卢金说得很好(http://cnn.com/SPECIALS/cold.war/experience/spies/interviews/kalugin/)b:
举个例子,当我们曾窃取 IBM 等企业的技术蓝图,以及西方其他领先电子领域的资料时,西方在这些领域突飞猛进,而我们远远落后。要真正落实情报成果往往需要数年时间。等五到七年过去,西方又往前走了,我们只能一次次再偷,结果越来越落后。
但早在大约一个世纪前,拉迪亚德·吉卜林(Rudyard Kipling)在他的诗作《玛丽·格洛斯特号》(The Mary Gloster,http://www.everypoet.com/archive/poetry/Rudyard_Kipling/kipling_the_mary_gloster.htm)c中说得更透彻。他写道:
他们问我怎么做到的, 我给了他们一段经文: “让你的光闪耀在 比对手稍前一点的地方!” 他们能抄的全抄了, 却抄不走我的头脑, 我让他们汗流浃背地偷, 却仍落后我一年半。
进入互联网高速发展的阶段后,这一现象的影响将更有杀伤力。如果你在行业处于领先地位,那你可以让竞争对手掉进抄袭的陷阱!
如今这些技术细节根本藏不住。硬件驱动不像操作系统或应用程序,代码体量小,很容易被反汇编、仿制。就算是十几岁的编程新手也能做到,这种情况早已屡见不鲜。
成千上万的 Linux 和 FreeBSD 程序员既有能力也有动力为新板卡编写驱动。对于许多接口相对简单且有成熟标准的设备类别(如磁盘控制器和网卡),这些热心的黑客即便没有官方文档、也不逆向现有驱动,他们开发驱动原型的速度,也常常和厂商自研团队不相上下。
即使对于显卡、声卡这类复杂的设备,你也没太多办法阻止一个手持反汇编器的聪明程序员。成本低,法律壁垒也不是天衣无缝的;而 Linux 是全球协作的开源项目,全球各地司法规则不一,不少地区明确允许逆向工程。
要证明以上说法属实,只需查看 Linux 内核支持的设备列表,就能看到,即便没有厂商官方支持,内核新增设备适配的速度依然惊人。
开放驱动还有一大好处,你可以专注于创新。想象一下,你再也不用让员工耗费时间精力,为每个新发布的内核重写、测试和发布新的二进制驱动。你肯定有比这更重要的事情去做。
还有一个很好的理由:没有用户愿意为漏洞修复等待长达半年之久。如果你有任何开源竞争对手,单凭这一点,对手就足以碾压你。
当然,还有前面提到过的长效适配价值(Future-proofing Effect)。客户想要开源,因为他们知道开源能大幅延长硬件使用寿命,即便超出厂商的常规维保成本周期也能正常使用。
不过,最重要的理由是:你的盈利模式是靠卖硬件。市场并不接受技术保密,事实恰恰相反。如果你的驱动难找、需要频繁更新、最糟的是驱动运行卡顿,这会严重拖累硬件口碑,造成销量下跌。开源可以解决这些问题,并提升你的收入。
结论是什么?保护闭源驱动的商业机密在短期看来有吸引力,但从长期看很可能是糟糕的策略(尤其是当你已经与那些开放的厂商竞争时)。但如果你非要保密,那把代码烧录到板载 ROM 里,然后对外开放 ROM 的接口。尽可能开源,以拓展市场,并向潜在客户证明:你相信自己在真正重要的地方,能够在核心技术与创新能力上领先对手。
如果你执意闭源,最后只会满盘皆输:技术秘密早晚泄露,也没人免费帮你开发,更没法让那些愚蠢的对手,把时间白白耗在抄袭复刻上。最关键的是,你会错失产品早期快速铺开的机会。互联网和大多数企业数据中心的运维团队,这个体量庞大、话语权十足的客户群体,会直接认定你的公司目光短浅、固步自封,你连这些道理都没想明白。然后,他们会转而选择理念更成熟的厂商采购板卡。