Linux 版 (精华区)

发信人: pangwa (everything will go end?), 信区: Linux
标  题: (Eric Raymond)大教堂和市集(10)
发信站: 哈工大紫丁香 (Mon Jan 24 14:21:08 2005), 转信

十. 自由软件的社会学语境

    下述如实:最好的开发是从作者解决每天工作中的个人问题开始的,因为它
对一大类用户来说是一个典型问题,所以它就推广开来了,这把我们带回到准则1,
也许是用一个更有用的方式来描述:

 18. 要解决一个有趣的问题,请从发现让你感兴趣的问题开始。

  这是Carl Harris和原先的popclient的情形,也是我和fetchmail的情形,但
这已在很长一段时间被大家知晓了,Linux和fetchmail的历史要求我们注意的有
趣之处是下一个阶段——软件在一个庞大的活跃的用户和协作开发人员的社团中
的进化。

  在《神秘的人月》一书中,Fred Brooks观察到程序员的工作时间是不可替代
的:在一个误了工期的软件项目中增加开发人员只会让它拖得更久,他声称项目
的复杂度和通讯开销以开发人员的平方增长,而工作成绩只是以线性增长,这个
说法被称为“Brooks定律”,被普遍当作真理,但如果Brooks定律就是全部,那
Linux就不可能成功。

  几年之后,Gerald Weinbeng的经典之作“The Psychology Of Computer 
Progromming”为我们更正了Brooks的看法,在他的“忘我(egoless)的编程”中,
Weinberg观察到在开发人员不顽固保守自己的代码,鼓励其他人寻找错误和发展
潜力的地方,软件的改进的速度会比其他地方有戏剧性的提高。

  Weinberg的用词可阻止了他的分析得到应有的接受,人们对把Internet黑客
称为“忘我”的想法微笑,但是我想今天他的想法比以往任何时候都要引人注目。

  Unix的历史已经为我们准备好了我们正在从Linux学到的(和我在更小规模上
模仿Linus的方法所验证的)东西,这就是,虽然编码仍是一个人干的活,真正伟
大的工作来自于利用整个社团的注意和脑力,在一个封闭的项目中只利用他自己
的脑力的人会落在知道怎样创建一个开放的、进化的,成百上千的人在其中查找
错误和进行修改的环境的开发人员之后。

  但是Unix的传统中有几个因素阻止把这种方法推到极致。一个是各种授权的
法律约束、商业机密和商业利益,另一个(事后来看)是Internet还不够好。

  在Internet变得便宜之前,有一些在地理上紧密的社团,它们的文化鼓励
Weingberg的“忘我”编程,一个开发人员很容易吸引许多熟练的人和协作开发人
员,贝尔实验室,MIT A1实验室,UC Berkeley,都成为传统的、今天仍然是革新
的源泉。

  Linux是第一个有意识的成功的利用整个世界做为它的头脑库的项目,我不认
为Linux的孕育和万维网的诞生相一致是一个巧合,而且Linux在1993-1994的一段
ISP工业大发展和对Internet的兴趣爆炸式增长的时期中成长起来,Linus是第一
个学会怎样利用Internet的新规的人。

  廉价的Internet对Linux模式的演化来说是一个必要条件,但它并不充分,另
一个关键因素是领导风格的开发和一套协作的氛围使开发人员可以吸引协作开发
人员和最大限度地利用媒体。

  但是这种领导风格与氛围到底是什么呢?它不能建立在权力关系之上——甚至
如果它们可以,高压的领导权力不能产生我们所看到的结果,Weinberg引用了19
世纪俄国的无政府主义者Kropotkin的“Memoris of a Revolutionist”来证明这
个观点:

  “我从小生活在一个农奴主的家庭中,我有一个活跃的生活,象我们时代的
所有年轻人一样,我深信命令、强制、责骂、惩罚等等的必要性。但是当我(在早
期)必须管理一个企业,和(自由)人打交道时,当每一个错误都会产生严重后果时,
我开始接受以命令和纪律为准则来行动和以普通理解为准则来行动的区别。前者
在军事阅兵中工作的很好,但是它在现实生活中一文不值,目标达成只是靠许多
愿望的聚合的简单后果。”“许多聚合在一起的愿望的直接后果”精确地指出了
象Linux的项目所需要的东西。“命令的准则”在Internet这种无政府主义的天堂
中一群自愿者之中是没有市场的,为了更有效的操作和竞争,想领导协作项目的
黑客们必须学会怎样以Kropotkins含糊指出的“理解的准则”模式来恢复和激活
社团的力量,他们必须学会使用Linus定律。

  前面我引用“Delhpi效应”来作为Linus定律的一个可能的解释,但是来自
生物学和经常学的自适应系统的更强大的分析也提出了自己的解释,Linus世界
的行为更象一个自由市场或生态系统,由一大群自私的个体组成,它们试图取得
(自己)最大的实效,在这个过程中产生了比任何一种中央计划都细致和高效的自
发的改进的结果,所以,这里就是寻找“理解的准则”的地方。

  Linux黑客取得的最大化的“实际利益”不是经典的经济利益,而是无形的他
们的自我满足和在其他黑客中的声望,(有人会说他们的动机是“利他的”,但这
忽略了这样的事实:利他主义本身是利他主义者的一种自我满足的形式),自愿的
文化以这种方式工作的实际上并非不寻常,我已参与一个科幻迷团体很长时间了,
它不象黑客团体一样,显式地识别出“egoboo”(一个人在其他爱好者之中的声望
的增长)作为自愿者活动背后的基础驱动力)。

  Linus成功地把自己置于项目的守门人的位置,在项目中开发大部分是别人做
的,他只是在项目中培养兴趣直到它可以自己发展下去,这为我们展示了对Kropokin
的“共同理解原则”的敏锐把握,对Linux这种类似经济学的观点让我们看到这种
理解是怎样应用的。

  我们可以把Linus的方法视为创建一个高效的关于“egoboo”(而不是钱)的市
场,来把自私的黑客个体尽可能紧密的联系起来,达成只能通过高度协作才能得
到的困难的结果,在fetchmail项目中我展示了(在较小规模上)这种模式可以复制,
得到良好的结果,也许我比他更有意识一点、更加系统一点。

  许多人(尤其是哪些由于政治原因不信任自由市场的人)会盼望自我导向的自
我主义者的文化破碎、报废、秘密和敌对,但这种盼望很明显地被Linux的文档的
多样性、质量和深度打破了,程序员讨厌写文档似乎已是圣训,但Linux的黑客们
怎么产生了这么多?显然Linux的egoboo自由市场比有大量资金的商业软件产品的
文档部在产生有品德的、他人导向的行为方面工作的更好。

  Fetchmail和Linux内核项目都表明,通过恰当的表彰许多其他黑客,一个强
大的开发者/协调者可以用Internet得到许多协同开发人员而不是让项目分崩离
析为一片混乱,所以关于Brooks定律我得到了下面的想法:

 19. 如果开发协调人员有至少和Internet一样好的媒介,而且知道怎样不通过
强迫来领导,许多头脑将不可避免地比一个好。

  我认为自由软件的将来将属于那些知道怎样玩Linus的游戏的人,把大教堂抛
之脑后拥抱市集的人,这并不是说个人的观点与才气不再重要,而是,我认为自
由软件的前沿将属于从个人观点和才气出发的人,然后通过共同兴趣自愿社团的
高效建造来扩展。

  可能不只是自由软件的将来,在解决问题方面,没有任何商业性开发者可以
与Linux社团的头脑库相匹敌,很少有人能负担起雇佣200多个为fetchmail出过力
的人!

  也许最终自由软件文化将胜利,不是因为协作在道德上是正确的或软件“囤
积居奇”在道德上是错的(假设你相信后者,Linus和我都不),而仅仅是因为商业
世界在进化的军备竞赛中不能战胜自由软件社团,因为后者可以把更大更好的开
发资源放在解决问题上。

--
 飞扬的青春
            自由的享受
                      ----欢迎光临Linux版


※ 修改:·pangwa 于 Jan 24 14:22:48 修改本文·[FROM: 210.46.79.57]
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 210.46.79.57]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.700毫秒