雅虎對Apache Hadoop到底做了什么
幾周前,Hortonworks在博客上強調(diào)了雅虎這幾年來對Hadoop作出的巨大貢獻。這有兩重含義:一、向前雇主致敬;二、證實雅虎仍然是Hadoop的主要貢獻者。
這個星期初,Cloudera回復了我們的博客,稱我們報道了一個誤導性的新聞。雖然我們通常不回復其他供應商的博客(即使他們說了一些有疑議的事情),但我們覺得這次一定要回復。
在下面的許多文字中,他們聲稱Cloudera才是本年度Apache Hadoop的***貢獻者。
雖然Cloudera在過去的幾個月里確實增加了他們投放的補丁數(shù),但將補丁數(shù)作為評判一個公司對Apache Hadoop貢獻的最重要指標是有誤導性的。
為什么?因為根據(jù)投入的時間和工作量的不同,補丁是不同的。在貢獻者不斷獲取經(jīng)驗并開始進行更復雜的任務時,他們的補丁通常會變大。一個補定可以像一個新功能或子系統(tǒng)一樣復雜,也可以像更正文檔里的一行拼寫錯誤一樣簡單。通常來說,新手貢獻小的修復補丁,而專家貢獻需要很大工作量的復雜補丁。
我們相信代碼的行數(shù)是一個重要的更為中肯的標準。雖然改正拼寫錯誤很有用,但它遠不如添加新功能或修改重大錯誤來得重要。
和一兩行的補丁比較:
HDFSFederation:將近15000行代碼
HDFSEditLogsRe-write:將近10000行代碼(由Cloudera的工程師發(fā)起)
NextGenMapReduce:超過150000行代碼
當你了解到今年Apache Hadoop收到的補丁有將近40%少于10行后,你就會意識到,只用補丁數(shù)量作為指標將對事實造成嚴重的扭曲。
有一個事實就是,Hortonworks和雅虎一起貢獻的代碼行數(shù)達到了Apache Hadoop收到的代碼總行數(shù)的80%。這個數(shù)字(正如Owen在他的方法里描述的那樣)歸功于那些雇傭開發(fā)者完善Apache Hadoop的公司。那些公司通過支持員工為Apache Hadoop編寫代碼來幫助Apache Hadoop的發(fā)展,而這只有在這些企業(yè)得到認可時才顯得公平。
這里有一個圖標展示了2006年以來Apache Hadoop收到的代碼的總行數(shù),這表基于在貢獻時期雇傭了開發(fā)者的公司。
Cloudera聲稱認可應該給開發(fā)者的現(xiàn)任雇主,不應考慮前雇主的投資。我們同意個人,而非公司,才是開源項目貢獻者;但我們不認為我們可以忽略公司對建造Apache Hadoop所作出的投入。只有把在雅虎時的作出的貢獻和雅虎作出的貢獻都考慮進去才顯得公平。
不管怎樣,我們使用Cloudera的方法計算了從2006年到現(xiàn)在貢獻給Apache Hadoop的代碼行數(shù),并得到如下結(jié)果:
這個圖標著重于顯示那些最活躍的Apache Hadoop貢獻者現(xiàn)在都在那里就職。我們?yōu)楫敃r的同事感到驕傲,現(xiàn)在他們?nèi)チ讼馞acebook、LinkedIn、eBay等公司去傳播他們的知識和經(jīng)驗。值得注意的是這個方法對Hortonworks和其他公司有利,但沒有很大地改變Cloudera的貢獻。
雖然現(xiàn)在有一個積極的生態(tài)網(wǎng)讓人才(多為雅虎的人才)在各公司中流動,但Hortonworks和雅虎雇傭的開發(fā)者仍然貢獻了Apache Hadoop的大部分代碼。
如果你只看用Cloudera的方法算出的2011年的結(jié)果,那么情況大致一樣:
正如你所看到的,Hortonworks和雅虎是Apache Hadoop的兩大貢獻者,它們目前貢獻了大約68%的代碼行數(shù)。正如Owen在他博客里強調(diào)的及我常說的,我們很高興看到其他公司對Apache Hadoop的貢獻率上升。我認為這是一個健康的、正在成長的生態(tài)系統(tǒng)的表現(xiàn)。
最近有一些圖表帶有代碼行數(shù)和補丁數(shù)兩個數(shù)值,根據(jù)貢獻者在他們貢獻期時的雇主。***個表展示了自2006年來的總數(shù)以說明一些歷史的觀點:
第二個表展示了2011年貢獻的代碼行數(shù)和補丁數(shù):
Cloudera在他們的博客中指出:他們已經(jīng)增加了貢獻給Apache Hadoop的補丁量,對此我們贊賞他們的這一行為。然而,他們省略了很重要的一點,那就是Hortonworks和雅虎仍然是Apache Hadoop項目的***貢獻者。這是一個不爭的事實。
***,讓我指出我們聚焦于Apache Hadoop核心的分析,即是Common、HDFS和MapReduce。每個分布都包含了兩個或兩個以上這些項目,沒有這些項目我們無法建立Hadoop。
雅虎也幫助了其他項目比如ZooKeeper、Pig、HCatalog、Avro及Ambari。雅虎和Hortonworks都有專業(yè)的技術(shù)并將繼續(xù)幫助這些項目。其他公司也在其它項目中提供專業(yè)技術(shù),比如Facebook對Hive,及Facebook、Stumbleupon和TrendMico對HBase。Cloudera在近期提交給Apache的項目中也有專業(yè)技術(shù),包括Bigtop、Sqoop、Whirr和Flume。生態(tài)系統(tǒng)中也有一些項目可以加到分析中,包括Azkaban、Cascading、Cassandra、Giraph、Hama、Hypertable、Kafka、JAQL、Mahout、Mesos、OpenMPI、R、Spark及Thrift等等。在Hadoop項目的分析中添加任意一個項目都會改變主題。
總結(jié)
讓我重申一遍:Hortonworks是Apache Hadoop的重要貢獻者,它加速了Hadoop的發(fā)展及它在全球的普及度。我們很激動地看到了不斷有個人和公司作出貢獻。我們很高興能與Apache Hadoop社區(qū)一起工作,對此我們已經(jīng)做了將近6年。
我們相信,ApacheSoftwareFoundation對Hadoop的持有是Hadoop的一個重要優(yōu)勢。我們?yōu)樽约翰怀钟写a而感到驕傲。我們把100%的代碼都貢獻給了Apache。我們沒有任何專利軟件。我們所有的代碼都給了Apache,以此來讓Apache變得更好。我們相信這是創(chuàng)造一個有活力的Hadoop社區(qū)和生態(tài)系統(tǒng)最快***的方法。
***,我們深信我們是Apache Hadoop領(lǐng)域最資深的公司,我們在協(xié)助企業(yè)和技術(shù)供應商與Apache Hadoop中也處于很重要的位置。
【編輯推薦】