收起
1分钟1小时1天1周1个月

从黑客文化看区块链开源社区的自我组织与成功之道

要尊重能力,要珍视和捍卫自由。——罗伯特·安森·海因莱因

2019年11月25日 13:18 区块链 开源

来源 / 链闻ChainNews

原书作者 / 埃里克·斯蒂芬·雷蒙

在区块链领域,开源更多的时候代表着代码可以公开访问,开源带来的是信任;从更深层次来说,开源是指软件开发的一种方式,这种方式想要带来的是自由和效率。

开源不只是为了让我们能够看到代码,它更是为了让我们能够使用代码——而后者,才是开源真正的魔力,或者说,力量所在。

《大教堂与集市》(The Cathedral and the Bazaar)是一本介绍开源文化的优秀著作,它也被人们称为开源运动的独立宣言。该书的作者埃里克·斯蒂芬·雷蒙(Eric Steven Raymond)是开源运动的主要领导者之一,他在书中为我们讲述了开源思想背后的黑客文化,分析了集市模式能够取得成功的原因,并总结了开源开发的一些商业模型。

《大教堂与集市》(The Cathedral and the Bazaar)

本文是对《大教堂与集市》一书的提炼,内容全部来源于原著作。希望这些内容有助于我们思考区块链开源社区的自我组织形式,以及这种组织形式怎样才有可能取得成功。

记住,开源社区并不是把代码开源就完成了,它是一个需要付出热情、智慧和努力才有可能实现的礼物文化市场。

《大教堂与集市》作者埃里克·斯蒂芬·雷蒙


一、黑客文化简史


多少年来,互联网原生的一群充满活力的倡议者,一直在追求、实现并珍爱着开源思想。这些人以自称黑客为荣。这里所说的黑客(hacker),并非如今被滥用的电脑犯罪分子的代称,而是指天才发明家、问题解决高手和技术专家。利用网络入侵他人系统的破坏者应该被称为骇客(cracker)

黑客文化的起源时间大致可定位于 1961 年,那一年,麻省理工学院有了第一台 PDP-1 (程序数据处理机1号),技术模型铁路俱乐部把这台机器当作他们最喜欢的科技玩具,并由此发明了一系列的编程工具、俚语以及直到今天仍然依稀可辨的文化氛围。

1982 年,麻省理工学院 AI 实验室的标志性人物理查德·马修·斯托曼(Richard Matthew Stallman,开源社区的人们也喜欢用rms来称呼他)开始用 C 语言重新构建整个 UNIX 的克隆,并且免费发布,这就是广为人知的 GUN 操作系统。GUN 迅速成为了黑客活动的焦点。事实上,在其后大约十多年里,斯托曼建立的自由软件基金会在很大程度上定义了黑客文化的公共意识形态。

理查德·斯托曼

1991 年,林纳斯·班奈狄克·托瓦兹(Linus Benedict Torvalds)开始为 386 机器开发自由 UNIX 内核,他很快获得了成功并吸引了互联网上的黑客们,他们帮助林纳斯一同开发 Linux:一个全功能的 UNIX,源代码完全免费,而且可以再发布。这一次,Linux 和互联网把黑客文化从公共意识的边缘引领到了如今的显赫地位,黑客文化开始以自己的观点重塑商业软件世界。

Linux 最重要的特点不是技术上的,而是社会学上的。

在 Linux 被开发出来之前,所有人都认为如果软件复杂到操作系统这样的程度,就必须要有一个精心协作的团队,团队要比较小,而且紧密互动,有着集中式的管理和严格的流程,就像建造大教堂那样由行家里手精心打造。不管是以前还是现在,这都是很典型的开发模式。

而 Linux 几乎从一开始就发展出一条完全不同的路,其开发更像是仅通过互联网合作的大量志愿者的随意之作。在质量方面,它没有严格的标准,也没有一个强有力的机构来管理,它只是执行一个简单的有点幼稚的策略:每周发布,并在接下来几天内获取数百个用户的反馈。Linux 创造了一种类似达尔文的物竞天择的选择机制,被选择对象是开发者们所做的种种软件修改。

让所有人吃惊的是,这种方式工作得非常好。1993 年底,Linux 在稳定性和可靠性上已经和很多商业 UNIX 不相上下,并能支持比商业 UNIX 多得多的软件,一些商业应用软件都开始考虑移植到 Linux 上。

