當前位置:
首頁 > 知識 > 你還在抱怨開發工具,為什麼不動手優化?| 人物誌

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

受訪者 | 張乎興

採訪者 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

Red Hat 創始人 Bob Young 曾說過:「要想對世界做出實質性的改變,開源需要做到這兩點:一是要讓人們廣泛使用開源軟體;二是要讓用戶知道並理解這種軟體開發模式能給他們帶來的益處。」

有一位阿里員工便是如此做的:歷經四年,他從零基礎的開源小白成長為 Apache Member,並致力推廣和孵化國內優秀的開源軟體,吸引更多的中國開發者加入開源行業中。

他便是 Apache Dubbo 項目的負責人、阿里巴巴技術專家張乎興。

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

從開源小白到 Apache Member

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

張乎興花名「望陶」,含義是「仰望陶淵明,渴望追求淡薄雅緻的生活」。可他這一路走來,卻是穩紮穩打的:2014年,張乎興加入阿里巴巴中間件團隊才開始接觸 Tomcat 的開發和運維,從零開始走上開源開發。

作為小白,他從查看 Apache 的新用戶指南開始,到第一次謹慎地修改提交 Bug 後,得到社區的響應他感到很高興,隨後他積极參与到社區的討論中……

當時阿里內部自己的 Tomcat 版本,與開源的 Tomcat 版本之間有些差異。作為國內參與開源項目數量最多的企業,阿里內部開源氛圍濃厚。於是張乎興主導將這兩個版本合併成一個,方便大家的維護和使用。

公司鼓勵開源、工作內容大部分涉及開源軟體、自身從中獲得興趣和個人價值體現,這幾個方面形成一個正反饋效應的循環,使得張乎興不斷成長:2016年,張乎興成為 Tomcat Committer;2017年,他成為 Tomcat PMC Member。同年,他開始負責 Dubbo 的開源維護工作,隨後 Dubbo 進入孵化器。

2019年,在他成為 Apache Member 後沒多久,Dubbo 畢業。從他身上看到,技術人與技術是共同成長的。

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

2018 年,Dubbo 進入孵化器郵件

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

Apache 頂級項目是如何煉成的?

一個 Apache 開源項目從籌備到孵化,到社區發展,最後到畢業,這過程並不容易:據張乎興統計,2017年有 17 個項目從 Apache 畢業,2018 年有八個項目,2019 年截至到發稿為止,僅有五個項目畢業。2018 年八個項目的平均耗時是 28 個月,而 Dubbo 是在 2019 年畢業的項目中耗時最短:只花了 15 個月的時間,與今年五月畢業成為 Apache 頂級項目。

為什麼 Dubbo 能這麼快畢業?

第一,Dubbo 邀請了三位經驗豐富的導師做指導:Justin Mclean(Apache 基金會孵化器的 VP)、Mark Thomas(Apache 基金會董事會成員)、Dave Fisher(資深導師),張乎興表示在導師們的指導下就會少走些彎路。

第二,Dubbo 一直有持續地迭代發布,一旦遇到問題就馬上修復,同時引進更多的開發者參與到 release 的過程中,一起發現和修復問題,再將這些經驗沉澱形成一個有參考意義的文檔。有意思的是,有其他社區的項目孵化時,也來參考此文檔。

第三,不斷地擴大社區的影響力,吸引更多開發者參與。在之前 Dubbo 發布的 11 個版本里,是由 7 個不同的開發者完成的,這種情況比較難得的(因為一般項目是 2-3 位開發者)。

在社區里,開發者可以清晰地知道自己的成長路徑:入門-User-Contributer-Comitter-PMC Member 是怎麼走的。當然,社區在宣傳上也是不遺餘力的:例如在一二線城市舉辦 MeetUp 活動,吸引更多的開發者進社區。

在 Dubbo 的孵化這過程中,張乎興說孵化開始的 release 是個重要的環節:需要確保準確的 License 和版權聲明、符合規範的代碼及依賴、準確一致的簽名。張乎興團隊在這個過程里踩了不少坑:

在項目發布時,他們遇到一個 License 問題,前端需要 JavaScript 的依賴,在一個間接傳遞的依賴有一個簡單的功能:一段文本按照一定的規律換行,並且在注釋寫的是輸入一段文字輸出結果。可由於這段文字是從羅素的書里摘抄出來,這具有文字版權的。

由於 Apache 對於商標和 License 的要求很嚴苛,這個依賴還隱藏得很深,張乎興團隊只能通過各種方式緊急聯繫依賴的原作者。

