Taro 貢獻者晉級制度
為了建立更加完善、更加可持續的 Taro 開源生態,突出貢獻者價值,我們參照成熟開源社群執行機制制定了《 Taro 貢獻者晉級制度》,為熱愛和喜歡 Taro 技術的開發者和貢獻者提供更清晰的參與機制和榮譽激勵機制。
晉升角色
如圖包含 4 個晉升角色:個人貢獻者&生態個人貢獻者、助手、合作者&生態合作者、技術委員會委員,晉升機制通過提名+投票的方式進行共識決策,晉升路徑如下:
- 個人貢獻者 → 助手 → 合作者 → 技術委員會委員
- 個人貢獻者 → 合作者 → 技術委員會委員
- 生態個人貢獻者 → 生態合作者 → 技術委員會委員
對於一年內不活躍者,會進行自動進行降級,貢獻突出者可申請榮休。
個人貢獻者&生態個人貢獻者(Individual Committer)
任何同意《 Taro 行為準則》的個人開發者,都可以基於進行 pull request 提交, bug 反饋&修復、新特性提議或 PR 均可,會在 中列為個人貢獻者。當貢獻者的有價值工作被其他合作者注意到後,可以被提名為合作者。
任何基於或圍繞 Taro 生態進行的工具、外掛、培訓、教學等個人都會在 中列為生態個人貢獻者。
助手(Triage)
負責 、 倉庫新 issues 的維護,負責給 issues 或 pull requests 打標籤,以及負責評論、關閉和重新開啟 issue 或 pull request,負責將 bug 或 feature 分流給具體工作組。
- 目的 旨在減少 issue 列表,保持 issue 及時跟蹤,促進新人蔘與及貢獻 pull request。
- 權益 Github NervJS 組 Member 許可權,相關專案 Triage 許可權,可以管理 issues 和 pull requests(沒有寫許可權)。
- 申請方法 對 Taro 專案有全面瞭解和深度開發經驗的任何人,可以在 NervJS/taro 中提交一個 pull request,說明申請成為助手的動機並同意本專案的行為守則,經 2 名合作者同意即可通過。 申請 pull request 參考模版如下:
- 退出機制 對 6 個月不活躍的小助手進行定期移除。
合作者 & 生態合作者(Collaborator)
負責維護 、 倉庫,幫助使用者和初級貢獻者,參加具體工作組為當前專案貢獻程式碼和檔案,評審和評論 issues 和 pull requests。
- 目的 旨在不斷豐富 Taro 特性、效能、安全等。
- 權益 Github NervJS 組 Member 許可權,Github Write 許可權,可以提交 commit 到 倉庫,可以設定持續整合任務,負責 pull request 評審及合併,1 個 PR 合併需至少 2 名合作者或 1 名技術委員會成員同意即可進入觀察期,觀察期 3 個月即可正式成為合作者。
- 申請方法 合作者提名有突出貢獻的個人貢獻者,通過投票機制決定是否可以成為合作者。一名合格的合作者需具備:技術精進,業務精湛;溝通無障礙,至少讀寫無阻礙;人品優良,能鑽研,不輕易半途而廢;態度謙遜,能接受他人意見;Owner 心態,積極主動。 申請 pull request 參考模版如下:
- 退出機制 對不活躍的合作者,技術委員會有權進行移除或設定為榮休狀態,榮休成員可以重新向技術委員會申請為活躍狀態。如果一個合作者超過 6 個月無任何貢獻,會自動設定成榮休狀態。
技術委員會成員(Technical Steering Committee)
負責技術方向、專案管理、專案發布、貢獻政策、倉庫託管、行為準則、維護合作者列表,定期參加 TSC 活動,主席(主持人)會線上上主持活動,並做好活動記錄並公佈。
- 目的 解決難以達成共識的技術難題、新方向等。
- 權益 Github NervJS 組 Owner 許可權。
- 申請方法 新增 TSC 成員需要由其他 TSC 成員提名並討論投票。 申請 pull request 參考模版如下:
- 退出機制 在一季度內,缺席 75%的活動,且未參與任何一次投票,自動除名。成員可提出暫時」榮休「。
執行機制
如圖執行機制包含技術委員會以及下設的 5 個團隊(Core 團隊、Plugins 團隊、Platform 團隊、創新團隊、社群團隊)。技術委員會由技術委員會委員組成,負責技術方向、專案管理、貢獻政策、倉庫託管、行為準則、維護合作者列表等,技術委員會主席負責定期組織會議。工作組由合作者成員組成,每個方向有一個 Owner,負責相關工作組的開發進展。
團隊
- Core 團隊
- Cli 工作組 主要負責 Taro 命令列工具的開發和維護工作。
- Compile 工作組 負責維護、優化小程式和 H5 的編譯系統。
- Runtime 工作組 負責維護小程式執行時系統。
- Plugin 團隊 負責維護各 Taro 外掛,包括端平臺外掛,React、Vue DevTools 等。
- 端平臺外掛工作組 負責維護各端平臺外掛,包括對微信、支付寶、百度、位元組跳動、QQ、京東、企業微信、飛書、快手、釘釘、小紅書等廠商小程式的適配等。
- 混合開發組 負責維護 Taro 與原生小程式的相互呼叫功能、Taro 開發原生外掛等。
- Platform 團隊 負責 App、Web、Open Harmony 等跨平臺開發。
- H5 工作組 負責維護 H5 的各模組,包括路由、元件庫、API 庫等。
- React Native 工作組 負責 React Native 適配核心、元件庫、API 庫等部分的開發。
- Open Harmony 工作組 負責鴻蒙適配核心、元件庫、API 庫等部分的開發。
- 快應用工作組
- 創新團隊 Taro 創新特新、新方向探索,如 wasm、rust、vite、flutter、electron 等。
- UI 框架興趣組 TaroUI、NutUI 等 UI 庫和其他型別生態工具的研發與管理。
- 社群團隊 負責 Taro 生態與運營,和 Taro 社群的運營推廣工作。
技術委員會雙週會
- 時間:每雙週週四前,在 TSC issue 中預告下次會議的內容和日期。
- 議題:來自 Taro 下各專案中標註了 tsc-agenda 標籤的事宜。會議結束後提交會議紀要 pull request。每次會議可邀請非委會參加,但無投票權。
基於共識決策的投票機制
各個晉升投票環節,基於共識決策原則,原則上達成多數一致。
- 待投票的議題需要在會議前周知各成員,給與成員足夠調研思考時間
- 議題在即將達成一致時,在結題前必須詢問「有人反對嗎?」,以周知最後反對的機會
- 議題無法達成一致時,可以投票多數支援是否延期到下一個會議,否則必須繼續討論
- 議題滿足「多數勝利」後即可通過,成員可以棄票
引導 / 培訓機制
助手、合作者和技術委員會成員每個階段,均提供相應的引導和培訓,讓新晉升者可以快速開展工作。
角色成員點選下面檢視更多: