重要通知:域名变更为m.bxuu.net请收藏
,所以市集风格的领导人/协调人需要有出众的设计才能,或者他可以利用别人的设计才能?
我认为能够提出卓越的原始设计思想对协调人来说不是最关键的,但是对他/她来说绝对关键的是要能把从他人那里得到的好的设计重新组织起来。
Linux和fetchmail项目都显示了这些证据,Linus(如同前面所说)并不是惊人的原始设计者,但他显示了发现好的设计并把它集成到Linux内核中的强大决窍。还有我也描述了怎样从别人那里得到了fetchmail中最强大的设计思想(**TP转发)。
本文的早期读者称赞我,说因为我做了许多关于原始设计的事,所以倾向于低估原始设计在市集项目中的价值,也许有些是对的吧,但是设计(而不是编码或调试)本来就是我最强的能力。
变得聪明和软件设计的原始创作的问题是它会变成一个习惯,当需要保持事物健壮和简洁的时候,你却开始把事情变得漂亮但却复杂。我曾经犯过错误,使得一些项目因我而崩溃了,但我努力不让它发生在fetchmail身上。
所以我相信fetchmail项目的成功部分是因为我抑制自己不要变得太聪明,这说明(至少)对市集模式而言原始设计并不是本质的,请考察一下Linux假设LinusTorvalds在开发时试图彻底革新操作系统设计,它还会象今天我们所拥有的内核那样稳定和成功吗?
当然基本的设计和编码技巧还是必需的,但我希望每个严肃考虑发起一个市集计划的人都已至少具备这些能力,自由软件社团的内部市场对人们有某些微妙的压力,让他们不要发起自由不能搞定的开发,目前为止,这工作得仍然相当好。
对市集项目来说,我认为还有另一种通常与软件开发无关的技能和设计能力同样重要——或者更加重要,市集项目的协调人或领导人必须有良好的人际和交流能力。
这是很显然的,为了建造一个开发社团,你需要吸引人,你所做的东西要让他们感到有趣,而且要保持他们对他们正在做的工作感到有趣,而且要保持他们对他们正在做的工作感到高兴,技术方面对达成这些目标有一定帮助,但这远远不是全部,你的个人素质也有关系。
并不是说Linus是一个好小伙子,让人们喜爱并乐于帮助他,也并不是说我是个积极外向的,喜欢扎堆儿工作,有出众的幽默感的人,对市集模式的工作而言,至少有一点吸引人的技巧是非常有帮助的。
十.自由软件的社会学语境
下述如实:最好的开发是从作者解决每天工作中的个人问题开始的,因为它对一大类用户来说是一个典型问题,所以它就推广开来了,这把我们带回到准则1,也许是用一个更有用的方式来描述:
18.要解决一个有趣的问题,请从发现让你感兴趣的问题开始。
这是CarlHarris和原先的popclient的情形,也是我和fetchmail的情形,但这已在很长一段时间被大家知晓了,Linux和fetchmail的历史要求我们注意的有趣之处是下一个阶段——软件在一个庞大的活跃的用户和协作开发人员的社团中的进化。
在《神秘的人月》一书中,FredBrooks观察到程序员的工作时间是不可替代的:在一个误了工期的软件项目中增加开发人员只会让它拖得更久,他声称项目的复杂度和通讯开销以开发人员的平方增长,而工作成绩只是以线性增长,这个说法被称为“Brooks定律”,被普遍当作真理,但如果Brooks定律就是全部,那Linux就不可能成功。
几年之后,GeraldWeinbeng的经典之作“ThePsychologyOfComputerProgromming”为我们更正了Brooks的看法,在他的“忘我(egoless)的编程”中,Weinberg观察到在开发人员不顽固保守自己的代码,鼓励其他人寻找错误和发展潜力的地方,软件的改进的速度会比其他地方有戏剧性的提高。
Weinberg的用词可阻止了他的分析得到应有的接受,人们对把Internet黑客称为“忘我”的想法微笑,但是我想今天他的想法比以往任何时候都要引人注目。
Unix的历史已经为我们准备好了我们正在从Linux学到的(和我在更小规模上模仿Linus的方法所验证的)东西,这就是,虽然编码仍是一个人干的活,真正伟大的工作来自于利用整个社团的注意和脑力,在一个封闭的项目中只利用他自己的脑力的人会落在知道怎样创建一个开放的、进化的,成百上千的人在其中查找错误和进行修改的环境的开发人员之后。
但是Unix的传统中有几个因素阻止把这种方法推到极致。一个是各种授权的法律约束、商业机密和商业利益,另一个(事后来看)是Internet还不够好。
在Internet变得便宜之前,有一些在地理上紧密的社团,它们的文化鼓励Weingberg的“忘我”编程,一个开发人员很容易吸引许多熟练的人和协作开发人员,贝尔实验室,MITA1实验室,UCBerkeley,都成为传统的、今天仍然是革新的源泉。
Linux是第一个有意识的成功的利用整个世界做为它的头脑库的项目,我不认为Linux的孕育和万维网的诞生相一致是一个巧合,而且Linux在19931994的一段ISP工业大发展和对Internet的兴趣爆炸式增长的时期中成长起来,Linus是第一个学会怎样利用Internet的新规的人。
廉价的Internet对Linux模式的演化来说是一个必要条件,但它并不充分,另一个关键因素是领导风格的开发和一套协作的氛围使开发人员可以吸引协作开发人员和最大限度地利用媒体。
但是这种领导风格与氛围到底是什么呢?它不能建立在权力关系之上——甚至如果它们可以,高压的领导权力不能产生我们所看到的结果,Weinberg引用了19世纪俄国的无政府主义者Kropotkin的“MemorisofaRevolutionist”来证明这个观点:
“我从小生活在一个农奴主的家庭中,我有一个活跃的生活,象我们时代的所有年轻人一样,我深信命令、强制、责骂、惩罚等等的必要性。但是当我(在早期)必须管理一个企业,和(自由)人打交道时,当每一个错误都会产生严重后果时,我开始接受以命令和纪律为准则来行动和以普通理解为准则来行动的区别。前者在军事阅兵中工作的很好,但是它在现实生活中一文不值,目标达成只是靠许多愿望的聚合的简单后果。”“许多聚合在一起的愿望的直接后果”精确地指出了象Linux的项目所需要的东西。“命令的准则”在Internet这种无政府主义的天堂中一群自愿者之中是没有市场的,为了更有效的操作和竞争,想领导协作项目的黑客们必须学会怎样以Kropotkins含
本章未完,请点击【下一页】继续阅读》》