20 世纪 90 年代后期,黑客圈的活动中心是开发 Linux 和宣扬互联网。互联网成为主流后,黑客文化开始受到尊敬,并有了一定的政治影响力。1994 年到 1995 年间,正是因为黑客的大规模强烈抗议,试图将强加密算法置于美国政府控制之下的 Clipper 提案无疾而终。1996 年,黑客动员起广泛的同盟,使得《通信合宜法》被废止,阻止了政府对互联网的审查。

伴随着在《通信合宜法》上取得的胜利,黑客文化从历史迈进到了现在。


二、集市模式为何奏效?


在 Linux 社区里,没有建筑大教堂那样的安静和虔诚,倒更像是一个乱糟糟的大集市,开放到几乎是混乱的程度,充满了各种不同的计划和方法,而既稳定又一致的一个操作系统就这么诞生了。

为什么 Linux 世界没有在混乱中四分五裂,反而以大教堂建筑者们难以想象的速度变得越来越强大?

事实上,开源开发的集市模式真的管用。埃里克·雷蒙从 Linux 以及他本人负责的 popclient 开源项目中总结了集市模式奏效的原因:

  • Linux 社区里原创软件的平均质量为何如此之高?因为好的软件作品往往源自于开发者的个人需要。但在大教堂模式下,太多的软件开发人员并不需要也不热爱他们正在开发的软件,他们把编程当差事,为的只是拿薪酬。

  • 相比其他地方,从 Linux 世界多达数 T 字节的开放源码中找到一些他人写的足够好的代码更为可行,共享代码使得代码重用变得很便利。卓越的程序员有个很重要的特征是建设性懒惰,从一个部分可行的方案开始,要比从零开始容易得多。

  • 如果有足够多的 beta 测试者和开发合作者,软件中几乎所有的问题都会很快显现,然后自然有人会把它解决。这被作者称为 Linux 定律,它道出了大教堂模式和集市模式的最关键区别:

在大教堂建筑者看来,bug 是棘手的、难以发现的,要经过几个人数月的仔细检查才能有点信心去发布。而发布间隔越长,倘若版本并不完美,人们的失望就越发不可避免。

对集市模式而言则完全不同,开源项目的很多用户本身就是黑客,因为可以拿到源代码,这些黑客能极为有效地缩短排错时间,只要给他们一点点鼓励,他们就会帮你查找问题,给出建议并帮助改善代码,这些比自己做要快得多得多。

如果想让代码质量快速提升并有效排错,把用户当成开发合作者对待是最省心的途径,用户越多,就越能有效对抗系统的复杂性。

  • 开发者和测试者对程序有着不匹配的思维模式,程序员是从内往外看,测试者是从外往内看。开源打破了这种困境,由于大家都有真实的源码,双方很容易发展出一个共享的表达模式并进行有效的交流。事实上,一个仅描述外部可见症状的 bug 报告,和一个直接关联到源码的分析型 bug 报告,对开发者而言简直是天壤之别。

  • Brooks 定律说,在一个已经延期的项目上增加人手,只会让项目更加延期,它指出了传统软件开发在组织结构上的根本问题:随着开发人员数目的增长,项目复杂度和沟通成本按照人数的平方增加,但工作成果只会呈线性增长。而在开源项目中,外围开发者实际工作在分散而并行的子任务上,只有在那个小的核心团队里才会有 Brooks 开销。

以上就是 Linux 的集市模式奏效的主要原因,这种开源开发的方式是林纳斯真正最聪明和最有价值的成就。该方式使得几千名散布在全球各地的开发者,利用业余时间,仅仅是通过互联网这种脆弱的合作,就鬼斧神工般地造就了一个世界级的操作系统。


三、如何取得开源社区的成功


集市模式能够运转的前提是什么?

首先,很显然,你不可能从零开始实施集市模式。开发者社区从成立伊始,就需要一个可以运行和测试的东西。程序此时并不需要特别好,但它至少要做到:1. 能运行;2. 让潜在的合作开发者相信,这个软件在可预见的未来能演变成一个非常棒的东西。

其次,为了建立一个开发社区,你需要吸引人们,让他们对你做的事感兴趣,因此项目协调人或领导人的人格特征很重要;此外,协调者是否拥有卓越的原创设计能力可能不是决定性因素,但他是否能识别出他人的优秀创意则一定是最关键的。

