ZDNet至頂網(wǎng)服務(wù)器頻道 07月01日 新聞消息:毫無疑問,F(xiàn)acebook 現(xiàn)在已經(jīng)成了世界上最大的開源公司。隨著 Facebook 公開它的數(shù)據(jù)中心設(shè)計、數(shù)據(jù)庫等,它或許早就應(yīng)該成為引領(lǐng)世界開源潮流的一面旗幟。本周 Facebook 發(fā)行了一款開源網(wǎng)絡(luò)交換機(jī)( Wedge )及基于該交換機(jī)設(shè)計的 Facebook 操作系統(tǒng)( FBOSS ),這二者的出現(xiàn)標(biāo)志著 Facebook 已經(jīng)成為互聯(lián)網(wǎng)開源行業(yè)的領(lǐng)頭羊。
但是它們會不會逼死其他開源公司呢?
畢竟,像 Facebook、Google(本周公開了 PDFium 的代碼)、LinkedIn 之類的大公司都公開了開源代碼,賣開源軟件的其他公司還有賺錢空間嗎?
新的軟件工廠
開源支持者 Eric Raymond 在自己 2001 年的書 The Cathedral And The Bazaar 里曾有一句著名的評論:我們必須承認(rèn),大多數(shù)軟件開發(fā)出來的初衷是為了讓人們使用,而非買賣。然而我們的目光還是停留在軟件商家那里,比如 Oracle、IBM、SAP、Microsoft 等等??匆娝鼈兎瓷湫猿霈F(xiàn)三個字:買買買!
這些都是資產(chǎn)十億級別的軟件公司,但是紅帽公司副總 Michael Tiemann 曾在 2009 年強(qiáng)調(diào)過:開源社區(qū)開發(fā)出的軟件價值總額,為這些公司提供防火墻的價值可是超萬億級別的。
盡管現(xiàn)在毫無遠(yuǎn)見的專利許可將各種軟件的使用限制得死死的,但是這種情況即將有所改善。Facebook 和其他幾家網(wǎng)絡(luò)巨頭已經(jīng)意識到開放自家代碼的重要性。最好的開發(fā)者一定希望和最好的代碼為伴,而開源就是他們尋找的最佳代碼。這也是為什么 Netflix 這家視頻流媒體公司常常在公司總部舉辦開源工程日,在適當(dāng)?shù)臅r機(jī)發(fā)布軟件以吸引開發(fā)者。之前有傳言說 Netflix 將會停用其公共應(yīng)用程序編程接口,該傳言本周已被 Netflix 證實。
一切都進(jìn)展順利:越開源,越偉大。但對于所有的開源軟件而言,無論正在開發(fā)或是已經(jīng)發(fā)布的,它們?nèi)鄙俚氖歉鞣降闹С?。支持越多,就越容易吸引大公司投入開源的潮流中來。
承諾得漂亮
Apache Cassandra 項目(一套開源分布式數(shù)據(jù)庫管理系統(tǒng))就是一個很好的例子。該項目最初由 Facebook 開發(fā),設(shè)計能支持 Facebook 新信息系統(tǒng)的數(shù)據(jù)庫,該項目于 2008 年開源。2 年后,F(xiàn)acebook 改變了主意。公司反復(fù)測試信息系統(tǒng)的穩(wěn)定性后,決定將數(shù)據(jù)庫由 Cassandra 換成 HBase:
2008 年的時候,我們開放了 Cassandra 的代碼。但是我們發(fā)現(xiàn) Cassandra 在收件箱搜索時會造成鍵值存儲的一致性延遲,影響產(chǎn)品體驗。正因為我們的運(yùn)營和數(shù)據(jù)庫團(tuán)隊在管理 MySQL 上經(jīng)驗豐富,所以在采用或者取消某項重大技術(shù)時我們才格外慎重。我們不得不撤下開發(fā) Cassandra 項目的資金,轉(zhuǎn)而用來培訓(xùn)運(yùn)營團(tuán)隊去熟悉一個更新、更大型的數(shù)據(jù)庫系統(tǒng)。
我們花了幾周時間測試評估了一系列數(shù)據(jù)庫系統(tǒng),包括:MySQL、Apache Cassandra、Apache HBase 等。最終決定采納 HBase。事實證明,MySQL 處理不好長尾數(shù)據(jù),索引和數(shù)據(jù)集越長,MySQL 表現(xiàn)就越糟糕。而 Cassandra 的最終一致性模型則無法適配 Facebook 新的信息系統(tǒng)。
換句話說,F(xiàn)acebook 不會因為自己開發(fā)了某項技術(shù)就會執(zhí)著于那項技術(shù),從而吊死在一棵樹上。前 Facebook 工程師 Steven Grimm 就曾表示:“ Facebook 在技術(shù)方面非常實事求是,雖然 Cassandra 是 Facebook 自己人開發(fā)的數(shù)據(jù)庫,但它沒有近水樓臺的優(yōu)勢。一切從網(wǎng)站新開發(fā)功能出發(fā),從優(yōu)化數(shù)據(jù)存儲的角度決定數(shù)據(jù)庫的選擇。因為我們已經(jīng)權(quán)衡過自己人的專業(yè)意見。”
Facebook 偉大之處就在這里,但這和采用了 Cassandra 做數(shù)據(jù)庫的 Netflix 和 Cisco 沒啥可比較之處,希望大家不要誤解這幾個數(shù)據(jù)庫的優(yōu)劣。因為對于主流大企業(yè)而言,他們更看重軟件的穩(wěn)定性,而這也是 Facebook 開源后做不到的,畢竟它不是一家依賴開源業(yè)務(wù)生存的公司。
需要更多開源公司加入這項事業(yè)
以上也是我們之所以才剛踏入“開源盛世”的原因,路還很長。正因為有了 Facebook 之類的公司能對外發(fā)布許許多多的開源項目,所以一定還會出現(xiàn)更多的公司維護(hù)和支持開源項目。
“每家公司都必須成為一家軟件公司。”已然成了互聯(lián)網(wǎng)領(lǐng)域的一句陳詞濫調(diào)。但事實上,大多數(shù)公司離成為一家真正的軟件公司還很遠(yuǎn)。甚至一些軟件開發(fā)硬實力很強(qiáng)的公司,也無法保證自己有足夠精力物力維護(hù)公司使用的每一個開源項目。所以,未來不僅僅會需要寫開源代碼的公司,對開源項目提供專業(yè)維護(hù)的公司需求也會很大。
還是用 Cassandra 做代表:在代碼維護(hù)上,Cassandra 有 DataStax 公司為其提供商業(yè)支持及后續(xù)代碼優(yōu)化,資金則來源 Apache 軟件基金。再舉幾個例子,像 Hadoop 的代碼是 Yahoo! 初開發(fā),現(xiàn)由 Hortonworks 和 Cloudera 兩家公司維護(hù);Lucene 是 Yahoo! 員工 Doug Cutting 開發(fā)的,現(xiàn)由 Elasticsearch、Lucidworks 等公司聯(lián)合維護(hù)。
我們正邁入一個開源的黃金時代。開源將驅(qū)動未來互聯(lián)網(wǎng)計算機(jī)的發(fā)展方向,無論是智能手機(jī)的移動操作系統(tǒng),還是支撐企業(yè)應(yīng)用的云架構(gòu)、亦或是對數(shù)據(jù)狂熱的大數(shù)據(jù)分析,無一不和開源掛鉤。像現(xiàn)在這樣,有這么多非專業(yè)軟件公司牽頭,將來一定會有更多商業(yè)軟件公司加入開源的行列!