開源是怎樣修煉成的?
開源軟件是現(xiàn)在可以將創(chuàng)新帶到市場的最短路線。當(dāng)通過數(shù)以百萬計的開發(fā)者的口碑,并將在開源許可證下下載新代碼用于新任務(wù)的時候,你幾乎可以感覺到世界的技術(shù)基線已經(jīng)更上一層樓了。但開源的深遠的影響會在此刻停止嗎?
在過去幾年中,GitHub是所有人最喜愛的云控制版本和版本庫服務(wù),只不過漸漸地,人們已經(jīng)不再這么認為了。最近,在一個小的會議上,幾個在數(shù)家企業(yè)做經(jīng)理的人一致同意通過協(xié)作、自主組織、分布式的方法來推動開源代碼的發(fā)展—— 為開發(fā)企業(yè)軟件提供了一個更具吸引力的新模型。
實際上,這個模型看上去怎么樣?在一次RedMonk會議,自稱是Github***位“開發(fā)者員工”的Ryan Tomayko簡潔地描述了該理念的核心思想:
Internally, our processes work very much like an open source project. There are projects, there are people interested in projects, there are people coming up with ideas for projects, they're submitting into projects, there are people reviewing those changes and either accepting or rejecting them.
我們的流程在內(nèi)部運作起來非常像是一個開源項目。我們有項目,也有對項目感興趣的人;人們想出一些創(chuàng)意之后就會提交到項目里,除此之外還有些專門人審閱這些更改,最終決定是接受或拒絕這些創(chuàng)意想法。
換 句話說,流程的簡單也是高效運作的必要條件,和程序復(fù)雜的企業(yè)開發(fā)組織相比。GitHub作為一個遵守分布式、協(xié)作性質(zhì)的開源組織,對開源項目的順利進行 有一定的限制規(guī)定。所有通信都必須是電子形式的,且公布出來,參與者一般情況下都是廣泛分布在各個地方的,所以這是一種對所有問題討論進行的開放的審計跟 蹤和問責(zé)制。每個工作都是異步進行完成的,所以很少會出現(xiàn)依賴性和需要規(guī)避的瓶頸現(xiàn)象。
GitHub 本身就是一個可以為這種協(xié)作模式提供開放平臺的平臺。事實上,很難高估 GitHub 在加速軟件開發(fā)步伐上的影響力,因為它已經(jīng)給參與和協(xié)作帶來了越來越容易的便利。
言歸正傳,所有的參與者都已經(jīng)內(nèi)地里部署了GitHub的企業(yè)版本。隨著平臺的開放力度的不斷增大,當(dāng)你將開源模型應(yīng)用在企業(yè)內(nèi)部的時候會出現(xiàn)什么現(xiàn)象,人么會選擇他們喜歡的項目進行開發(fā)嗎?
如何確保開發(fā)人員能夠滿足安全性和遵從性目標,尤其是在OpenSSL已經(jīng)崩潰的情況下?我覺得許多企業(yè)的開發(fā)組織會拒絕這些想,并懷疑“敏捷”工作流的影響力。但是又不能完全拋棄開源的想法。
但很難忽略開源和GitHub對軟件開發(fā)產(chǎn)生的巨大的創(chuàng)新影響力。在一年前舉辦的Realtime Conference大會上,Mikeal Rogers認為Node.js所取得的驚人成功還要歸功于GitHub的存在,降低了項目準入門檻。
但問題是這樣的:一個大眾化的開源模型在企業(yè)能夠順利工作嗎?是否可以被嫁接融合到現(xiàn)有企業(yè)發(fā)展文化中,或者說它是否需要進行適當(dāng)?shù)霓D(zhuǎn)變?有一點可以肯定的是,開源創(chuàng)新所帶來的成功意味著這種模型是不應(yīng)該被忽視的。