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