TiKV 項目首個 SIG 成立,一起走上 Contributor 進階之路吧! | 1024 程序員節快樂!

作者: Long Heng

社區是一個開源項目的靈魂,隨着 TiDB/TiKV 新的社區架構升級, TiKV 社區也計劃逐步成立更多個 Special Interest Group(SIG )吸引更多社區力量,一起來改進和完善 TiKV 項目。SIG  將圍繞着特定的模塊進行開發和維護工作,並對該模塊代碼的質量負責。

今天是 1024 程序員節,我們正式成立 TiKV 項目的首個 SIG —— Coprocessor SIG,希望對 TiKV 項目 感興趣的小夥伴們都能加入進來,探索硬核的前沿技術,交流切磋,一起走上 Contributor 的進階之路!

Coprocessor 模塊是什麼?

爲了提升數據庫的整體性能,TiDB 會將部分計算下推到 TiKV 執行,即 TiKV 的 Coprocessor 模塊。本次成立的 Coprocessor SIG 就聚焦在 TiKV 項目 Coprocessor 模塊。本 SIG 的主要職責是對 Coprocessor 模塊進行未來發展的討論、規劃、開發和維護。

如何加入 Coprocessor SIG?

社區的 Reviewer 或更高級的貢獻者(Committer,Maintainer)將提名 Active Contributor 加入 Coprocessor SIG。Active Contributor 是對於 TiKV Coprocessor 模塊或者 TiKV 項目有濃厚興趣的貢獻者,在過去 1 年爲 TiKV 項目貢獻超過 8 個 PR。

加入 SIG 後,Coprocessor SIG Tech Lead 將指導成員完成目標任務。在此過程中,成員可以從 Active Contributor 逐步晉升爲 Reviewer、Committer 角色,解鎖更多角色權利&義務。

  • Reviewer:從 Active Contributor 中誕生,當 Active Contributor 對 Coprocessor 模塊擁有比較深度的貢獻,並且得到 2 個或 2 個以上 Committer 的提名時,將被邀請成爲該模塊的 Reviewer,主要權利&義務:

    • 參與 Coprocessor PR Review 與質量控制;
    • 對 Coprocessor 模塊 PR 具有有效的 Approve / Request Change 權限;
    • 參與項目設計決策。
  • Committer:資深的社區開發者,從 Reviewer 中誕生。當 Reviewer 對 Coprocessor  模塊擁有非常深度的貢獻,或者在保持 Coprocessor  模塊 Reviewer 角色的同時,也在別的模塊深度貢獻成爲了 Reviewer,這時他就在深度或者廣度上具備了成爲 Committer 的條件,只要再得到 2 個或 2 個以上 Maintainer 的提名時,即可成爲 Committer,主要權利及義務:

    • 擁有 Reviewer 具有的權利與義務;
    • 整體把控項目的代碼質量;
    • 指導 Contributor 與 Reviewer。

工作內容有哪些?

  1. 完善測試

    • 爲了進一步提高 Coprocessor 的集成測試覆蓋率,TiKV 社區開源了 copr-test 集成測試框架(github.com/tikv/copr-test),便於社區爲 Coprocessor 添加更多集成測試;
    • 從 TiDB port 的函數需要同時 port 單元測試,如果 TiDB 的單元測試沒有覆蓋所有的分支,需要補全單元測試;
    • Expression 的集成測試需要構造使用這個 Expression 的算子進行測試。
  2. 提升代碼質量

    • Framework: 計算框架改進,包括表達式計算框架、算子執行框架等;
    • Executor: 改進現有算子、與 TiDB 協作研發新算子;
    • Function: 維護現有的 UDF / AggrFn 實現或從  TiDB port 新的 UDF / AggrFn 實現;
    • 代碼位置:https://github.com/tikv/tikv/src/tidb_query
  3. 設計與演進 Proposal
  4. Review 相關項目代碼

