降低门槛与质量控制
开源思索集
从Linus抨击Github说起:托瓦兹抨击GitHub:某些功能很垃圾
开源,是一个很神奇的事情。Linus在开发Linux的时候,受到的最大的指责就是质量控制不力。但是,Linus对此并不太在乎,还发明了一个Linus定理:“足够多的眼睛,就可让所有问题浮现”(given enough eyeballs, all bugs are shallow)。
开源的精神本质,可以认为是一场不收门票的盛宴,任何人都有机会参与进来。当然,质量因此而下降,也是必须解决的问题。
从集中式代码管理到分布式代码管理,是再一次的降低门槛。开发者不依赖于主库,就可以创建自己的分支。我的代码就算原来项目的人不接受,我也可以继续搞下去。分布式的核心,是去中心化。去中心化的本质是否定权威。不过,去中心化导致的,是质量控制更加困难。
当然,Github基于Git,将去中心化几乎做到了极致;将参与开源的门槛,几乎拉到了最低点。从Linus这位发起了两次降低门槛运动的“革命老人”来说,他对于第三次降低门槛的行为,受不了了。
很多时候,我们都会在历史上看到这样的现象:革命的旗手停下来了,不再继续前进了。他喊道:够了,再这样下去,就是错的了。但是,后来者依然再继续前进,并且走得更远。
回到技术问题的探讨:为了保障质量,回到权威主导的中心化模式,当然是一个办法。但是,有没有更好的办法?
- topgit,gitflow,是针对Git的功能扩展。
- hubflow,是基于Github的gitflow。
- repo+gerrit,是不依赖Github的协作模式创新。
- http://gerrithub.io,是基于Github的gerrit。
更多的工具,正在层出不穷,更多的创新,还在源源不断地涌现。
我想:向前看,才是合理的方向。
时间: 2024-10-01 12:32:44