接下来,也许是最重要的,Linux 的开源社区之所以成功,是因为它创建了一个有效率的egoboo市场。egoboo 是ego boosting的缩写,它代表的是个人在团体中声望的提升:Linux 黑客们致力于开源社区的项目开发,其目的并不是经典意义上的经济价值,而是自我满足和黑客声望这些无形的东西。

有人把这种动机称为利他,但其实利他本身是利他者自我满足的外在表现,它是未被意识的某种利己。因此,Linux 世界的运转在很多方面像一个自由市场,或者像一个由很多利己个体组成的生态系统,系统中每个个体都追求自身效用的最大化,在其共生的过程中,自然建立起一种具备自我纠错能力的秩序,这种秩序比任何集中式规划都要精妙和高效。

egoboo 市场把一个个黑客的利己动机尽可能牢靠地牵系到一个艰巨的任务目标上,并在众人持续的合作之下达成目标。

黑客文化是创建一个有效的 egoboo 市场,进而获得开源社区的成功的真正动力,因此在接下来的部分,我们讨论黑客的礼物文化,它呈现出的面貌是:参与者通过付出时间、精力和创意,在竞争中获取声望 / 声誉的文化。

大多数的人类组织模式都是为了适应稀缺和匮乏。最简单的组织模式是命令体系,稀缺物品被中心化的权力分配并以武力为后盾;最常见的组织模式是交换经济体系,稀缺物品主要通过贸易和资源合作的方式完成分配。大多数人同时存在上述两种心理模式并理解它们之间如何交互。

然而,还有一种大多数人不太了解的和上述两类完全不同的组织模式:礼物文化。礼物文化并不是对物质稀缺的适应,它是对物质充裕的适应,注意,充裕性会使命令关系难以维持,会使交换关系变得无意义。因此在礼物文化中,社会地位(人类对社会地位的竞争有一种天然的内驱力,它通过进化根植于人心)并不取决于你控制了什么,而是你给予了什么。

这种给予的礼物文化为何又在黑客文化中体现为获取声望?主要原因在于黑客赠予的礼物非常复杂,与其他礼物相比其价值体现难以评估,只能微妙地取决于同侪们的评价;另外,绝大多数礼物文化都会有折中,比如宗族结盟,但开源文化中不存在类似的折中,也就是说,要想获取地位,除了同侪声望,没有什么更多的途径了。

因此,礼物文化中获得社会地位的方式以及黑客礼物的特殊性,使得黑客会去追求在同侪中的声望,声望对于他们而言是最基本的一种激励。

除了作为激励,声望也是吸引人他人注意和合作的途径,在纯礼物经济中,这或许也是唯一的途径;此外,如果礼物经济和交换经济、命令体系互相关联,那么声望就可能从前一种环境传播到后两种环境中,使得黑客在另外的模式里也能获得更高的地位。

这就是开源开发自身的声望动力,也是开源社区能否取得成功的关键所在。

最后需要简单提及的是,相比增量改进现有的软件产品,创意十足的产品会让人获得更多声誉;相比和成熟项目竞争,填补领域空白更容易实现;相比另起一个新项目,对现有项目做出贡献更容易吸引注意力。因此,开源项目总是倾向于填充前沿地带的功能性缺口(其中一些非常成功的项目成了类别杀手),从全球来看,类别杀手和填补空白是开源项目发展的总体趋势。


四、开源开发的盈利机制


集市模式在软件开发上是奏效的,但这种模式在现实的交换经济中可以如何存活?换句话而言就是,这种模式怎样赚钱?

我们首先需要注意的是,计算机程序有着两种不同的经济价值:销售价值和使用价值。销售价值是它作为一个可买卖商品的价值,使用价值是它作为一个工具、一个生产率倍乘器的经济价值。

一直以来,人们倾向于假设软件具有的是批量商品的价值特点,也就是认为大多数开发者的薪金由软件销售价值支付,软件开发投入与软件销售价值成比例。但实际上,这种理解是错误的,被编写用来出售的代码仅仅是编程冰山的一角,给程序员支付报酬的工作大部分都是维护。

换句话说,软件业很大程度上是一个服务业,使用价值才是软件开发的主要驱动力。在从闭源转向开源的过程中,受到威胁的仅仅是销售价值,而非真正重要的使用价值。

