5.2 超越 Brooks 定律
1993 年底,通过最早的 CD-ROM 发行版 Yggdrasil,我第一次接触到 Linux。那时我已经被卷入黑客文化 15 年了,早在 20 世纪 70 年代末,我就开始接触早期的 ARPAnet,我甚至还简单地见识过 ITS 机器。在我开始写自由软件并将其发布到 Usenet 上时,自由软件基金会(FSF)还未成立,1984 年 FSF 成立后,我是它的首批贡献者之一。最近我刚发布了“新黑客词典”的第二版,我想我懂黑客文化(包括它的局限性),而且很懂。
正如我在别处所写的那样,Linux 让我大吃一惊。虽然那时我在黑客文化中已经活跃多年,我仍然抱有一个未经检验的假定,认为黑客尽管可能很有天赋,但若要制作一个可用的多任务操作系统,他们没有能力调动所需的资源或技术。HURD 开发者历经十年来的努力,最终证明了这一点。
但就在他们失败的地方,Linus Torvalds 和他的社区成功了,他们不仅实现了稳定运行 UNIX 接口的最低需求,而且完全超越了那个标准,他们用自己的活力和才华,提供了数百兆的程序、文档以及其他资源。他们贡献了整套的互联网工具、桌面出版软件、图形支持、编辑器、游戏……乃至所有你能想到的东西。
看到这些精彩绝伦并能组成可工作系统的代码盛宴,其震撼体验远远超过仅在理智上知道这些比特的存在。就好比多年来我一直在整理成堆的汽车零配件,突然间,面前出现一辆由同样元件组装起来的闪闪发亮的红色法拉利,门开着,钥匙在锁上摇摆,引擎温柔地轰鸣,承诺着它将给予的能量……
20 多年来我所观察到的黑客传统,似乎瞬间有了一种充满能量的新活法。在某种意义上,我已经成为这个社区的一部分,因为我的若干个人作品已经作为自由软件加入其中,但我想更深入一些,因为我每次感受到惊喜时,都又一次加深了我的困惑:它怎么会这么棒。
在软件工程的全部经验中,Brooks 定律占据着统治地位,它来自于 Fred Brooks 的经典著作《人月神话》。
Brooks 推测,如果开发成员数目为 N,工作量会呈 N 倍增长,但复杂性和 bug 率会以 N 2增长。N 2体现着各开发者代码之间的通信路径(以及可能的代码接口)。
对于一个有数以千计贡献者的项目,Brooks 定律预言它必然会成为怪异不堪、难以驾驭的一团乱麻,但不知怎地,Linux 社区打破了 N 2效应,他们做出了质量高得惊人的 OS。我决心要弄明白这是怎么回事。
我花了三年时间亲自参与和近距离观察,最终得出一个理论,并用另外一年去实际检验它。然后我坐下来,写下了“大教堂与集市”,来说明我所看到的一切。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论