知乎|为什么10月24日是码农的节日?程序员的鄙视链,依据的是什么?( 二 )


但在一个开源项目里 , 同时参与开发的程序员动不动几百上千人 , 按照“布鲁克斯法则” , Linux根本不可能完成 。 这怎么解释?
根据《大教堂与集市》这本书里的说法 , “布鲁克斯法则”只适用于“大教堂”开发模式 , 从上而下划分职责 , 每个人各管一块 , 互不干涉 。 结果 , 你这里解决了一个问题 , 可能在别人那里产生10个新的问题 。
而在“集市”开发模式下 , 开发人员不把代码看作是自己的“私人领土” , 而是鼓励别人发现其中的bug和潜在改进点 , 每个人都可以进行修改 , 然后把最靠谱的修改筛选出来放在新版本中 。 这是一种参与的人越多、迭代速度越快的方式 。 “布鲁克斯法则”在集市开发模式下失效了 , 就好像牛顿定律不适用于量子世界一样 。

开源项目 , 就好像是程序员们创立的一个自由演化的“元宇宙” 。 在这个宇宙中 , 积累演化变异的DNA就是源代码;而演化的能量来源 , 就是那个独特的程序员荣誉体系 。