天天看點

《開源思索集》一降低門檻與品質控制

本節書摘來異步社群《開源思索集》一書中的第1章,作者: 莊表偉 責編: 楊海玲, 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

開源思索集

從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的協作模式創新。

更多的工具,正在層出不窮,更多的創新,還在源源不斷地湧現。

我想:向前看,才是合理的方向。