如果开源开发比闭源更有效也更快捷,就像前文中论述的那样,我们应该能够仅靠使用价值就可以持续资助开源开发。埃里克在书中总结了开源开发的五种经济模型,并认为未来还会有更多的模型出现:

  • 软件免费,服务收费。也被形容为送剃须刀,卖刀片。源码开放会产生强大的市场效果,开源软件是为服务占领市场。这是 Red Hat 和其他 Linux 发行商所采用的做法:他们真正销售的东西不是软件,而是他们所提供的附加价值。

  • 软件免费,品牌收费。可以开源一项软件技术,保留其测试套件或兼容性标准,然后卖品牌认证。如果某公司的产品通过认证,则表明他们对该技术的实现和其他拥有该品牌认证的产品是兼容的。

  • 软件免费,内容收费。想象一个类似股票报价订阅的服务,其价值既不在客户端也不在服务器端,而在于提供客观可信的信息,所以可以开源软件而销售内容订阅。当黑客们把客户端移植到新平台时,市场还会自然而然地扩展。

  • 当下收费,未来免费。以封闭许可证的形式发布软件的源码,但其中的封闭条款有过期时间。这种模型的好处在于它使顾客确信产品是可以客户化的,是始终可用的,因为他们有源码,开源社区可以接管起来。

  • 占领市场。利用开源软件建立或维护专有软件的市场地位。最常见的形式是将客户端软件开源,用来帮助服务器端软件的销售。

尽管黑客圈外仍然广泛流传着黑客敌视市场的谬论,但其实大多数黑客乐于和商业世界合作。有必要谈谈黑客对直接收费类型许可证心存不满的真正原因是什么,这个问题微妙而有趣。

第一个原因与对等性有关,大多数开源开发者希望不会有任何人站在一个特权地位上牟利。第二个原因与非有意后果有关,如果对软件的使用 / 销售 / 修改 / 发布加以限制,会给某些活动,比如开源软件的发布笼上了一层法律阴影,人们需要小心翼翼防范那些潜在的法律风险。

最后的也是最关键的一个原因,如果许可证被设计用来获取销售价值,它通常就会在法律上使项目不可能产生分支。这是黑客们绝不答应的,这也是 Sun 关于 Java 和 Jini 的社区源码许可证方案被开源社区普遍拒绝的原因。

黑客社区里没人愿意看到项目分裂成互相竞争的多条开发线,不到万不得已人们并不想使用分支的权力,但如果有人试图夺去这些权力,那一定是非常危险的信号。

以上三个原因解释了开源定义中的某些条款,这些条款表达了黑客社区的共识,也是标准许可证,比如 GPL、BSD 许可证的关键特征。


五、黑客态度


黑客文化和黑客行为带来了开源运动,理解黑客精神,是理解开源模式为何能够奏效、开源社区如何才能成功的关键所在。而对于任何一个要在未来工作和生活的人,懂一些黑客文化都是很有意义的。

另一件有趣的事情是,黑客精神并不局限于软件文化中,黑客的天性其实是独立于他们所从事的工作的。人们会把黑客态度用在其他事情上,比如电子或音乐,科学或艺术。黑客的态度可能主要包括以下几点:

  • 认为这个世界充满了迷人的问题等待人们去解决。成为一名黑客,你必须要对解决问题、磨砺技能和智力挑战有着基本的兴奋感。

  • 你要相信创造性头脑是无比珍贵的有限资源,其他黑客的思考时间是很宝贵的,以至于共享信息、解决问题并将解决办法馈赠给其他黑客几乎就是你的道德义务,这样一来,其他黑客就可以去解决新问题。

  •  相信无聊和乏味不仅是不好的,而且是有害的。

  •  自由是好事。无论什么地方出现权威主义倾向,你都要与之抗争,以免他们压迫你和其他黑客。滥用权威者依靠审查和保密而强大,他们不信任自愿合作和信息共享,他们只喜欢他们控制之下的合作。若要做得像一名黑客,对审查、保密以及使用武力或欺骗这类行为,要有一种直觉上的反感。

  • 态度不能代替能力。要成为一名黑客,你需要智慧、实践、投入和努力。

对照这几点,你是一名黑客吗?

埃里克·斯蒂芬·雷蒙把《大教堂与集市》献给罗伯特·安森·海因莱因,一位了不起的科幻小说作家,并引用海因莱因的一句话开启了全书的内容。

这句话是这么说的:要尊重能力,要珍视和捍卫自由。就让我们以这句话作为本篇文章的结束吧。