6月24日至25日,由中國開源軟體推進聯盟(copu)主辦的“第十一屆開源中國開源世界高峰論壇”在北京成功召開。本屆論壇以“深化開源交流,壯大開源平台,服務萬衆創新,發展共享經濟”為主題。
<b> </b>
阿裡雲研究員餘鋒 (花名:褚霸)受邀參加了本次活動,褚霸代表阿裡巴巴集團為大家介紹了阿裡巴巴與開源的故事。阿裡巴巴與開源的關系,褚霸總結為四個階段,分别是擁抱開源、回饋開源、融合開源和回報開源四個階段。
以下是褚霸在本次活動上的發言整理内容。

我從97年開始接觸開源,是開源事業的受益者。為什麼要擁抱開源?我認為開源是站在巨人的肩膀上, 能快速擷取基本的技術能力。
2010年我到了阿裡,那是淘寶業務發展最快的階段,沒有開源之前,那時候淘寶用的基本是商用的解決方案。在那個時間點,我們的業務能力是由開源提升的。
因為技術是為業務服務的,而我們遇到了很大的瓶頸,是以這時候我們開始擁抱開源。
2011年,我們開始用開源技術解決業務問題,成立了資料庫團隊,做cdn的,做存儲等等。所有的産品都基于開源去建構。這個過程中大批量地擁抱開源,當時就吸引了很多人才,短時間内組建這麼多團隊。
從開源我們不僅吸引了人才,還吸引到很多貢獻。整個團隊的技術視野得到很大擴充,技術飛躍。這是阿裡巴巴開源技術發展最快的一段時間。
第二階段
,我們擁抱開源後增加了業務容量,最重要的是我們有業務産品。業務産品非常複雜,這有助于錘煉我們的軟體和技術。我們開始大規模為社群貢獻更新檔、特性。舉個例子,我們用mysql代替原來的oracle資料庫。當時mysql有三個社群,我們都分别貢獻了很多更新檔和代碼。
然後,我們也貢獻了很多包括業務層面的經驗、産品、部落格、案例手冊等。代碼是一個方面,我認為開源社群要做得好,後面的最佳實踐、案例是更重要的。那時候mysql的國内社群變得非常火,因為大家看見了成功案例,都去跟進。因為看見了前人走的路,後面的發展就會更順利些。
我們團隊成員有的成為項目的committer,會把社群沒做到的特性推進去,更多去參與社群事務。
我們還建立了mysql使用者組,去培養mysql人才。現在中國在mysql的積累是非常深的,除了代碼還有案例、有人才。有了人才後面的發展就會很自然地延伸過去。
這個過程中阿裡巴巴貢獻了很多開源項目,大家可以看見的,像tengine就是基于社群nginx版本的釋出版,相信很多大的網際網路公司都在用它的釋出版。其他的開源項目,比如jstorm等阿裡巴巴開源項目在業界應用也非常普遍。
阿裡部分開源項目
走到第三步融合的時候,我們從一開始服務電商擁抱開源,到現在做雲計算,我們開始輸出了。這時候發生了更大的變化,因為做雲計算以後需要的不僅是單個産品項目,使用者需要的是一整個解決方案,比如說資料庫,在top20的資料庫中使用者需要的不隻是一種,到今天top20我們都基本覆寫了。并且使用者使用資料庫的過程中有很多短闆,我們會幫使用者填這個短闆。比如原來獨立的資料庫中間,mysql打包沒有解決方案。我們會幫他做這個解決方案,讓他順利成長。
在這個層面,我們做了大量的事,整合産品,讓産品的使用變得非常簡單。這是跟社群融合的過程。比如說hadoop,它原本支援亞馬遜s3的,我們在它的開源生态底層加入阿裡雲的oss;再比如docker,使用者在阿裡雲上建立docker有很多不友善的地方,我們把它打通之後使用者很容易就能在阿裡雲的虛拟機上建立docker。事實上我們幫社群做了很多這種補短闆的事情,看似很小但是事情變得友善了。
第四個階段,我們會跟學術界合作。比如mongodb支援的地理位置定位功能,應用很廣泛。但該功能用cpu算得很慢,我們就說用gpu去算。我們跟學術界合作然後把研究成果放在mongodb裡面,開源出去跟社群分享成果。
另外是和社群一起建立嶄新領域。過去沒有人做的事情,我們跟社群一起去完善,現在很容易得到一些服務。
并且我們會有産品級的開源。我們覺得是非常有價值的東西,看不清方向的時候就會開源出去,讓整個社群一起參與建設。
最後一點,開源是非常重要的,需要從公司層面去決策。就像生孩子容易養孩子難,需要大量人力财力的投入。是以我們會從公司層面投入,來保證開源業務的連貫性,讓社群更好。
以上就是阿裡巴巴開源經曆的四個階段。
<b>相關資料</b>
<b></b>
<a href="https://yq.aliyun.com/topic/39">阿裡巴巴開源專題 </a>
<a href="https://yq.aliyun.com/articles/56808">阿裡巴巴宣布加入linux基金會,同時成為xen顧問委員會成員</a>
<a href="https://yq.aliyun.com/articles/48972">阿裡巴巴115款經典開源項目(系列)</a>