如何協同工作?

  1. 爲了協同效率,我們要求 SIG 成員遵守一致的代碼風格、提交規範、PR Description 等規定。具體請參考 文檔
  2. 任務分配方式

    • SIG Tech Lead 在 github.com/tikv/community 維護公開的成員列表與任務列表鏈接;
    • 新加入的 SIG 成員可有 2 周時間瞭解各個任務詳情並認領一個任務,或參與一個現有任務的開發或推動。若未能在該時間內認領任務則會被移除 SIG;
    • SIG 成員需維持每個月參與開發任務,或參與關於現有功能或未來規劃的設計與討論。若連續一個季度不參與開發與討論,視爲不活躍狀態,將會被移除 SIG。作爲 acknowledgment,仍會處於成員列表的「Former Member」中。
  3. 定期同步進度,定期週會

    • 每 2 周以文檔形式同步一次當前各個項目的開發進度;
    • 每 2 周召開一次全組進度會議,時間依據參會人員可用時間另行協商。目前沒有項目正在開發的成員可選擇性參加以便了解各個項目進度。若參與開發的成員不能參加,需提前請假且提前將自己的月度進度更新至文檔;
    • 每次會議由一名成員進行會議記錄,在會議結束 24 小時內完成會議記錄並公開。會議記錄由小組成員輪流執行;
    • Slack:https://tikv-wg.slack.com(Channel #copr-sig-china)
  4. 通過更多線上、線下成員的活動進行交流合作。

Coprocessor SIG 運營制度

  1. 考覈 & 晉升制度

    a. Coprocessor SIG Tech Lead 以月爲單位對小組成員進行考覈,決定成員是否可由 Active Contributor 晉升爲 Reviewer:

    • 熟悉代碼庫;
    • 獲得至少 2 位 TiKV Committer 的提名;
    • PR 貢獻滿足以下任意一點:

      • Merge Coprocessor PR 總數超過 10 個;
      • Merge Coprocessor PR 總行數超過 1000 行;
      • 已完成一項難度爲 Medium 或以上的任務;
      • 提出設計想法並得到採納成爲可執行任務超過 3 個。
b. Coprocessor SIG Tech Lead 和 TiKV Maintainer 以季度爲單位對小組成員進行考覈,決定成員是否可由 Reviewer 晉升爲 Committer:

+ 表現出良好的技術判斷力;
+ 在 TiKV / PingCAP 至少兩個子項目中是 Reviewer;
+ 獲得至少 2 位 TiKV Maintainer 的提名;
+ 至少完成兩項難度爲 Medium 的任務,或一項難度爲 High 的任務;
+ PR 貢獻滿足以下至少兩點:
    - 半年內 Merge Coprocessor PR 總行數超過 1500 行;
    - 有效 Review Coprocessor PR 總數超過 10 個;
    - 有效 Review Coprocessor PR 總行數超過 1000 行。
  1. 退出制度

    a. SIG 成員在以下情況中會被移除 SIG,但保留相應的 Active Contributor / Reviewer / Committer 身份:

    • 作爲新成員未在指定時間內認領任務;
    • 連續一個季度處於不活躍狀態。
b. Reviewer 滿足以下條件之一會被取消 Reviewer 身份且收回權限(後續重新考覈後可恢復):

   + 超過一個季度沒有 review 任何 Coprocessor 相關的 PR;
   + 有 2 位以上 Committer 認爲 Reviewer 能力不足或活躍度不足。
  1. Tech Lead 額外承擔的職責

    • SIG 成員提出的問題需要在 2 個工作日給出回覆;
    • 及時 Review 代碼;
    • 定時發佈任務(如果 SIG 成員退出後,未完成的任務需要重新分配)。

小結

通過上文相信大家對於 Coprocessor SIG 的工作內容、範圍、方式以及運營制度有了初步的瞭解。如果你是一個開源愛好者,想要參與到一個工業級的開源項目中來,或者想了解社區的運行機制,想了解你的代碼是如何從一個想法最終發佈到生產環境中運行,那麼加入 Coprocessor SIG 就是一個絕佳的機會!

如果你仍對 SIG 有些疑問或者想要了解更多學習資料,歡迎加入 tikv-wg.slack.com 哦~

0.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章