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