現(xiàn)在推動(dòng)開(kāi)源界的是云供應(yīng)商。
據(jù)一些人所說(shuō),開(kāi)源界即將窮途末路,因?yàn)樾皭旱脑凭揞^在壓榨脆弱不堪的開(kāi)源社區(qū),幾乎沒(méi)有回饋。這種說(shuō)法頗有市場(chǎng),導(dǎo)致一些高喊世界末日到來(lái)的先知宣稱我們所知道的開(kāi)源可持續(xù)性將走到盡頭。
然而,數(shù)據(jù)表明了一種全然不同的情況。
根據(jù)針對(duì)GitHub數(shù)據(jù)和CNCF數(shù)據(jù)的兩份獨(dú)立分析結(jié)果顯示,開(kāi)源項(xiàng)目的最大貢獻(xiàn)者恰恰正是公共云公司。的確,正是由于它們從事于運(yùn)營(yíng)軟件,而不是銷售軟件,這些公司可能最有能力在未來(lái)多年推動(dòng)而不是破壞開(kāi)源。
開(kāi)源森林,而不是僅僅開(kāi)源幾顆樹(shù)
對(duì)于密切關(guān)注的人士來(lái)說(shuō),一段時(shí)間以來(lái),尤其是微軟和谷歌顯然是開(kāi)源項(xiàng)目最主要、最搶眼的貢獻(xiàn)者。由于占主導(dǎo)地位的平臺(tái)公司一心想吸引開(kāi)發(fā)人員,開(kāi)源是一個(gè)必備要求,而不是可有可無(wú)。微軟起初走開(kāi)放道路,表示可在Azure上運(yùn)行及/或支持各種開(kāi)源項(xiàng)目,因此在業(yè)界掀起了動(dòng)靜。谷歌則更進(jìn)一步,開(kāi)源了功能異常強(qiáng)大的代碼,比如Kubernetes和TensorFlow。
就連被指責(zé)開(kāi)源貢獻(xiàn)方面很小氣的云市場(chǎng)絕對(duì)領(lǐng)導(dǎo)者:AWS再也無(wú)法充當(dāng)開(kāi)源社區(qū)的旁觀者。雖然AWS在開(kāi)源領(lǐng)域一直比較活躍,但它在2018年還是顯著加大了開(kāi)源方面的籌碼。
這一切在Adobe的開(kāi)發(fā)人員Fil Maj分析超過(guò)620萬(wàn)份GitHub個(gè)人簡(jiǎn)介及貢獻(xiàn)歷史的文章中均有詳細(xì)描述。要注意的地方是:這番分析并不精確嚴(yán)謹(jǐn),當(dāng)然遺漏了重要的代碼庫(kù)(比如Apache項(xiàng)目)。即便如此,對(duì)GitHub.com用戶/公司關(guān)聯(lián)(個(gè)人簡(jiǎn)介中公司這欄上的自述)的這番分析還是傳達(dá)出了一個(gè)強(qiáng)烈的訊號(hào),這個(gè)訊號(hào)就是“云主導(dǎo)開(kāi)源界。”該表顯示了他的數(shù)據(jù)。
收購(gòu)Red Hat后,IBM的排名有了大幅提升。雖然這筆交易尚未最終達(dá)成,但該表描述了合并后的公司。若將兩者分開(kāi)來(lái),谷歌躍升至第二位,Red Hat降到第三位,IBM遠(yuǎn)遠(yuǎn)落在第四位。(不過(guò)記住一點(diǎn),像IBM這樣的公司可能在Apache項(xiàng)目方面更為活躍,Apache項(xiàng)目在Maj的計(jì)數(shù)中未予以表示。)
Felipe Hoffa對(duì)GitHub數(shù)據(jù)集采取了不同的方法,這里微軟和谷歌的領(lǐng)先地位變得還要明顯:2018年,兩家公司都擁有約1000名GitHub參與者,每人貢獻(xiàn)了約1000個(gè)代碼庫(kù)。Red Hat名列第三,有600名GitHub參與者,每人貢獻(xiàn)了約500個(gè)代碼庫(kù),亞馬遜、IBM、Pivotal和英特爾緊隨其后,每人貢獻(xiàn)了約400個(gè)代碼庫(kù)。微軟、谷歌、Red Hat、Pivotal和IBM在2018年的活躍度幾乎與2017年一樣,但亞馬遜的GitHub參與者數(shù)量增至三倍,2018年貢獻(xiàn)的代碼庫(kù)比2017年增加一倍以上。
同樣,數(shù)據(jù)并不完美,但仍然很難避免得出這個(gè)結(jié)論:今天開(kāi)源界最龐大、最活躍的貢獻(xiàn)者是云公司。更廣泛地說(shuō),使用Maj的數(shù)據(jù)集,值得關(guān)注但不足為奇的是,十大開(kāi)源貢獻(xiàn)者中七家并不從事于銷售軟件,而是銷售服務(wù)。
為什么云公司有能力如此慷慨?
要重復(fù)一遍:開(kāi)源軟件的最大貢獻(xiàn)者本身不是軟件公司,它們是云計(jì)算公司或并不從事于銷售軟件的公司。為什么這很重要?因?yàn)樵陂_(kāi)源社區(qū)最賣力地自由參與的公司正是商業(yè)模式要求它們緊緊捂住代碼不放的公司。對(duì)于主業(yè)是硬件、云服務(wù)或非軟件的公司而言,為開(kāi)源社區(qū)積極貢獻(xiàn)可以為核心業(yè)務(wù)價(jià)值帶來(lái)更多的附加值。
各大云公司日益認(rèn)識(shí)到這一點(diǎn),但Maj和Hoffa分析的另一個(gè)結(jié)果就是名單上缺少非技術(shù)企業(yè)。正如硅谷專家們常說(shuō)的那樣,如果“軟件在蠶食世界”和“開(kāi)發(fā)人員是新的掌權(quán)者”,來(lái)自金融服務(wù)和零售等眾多行業(yè)的企業(yè)應(yīng)該會(huì)為開(kāi)源社區(qū)積極貢獻(xiàn)代碼。
正如匯豐銀行的首席架構(gòu)師David Knott告訴Mitch Wagner那樣,問(wèn)題在于“我們還沒(méi)有搞清楚......如果我們貢獻(xiàn)代碼,我們自己會(huì)置身怎樣的處境。從工程角度來(lái)看,我們認(rèn)為貢獻(xiàn)代碼是正確的事情,也是負(fù)責(zé)任的事情。但我們需要從法律角度來(lái)理解。”換句話說(shuō),主流企業(yè)比更精通技術(shù)的企業(yè)落后十年,近二十年來(lái)后一類企業(yè)一直在以參與的方式面對(duì)開(kāi)源。其他這些企業(yè)將學(xué)會(huì)如何以及為何要逐漸貢獻(xiàn),但它們上手起來(lái)比技術(shù)公司困難得多。
這一切可能意味著我們應(yīng)該少花時(shí)間哀聲嘆氣,指責(zé)云公司將開(kāi)源可持續(xù)性置于險(xiǎn)境,而是承認(rèn)需要培養(yǎng)新一代貢獻(xiàn)者。這新一代人不會(huì)受到軟件許可證商業(yè)模式的約束。相反,他們需要熱情的社區(qū)來(lái)培養(yǎng)他們。