從商業(yè)公司開源出去的產(chǎn)品會變成什么樣?開源是否一定要按照某種既定的方式去生長?還是說開源的世界有足夠的包容性、開放性,能夠允許各種各樣的創(chuàng)作在其中成長?且看本次二叉樹——Dubbo 項目的故事。 梁飛(虛極),2009 年加入阿里巴巴,負(fù)責(zé)中間件的開發(fā),Dubbo 開源分布式服務(wù)框架作者,HTTL 開源模板引擎作者,QCon 優(yōu)秀出品人。 2012 年加入天貓,負(fù)責(zé)手機天貓 APP 的技術(shù)團(tuán)隊,見證了天貓雙 11 無線化全過程。熱衷參與開源社區(qū)建設(shè),傳播服務(wù)化,SOA,框架設(shè)計,移動應(yīng)用等架構(gòu)設(shè)計理念。 Dubbo 項目誕生于 2008 年。梁飛最早進(jìn)入阿里的時候,Dubbo 項目還沒有 Dubbo 這個名字,那時的 Dubbo 還是一個阿里內(nèi)部的系統(tǒng)。2010 年,Dubbo 項目進(jìn)行了重構(gòu)。
從 1.0 進(jìn)入 2.0,梁飛推動了大量的工作,同時繼續(xù)在 JavaEye 寫著他的博客。 “寫博客對你有什么影響?”
2011 年的阿里,憋了一股勁兒要成為一家技術(shù)人向往的企業(yè)。那個時候,開發(fā)者剛剛成為國內(nèi)各大廠商爭相奪取的寶貴資產(chǎn)??渴裁次铐敿獾拈_發(fā)者?黑客文化。工程師文化。開源文化。
當(dāng)時在淘寶、在阿里 B2B,都有團(tuán)隊在推動開源。阿里 B2B 這邊決定先拿 Dubbo 項目開源出去。
“那個時候的團(tuán)隊多少人?我看到你們有一張六個人團(tuán)隊的照片。”
“有外面的人來貢獻(xiàn)代碼嗎?”
一年時間很快過去了,Dubbo 的用戶越來越多,有知名汽車廠商、證券廠商、水泥廠商、電器廠商、電商廠商。 “當(dāng)時來這么多公司,在你的預(yù)期之內(nèi)嗎?”
就在這個時候,發(fā)生了一件大事:阿里巴巴集團(tuán)要強化 One Company,開始進(jìn)行架構(gòu)調(diào)整。技術(shù)層面,整個公司大統(tǒng)一,就希望不要重復(fù)建設(shè),但凡相同的項目都要合并。 當(dāng)時的淘寶有一個項目叫做 HSF,也是一個中間件服務(wù)框架,跟 Dubbo 做的事情高度重合。
HSF 項目的作者林昊(畢玄),也是當(dāng)時國內(nèi) Java 領(lǐng)域的知名技術(shù)領(lǐng)袖。在 OSGi 非常流行的時候,畢玄可能是國內(nèi)能夠把 OSGi 解釋的最清楚的人之一。 HSF 和 Dubbo,雖然做的事情高度重合,但是設(shè)計理念不怎么一樣,雖然有些碰撞,但最終目的還是為了“強強聯(lián)合”。
“你當(dāng)時覺得應(yīng)該合并嗎?”
不久之后,Dubbo 團(tuán)隊調(diào)整,去到了各個地方。從外面看來,Dubbo 項目從 2014 年之后就再也沒有更新過。倒是當(dāng)當(dāng)網(wǎng)開發(fā)的擴(kuò)展版本 Dubbox 后來持續(xù)發(fā)展,被圈內(nèi)人評價為“墻內(nèi)開花墻外香”。 “你會不會覺得建立共識是一個特別困難的事情?”
“那么,你要怎么吸引那些能夠認(rèn)同你的人到你的身邊來?在他們還不知道你的時候?!?/p>
就在所有人都以為 Dubbo 項目已經(jīng)沒有未來的時候,事情又出現(xiàn)了變化。 2017 年 9 月,就在項目已經(jīng)將近 3 年沒動靜的時候,Dubbo 連續(xù)發(fā)布了好幾個新版本,并且開始在內(nèi)部招募對 Dubbo 感興趣的同事。新版本背后的主力開發(fā)團(tuán)隊是阿里巴巴中間件團(tuán)隊,其中一個重要的人名叫北緯,他從 2017 年 7 月開始接手 Dubbo。在一次對外公開的采訪中,北緯說到:
梁飛曾經(jīng)在 2015 年寫過一個繼續(xù)推動 Dubbo 的規(guī)劃,找了很多人聊過:找過開源委員會,找過內(nèi)部的朋友,找過外面的朋友,希望能共同把這個事情繼續(xù)推起來。但是,梁飛已經(jīng)沒有那么多時間可以投入到 Dubbo 上。他當(dāng)時在做天貓客戶端。
有的開源項目,通過志愿者們投入各自的業(yè)余時間活下去。但我們應(yīng)該要求所有的開源項目都能做到這一點嗎?事實上,用戶也不會愿意將自己重要的東西跑在單純靠志愿者們的業(yè)余時間堆砌起來的項目上——尤其是企業(yè)用戶。 Dubbo 是中間件項目,用戶一定是企業(yè)。企業(yè)用戶寧愿花錢,有人給他提供服務(wù),而不是搞來一堆免費而沒有保障的東西,自己為所有的問題負(fù)責(zé)。 Dubbo 的轉(zhuǎn)機,在于阿里云的流行。 2017 年的阿里云,發(fā)現(xiàn)有一批客戶上云之后,想要用 Dubbo。因為他們 Dubbo 已經(jīng)用的很熟了,不想因為上云而被迫改變自己的使用習(xí)慣。 于是,阿里云就把 Dubbo 服務(wù)作為自己的一個產(chǎn)品,賣給了這些客戶。 但是,客戶們又提出了一個問題:
這下好了,真正的客戶提出要求了。提升客戶對 Dubbo 的信心,成為了一件在公司層面有價值的事情。 “怎樣提升客戶對 Dubbo 的信心?”
“最好的辦法是什么?”
北緯帶動著他的團(tuán)隊,將 Dubbo 項目捐給了 Apache。2018 年初,Dubbo 項目正式進(jìn)入了 Apache 的孵化器。 一邊是 Apache Dubbo 重啟后的第一個里程碑版本 2.7.0 進(jìn)入社區(qū)投票階段,并將作為社區(qū)的畢業(yè)版本;另一邊,Dubbo 正在從一個微服務(wù)領(lǐng)域的高性能 Java RPC 框架,演進(jìn)到微服務(wù)框架 Dubbo Ecosystem,打造出一個完整的微服務(wù)生態(tài)。而此時,距離去年 Dubbo 重啟僅過一年有余。 我們?nèi)フ业奖本?,希望他聊?Dubbo 的未來。北緯說,還是讓梁飛跟我們多講講。 “你覺得什么是開源的精神?”
“你覺得中國的開源現(xiàn)在有哪些做得好的地方和不足的地方?”
“您會不會覺得中國企業(yè)做開源,功利心特別重,光去看這個東西是不是有用?”
“那您覺得 Dubbo 還能活多久?”
“那是什么樣的革新?”
如常,早上 9 點多,梁飛打開郵箱,關(guān)于 Apache Dubbo 重啟后的第一個里程碑版本 2.7.0 的討論郵件還在 mailing list 里熱烈進(jìn)行著;另一邊,Dubbo 正在從一個微服務(wù)領(lǐng)域的高性能 Java RPC 框架,演進(jìn)到微服務(wù)框架 Dubbo Ecosystem,打造出完整微服務(wù)生態(tài)。而此時,距離去年 Dubbo 重啟僅過一年有余。 |
|