Linux与组织问题
群体的智慧这条故事线追踪一个开源项目,展示分散式贡献如何带来多样性,以及集中审查如何提供筛选机制。
increasing
Bearing strength in each event
decreasing
Linux 与组织问题

贡献邀请
首次发布
林纳斯·托瓦兹创建了一个Unix版本,并公开发布其源代码。他邀请能够改进它的人将自己的成果寄回,以供考虑纳入其中。
这项邀请将一个个人项目变成了开放式协作。在最初十次下载中,就有几位程序员寄回了修复、改进或新功能。
一种新型资源
项目没有雇用每一位贡献者,也没有给每个人分派工作,而是汇集那些主动选择感兴趣问题的人所付出的努力。
这一开端提出了本章的组织问题:没有传统的命令与控制,志愿者参与的分散式工作能否打造出可靠的系统?
贡献者追随兴趣

没有组织架构图的工作
自选任务
Linux贡献者来自不同地方,处理自己选择的问题。没有正式经理命令他们逐一修复每个错误,也没有员工名册界定项目的全部能力。
这种安排开辟了一个可能解决方案的领域,其规模远超任何一家公司的人员配置能力。贡献者可以根据自己的兴趣和技能投入精力。
大规模多样性
项目的优势部分来自能够检查代码的人数众多、背景多样。一名程序员忽略的错误,另一位经验不同的程序员或许一眼就能看出来。
若以保证每个小时都富有成效这一狭义标准衡量,这套系统并不高效。表面上的浪费反而增加了有用解决方案涌现的机会。
审查瓶颈

谁来选择代码
分权需要筛选
世界各地的程序员都可以提出修改建议,但操作系统仍需要一种方式,决定哪些贡献能够进入源代码。
林纳斯·托瓦兹和一小群程序员负责审查提交的修改。因此,最终决策仍比寻找可能的修复方案更加集中。
汇总判断,而非取消权威
这一安排表明,仅有分权并不能保证结果明智。系统需要评估各项贡献,并将本地的努力与共同产品连接起来。
该项目的结构将分散式探索与范围较窄的评估流程结合起来,而不是把完全控制或完全自主中的任何一方视为充分条件。
Linux与组织问题

通过检查提高可靠性
广泛搜寻错误
数千名程序员可以检查Linux并提交修正。因此,该项目拥有异常庞大的人力储备,能够发现弱点并提出修复方案。
埃里克·雷蒙德用一句话概括了这种吸引力:只要有足够多的眼睛,所有错误都浅显易见。这一说法强调检查范围广泛,并非认为任何贡献者都不会出错。
协调仍然重要
大量提交的修改也可能造成混乱或不一致。要在利用分散力量的同时维持系统的一致性,就必须进行审核与整合。
探索与一致性之间的张力,是这条故事线的核心冲突:更多贡献者能扩大错误发现的范围,但共同标准和采纳决定才能让成果保持可用。
Linux与组织问题

分散协作,共享成果
微软的替代方案
尽管缺乏大型软件公司通常具备的所有权和雇佣结构,Linux仍成为微软的重要挑战者。
贡献者不必在每项任务上达成一致,也不必在同一位主管手下工作。他们需要的是提交工作的途径,以及一套能够判断哪些内容应纳入系统的流程。
案例的平衡之处
这个例子支持分权,但并不意味着分权是普遍适用的良方。项目之所以成功,取决于广泛参与与汇总、审核贡献的机制相结合。
故事的解决方式侧重制度,而非个人:只要社群拥有一条可信的路径,能将本地问题的解决汇聚成连贯的整体,开放协作就能取得成功。
1991年
Linux的早期开发
随着 Linux 日趋成熟
Linux的贡献流程成形之后
本书第四章的结论