還有孵化項目對知識產權的清理也是很重要,稍不注意便會掉入大坑:團隊之前已將 Dubbo 的核心代碼遷移到 Apache ,但有一些 Dubbo 大生態下的項目,是放在 github.com/dubbo 下的 group,由於「Dubbo」商標已捐獻給 Apache,是不允許在第三方使用的。

沒辦法,張乎興團隊只好將這個 group 下所有的項目清空,能捐獻的項目一併捐獻給 Apache,聯繫不上作者的項目就先遷移到其他 group。

目前這部分的工作仍在陸續遷移中。

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

建議開發者:

與其浪費時間抱怨工具,不如動手將它變好

面對 Dubbo 畢業,張乎興在自豪之餘,坦言「能夠做到這一點的項目,國內還是並不多的。」

探索其中原因時,從項目上,張乎興認為中國本身是有很多優秀的項目,但可能中國開發者在觀念上較含蓄,不大願意去宣傳,所以外界不大了解。

從國內開發者投入到開源項目的時間上看,張乎興認為國內開發者很多時候忙於公司的業務,而公司的很多項目和開源項目本身是割裂的,所以大家很難擠出時間來持續投入到開源項目里。

在做項目時,大多程序員先從各種各樣的框架和依賴上挑選合適的,當遇到不好用的框架時,可能會有人抱怨吐槽:這個工具不好用。便捨棄不用它,再花時間尋找更好的框架。

但張乎興表示,「與其抱怨,不如親自動手把它變得更好」。

在這個時候,他建議開發者可以換一種想法:我能不能嘗試將工具的問題修復?讓框架變得更好用一點?

這樣下來開發者不僅能讓自己的開發效率提升,工具也會因為自己的技術變得更好用,團隊和公司的人均會受益。開發者還可以從這項目入手,參與進開源項目來。

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

Apache Member 的使命:成為世界和中國的開源橋樑

目前張乎興不僅在工作上忙開源項目,業務時間也會用在開源社區上:修復 Bug、回復郵件、處理問題等。令他感到欣喜的是,在從事開源軟體的這幾年裡,他看到中國越來越多的開源軟體,越來越多的公司重視開源。

談及未來計劃,張乎興將自己比作一座「橋樑」:期待能更好地連接世界和中國的開源事業。

在成為 Apache Member 後,張乎興可作為導師協助更多的項目進入孵化。還有,他希望能將自己的經驗和方法分享出來,幫助國內開源項目去提升自己的影響力和話語權。

而作為 Dubbo 的負責人,未來張乎興該如何規劃才能讓其發揮更大的社會價值呢?

你還在抱怨開發工具,為什麼不動手優化?| 人物誌

未來 Dubbo 的三個發展方向

張乎興介紹道,Dubbo 將從這三個方向深耕:核心、生態、影響力。

一、在核心上,Dubbo 分為 2.7 版本和 3.0 版本。其中,2.7 版本將會主打雲原生的微服務,並做到和 Spring Cloud 的應用能相互調用,因為 Dubbo 的出廠模型需要和 Spring Cloud 的出廠模型統一起來。張乎興透露,這個功能將會在 2.7.3 版本或者 2.7.4 版本上支持。還有 Dubbo 在雲原生下的部署服務發展。

而 3.0 版本將會主打技術的先進性,將會做響應式,支持React,擁抱標準協議HTTP2.0,還會考慮和 gRPC 的支持,在大規模複查的場景下,能自適用地做到熔斷限流和更智能的負載均衡等。

二、在生態上,Dubbo 支持多語言,目前已支持六種語言:Java、JS、Go、Python、PHP、Node.js。後續會完善 Go 和 Node.js 語言的支持,做到目前在 Java 上的功能也能在Go 上支持。

還有,他們將繼續演進 Dubbo 的微服務,包括監控診斷、微服務分散式、協議的轉換(例如將 HTTP 的協議轉換成 Dubbo 的協議)、服務的許可權控制等功能。

三、在影響力上,Dubbo 將會持續地做 MeetUp 活動,還可能辦技術大會,針對學生開發者,阿里舉辦有夏令營項目,這樣學生開發者也能參與進技術研究上來。

從上面可以看出,無論是 Apache Member 張乎興,抑或是頂級開源項目 Dubbo,均是在努力推進開源軟體對世界的改變。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

蘋果 5G 掉隊
所有的 iPhone 和高端 Android 設備都被破解了

TAG:CSDN |