Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 许可证和艺术许可证)核心要素的共识。这些条款客观上(尽管并非主观意图)让厂商极难获取直接销售价值。

作者注

  1. 被背刺后fork的一个典型例子是OpenSSH,可以看看它的发展史。这个项目是在SSH转向闭源许可证后,隔了一段时间才从一个早期版本fork出来的。

译者注

a. 互惠性(reciprocity):人类学核心术语,是莫斯在礼物文化理论中提出的奠基性概念。ESR使用reciprocity一词,正是意图呼应前文提到的礼物文化,它是相互给予、相互受益的。

b. 原文为Fubarco。它并非真实存在的公司,而是美军俚语 "Fouled Up Beyond All Recognition"(糟透了/完全搞砸了)的缩写(二战时期流行,后来更常见的版本是 "Fucked Up Beyond All Repair/Recognition")。在黑客文化和技术幽默中,常被用作虚构的占位符。

c. 技术圈约定俗成的用法就是fork,故译者选择保留原文。