
頭圖來源:
https://opensource.guide/來源 |
阿裡巴巴雲原生公衆号
隻有貢獻代碼才算是參與開源項目社群貢獻嗎?
一說到參與開源項目貢獻,一般大家的反應都是代碼級别的貢獻,總覺得我的代碼被社群合并了,我才算一個貢獻者,這是一個常見的錯誤認知。其實,在一個開源社群中有非常多的角色是 non-code contributor,一個開源社群中的很多關鍵職責被大家給忽略了。
組織活動也可以是貢獻社群:
- 你可以像遠在巴西庫亞巴的 @fzamperin學習,為你喜歡的開源項目組織 workshop 或線下 meetup
- 你還可以幫助社群成員找到合适的線下峰會來送出技術議題
- ……
技術寫作或者技術布道也是貢獻社群:
- 為你喜歡的開源項目編寫或者改進文檔
- 建立一個如何使用這個開源項目的 samples
- 将文檔翻譯成其他語言,幫助全球開發者認識、使用該項目
- 在自己的公衆号或者部落格分享使用該項目的指南和心得
設計和官網開發也是貢獻社群:
- 重構開源項目官網來幫助開發者更好的認識、使用該開源項目
- 進行使用者調研來更好地改善官網導航和目錄
- 建構一個 style guide 來幫助該項目擁有一個更統一、完善的視覺設計
- 為該開源項目設計貼紙、T 恤等周邊
Apache Dubbo Samples SIG 成立!samples 貢獻者招募中
Apache Dubbo 發展到今天,已經有 386 個貢獻者,貢獻者了包括代碼、測試、用例、文檔、使用建議等豐富内容。目前 Dubbo Core 有 2.7、3.0 兩個非常活躍的演進分支,其中 2.7 版本已被衆多知名企業大規模的投入生産環境,如攜程、工商銀行、瓜子二手車等,而 3.0 分支也已經在 3 月份釋出了 preview 版本,按照計劃在 6 月份第一個 3.0 可用版本也将正式釋出。
核心的快速演進與疊代促進了 Dubbo 的快速發展,同時,也給整個社群與 Committer 核心項目組帶來新的挑戰,這展現在:
- 新 Feature 相關的使用者示例與文檔缺失。使用者對新版本特性如何使用無從知曉,翻閱代碼成為唯一的途徑。
- 穩定性無法得到充分保障。在疊代過程中,單元測試、內建測試沒有得到有效的補充,這導緻測試覆寫度的下降和回歸成本的高漲,更糟糕的是如果發版環節有些問題仍未被發現,則它們将不可避免的被帶到使用者使用環節。
由于文檔和用例的缺失,我們不得不處理大量的 Issue、也包括其他的線上答疑,來解答使用者的疑問,其中有一些是使用者不知道某個具體功能怎麼用,有一些則是使用了不正确的配置方式導緻不能正常運作;穩定性的下降則是對我們自己以及 Dubbo 使用者兩方面的雙重打擊,持續的出現問題會導緻使用者開始對 Dubbo 的版本釋出失去信心,而對我們這些核心維護者而言,花費大量精力完成的版本卻給使用者帶來了困擾,這會讓整個開發組也變得沮喪。毫無疑問,對于 Dubbo 社群而言,解決以上問題成為了目前迫在眉睫的工作任務,這本身的重要性并不亞于大家所熱衷的核心功能開發,但我們也認識到,投入到其中需要花費一定的精力,僅僅靠目前的幾位維護者會非常吃力,尤其是考慮到他們還需要兼顧整個 Dubbo 社群的運作。
在這樣的背景下,我們想到了召集來自社群的力量,今天在 Committer 核心成員的一緻建議下,Apache Dubbo 決定成立 Samples SIG(注:SIG 是 special interest group 的縮寫,即興趣小組),以期能改善以上的示例缺失、穩定性等問題。毫無疑問,這個 SIG 的運轉需要廣大開發者的積極參與,當然,社群的核心開發者們也會積極的活躍在其中。
Dubbo 現狀
當然,能穩定的支撐這麼多企業與執行個體穩定的運作,Dubbo 的測試與穩定性機制也并非一無是處,以下是 Dubbo 具備的一些能力與運作機制。
- 單元測試。單元測試全部位于_ https://github.com/apache/dubbo_主幹倉庫 ,目前能達到大概 40% - 50% 的覆寫度,但遺憾的是近期的很多新增修改,包括 2.7 與 3.0,在這方面做的都有所欠缺。
- 內建測試。Dubbo 的內建測試項目位于_ https://github.com/apache/dubbo-samples_ ,裡面包含了我們目前建設的大部分 Dubbo Feature 用例,你可以把當做一個Quick Start的示例工程用,也可以作為功能參考手冊(代碼),我們在其上建構了自動化的內建測試機制,能實作對所有用例的全量驗證。
- 基于 Github Actions 的自動化測試流程。每一次代碼送出、PR 都會觸發這個 Workflow,它會對主幹倉庫進行編譯,并依次運作單元測試、內建測試,同時還有一些代碼合規範的檢查。
我們要做的提升計劃,就是在以上已有元件的基礎之上繼續完善。通過梳理,我們總結出以下部分内容需要重點完善:
- Dubbo 3.0 中新引入的一些核心機制、元件的單元測試覆寫
- Dubbo 3.0 中新引入的一些核心元件的使用者用例、內建測試
- Dubbo 重點元件的,如 Zookeeper、Nacos 等
- Dubbo 核心一些核心元件,如 Registry、Directory、URL、FilterBuilder、Context、AsyncRpcResult、ApplicationModel、ServiceRepository 等的單元測試覆寫
請關注下文的 SIG 聯系方式,以實作更好的持續協作和任務進度的更新。
對參與者的幫助與要求
參與到 SIG 中來,不論你是學生、初學 Dubbo 的開發者、使用者、或是混迹職場的技術達人,這裡應該都能您帶來一些幫助:
- 掌握 Dubbo 新特性的使用方式
- 快速了解 Dubbo 的核心工作機制
- 掌握 Dubbo 的演進動态的一手資訊
- 如果你是企業使用者,也能共同實作推動 Dubbo 穩定性的提升,解決 Dubbo 的企業落地問題
- 與業内的技術專家、同行深入交流,提升自己,實作資訊共享
- 積累活躍度,成為開源達人,與 Apache 結緣并有機會成為 Apache Dubbo Committer
另外,社群也會不定期的舉辦線上、線下活動,獲得社群貢獻者專屬禮物。
我們對參與者的唯一要求就是熱情,希望參與者能持續的投入在 Dubbo 社群的建設中,并定期的參加我們 SIG 的交流活動,以實作與其他人的協作。
如何成為 Apache Dubbo Samples SIG 貢獻者?
如果你對參與到 Dubbo 社群貢獻有興趣,想加入 Apache Dubbo Samples SIG,歡迎掃描二維碼加入Dubbo Samles SIG。
釘釘掃描二維碼進群
參考文檔: