先說一件不算太久以前的事兒。兩個多月前,蘋果全球開發(fā)者大會在美國舊金山開幕,當(dāng)庫克在會上宣布Swift編程語言將開源的時候,會場上響起了持續(xù)2分多鐘的歡呼聲。蘋果終于變得open了。
伴隨著linux第一個版本的問世,“開源”一詞被定義,并憑借頑強的生命力迅速發(fā)展壯大,現(xiàn)在,開源產(chǎn)品已經(jīng)無處不在。你訪問的網(wǎng)站,大部分是使用Apache的Web服務(wù)器,大部分是Linux或BSD的操作系統(tǒng),大部分都是使用MySQL的數(shù)據(jù)庫,甚至你現(xiàn)在用的firefox瀏覽器也是開源的,不僅是蘋果,被認為最大“反派”的微軟,在納德拉上任之后也變的更加的開放了。
開源的背后
不管是在開發(fā)領(lǐng)域還是產(chǎn)品領(lǐng)域,開源已經(jīng)成為一個趨勢,github也已是標(biāo)配?,F(xiàn)在,問題來了,為什么開源會有如此的魔力,或者說是誰在做著“開源”的夢?要找這個問題的答案,我們就先要知道誰是開源背后的推動力量。
讓我們先來看一下OpenStack身上發(fā)生的事兒。就像提到大數(shù)據(jù)必然會提到Hadoop一樣,在云計算領(lǐng)域提到開源就不得不說OpenStack ,OpenStack 是開源的云計算(IaaS,基礎(chǔ)設(shè)施及服務(wù))管理平臺,最初由NASA和OpenStack聯(lián)合發(fā)起。幾天前,OpenStack 創(chuàng)始會員也是主要貢獻者之一的Mirantis,獲得了 1 億美元的 C 輪融資。此次融資最大的亮點在于 Intel Capital 領(lǐng)投,高盛、August Capital、Insight Venture Partners 等跟投。而思科、IBM、EMC、HP、Oracle等創(chuàng)痛IT則巨頭紛紛通過收購相關(guān)初創(chuàng)企業(yè)和加強研發(fā)來獲取市場份額。
眾多廠商和創(chuàng)業(yè)團隊不斷生產(chǎn)開源軟件、做著開源的生意、開放自己的代碼,他們既是開源的推動者也希望成為距離利益分配最近的受益者。越來越多的選手已經(jīng)不滿足自身能力的增長而是寄希望于對于整個賽道的控制,以谷歌為例:
一直以來,Google都在極力推廣和倡導(dǎo)開源,并發(fā)布了一系列開源項目。這是因為 Google從開源軟件中嘗到了甜頭,如果沒有開源軟件,Google也難以達到今日的成功。Android和Chrome只是單個的開源項目,但圍繞它們構(gòu)建了龐大的生態(tài)圈,基于它們(平臺)上所開發(fā)的插件和應(yīng)用數(shù)量驚人。Android在2007年以開源形式發(fā)布,隨后其陣營呈現(xiàn)出了爆炸式增長。如今已經(jīng)成為份額第一的移動操作系統(tǒng)。
對于長期致力于瘋狂賺錢的Google來說,投身于開源社區(qū)的主要訴求并不是索取回報,而在于社區(qū)建設(shè)本身,或者說憑借自身對社區(qū)的控制能力而將暫時無法使用的破壞性技術(shù)先收入囊中。這樣,“創(chuàng)新者的窘境”就予以解決了。 Google Android開源項目經(jīng)理Christopher Katsaros表示。例如Google‘s Summer of Code,就是Google主辦,旨在激勵大學(xué)生為開源項目做出貢獻的項目,目前已經(jīng)為開源社區(qū)貢獻了5千萬行代碼。
與Google不同,更多的團隊和創(chuàng)業(yè)者則希望憑借開源減少在開發(fā)上的時間成本。由于開源軟件具有開放、共享、自由等特性,可以解決這些企業(yè)對于OpenStack、Hadoop、Docker等架構(gòu)不熟悉而導(dǎo)致"并不清楚怎么做"問題,可以大大擴展企業(yè)所采取的技術(shù)手段的邊界。當(dāng)然,這并不是說這些企業(yè)就只是索取者而不是貢獻者,比如Square就在代碼的貢獻數(shù)量上與Google不相上下,在Square CTO Bob Lee看來“正是因為Square公司規(guī)模小,因此將代碼開源更具積極意義。與其將內(nèi)部有限的開發(fā)資源都投入到通用問題的處理上,不如將其貢獻給開源社區(qū)并與外部海量的開發(fā)者協(xié)作(重構(gòu)和持續(xù)發(fā)展這些項目)。這種做法同樣適用于和Square類似的公司,集中精力完善業(yè)務(wù)上的特性產(chǎn)品,而減少耗費在通用基礎(chǔ)架構(gòu)上的時間。”
作為國內(nèi)首個開放移動社區(qū)引擎OpenCom主要是是通過移動端的插件模式,近期推出的開源計劃,就是希望將目前公司研發(fā)的一系列產(chǎn)品予以開放出去,進而讓更多的人參與到APP插件的開發(fā)中。將原本的移動社區(qū),通過開源擴展為“社區(qū)+”,同時在服務(wù)端依據(jù)云計算的支撐予以實現(xiàn)。
國內(nèi)另一家云端數(shù)據(jù)備份公司多備份,也正在考慮將其大部分代碼予以開源,創(chuàng)始人陳元強的想法很簡單,希望借助開源可以讓更多的技術(shù)人員加入進來,進而解決在實際開發(fā)過程的人數(shù)不足的問題,當(dāng)然,對于加入進來的人來說,也會提供一些相應(yīng)的物質(zhì)獎勵進而保證開源的活躍度。
開源的“國產(chǎn)”化
由于國內(nèi)整體IT產(chǎn)業(yè)的發(fā)展相比于其他發(fā)達國家還有比較大的差距,更多的時候國內(nèi)的企業(yè)還只是開源的使用者和借鑒者,還沒有到發(fā)明創(chuàng)造的階段。所幸,我們并不是停滯不前的,一些世界級別的大項目,比如hyper、RebornDB等也在不斷涌現(xiàn),,只是這個過程較為漫長。
此外,據(jù)開源中國主編郭蕾看來,開源還是要分具體人群和具體領(lǐng)域的,比如開源中國上有個比較火的開源項目JFinal,項目人氣很高,從社區(qū)的角度來說也比較喜歡,但很難國際化,原因就是這個項目設(shè)計的內(nèi)容太基礎(chǔ),并且沒什么難度,大家都是為了方便業(yè)務(wù)而來。
最后,雖然有著如此多的好處,但是開源與創(chuàng)新的悖論,仍然不容忽視。開源的存在,可以使得不管是Google還是眾多的創(chuàng)業(yè)團隊根本不需要重新發(fā)明輪子或購買昂貴的產(chǎn)品,而是可以使用最少的人力、物力就能很快構(gòu)建出一個高性能的產(chǎn)品或系統(tǒng)來。然而當(dāng)我們過分依賴于“拿來主義”的時候,創(chuàng)新也會變得異常的艱難。