| RFC-0214:Fuchsia 淘汰政策 | |
|---|---|
| 狀態 | 已接受 |
| 區域 |
|
| 說明 | 列舉權利和責任,減少工程師花費在變更上的時間。 |
| 問題 | |
| Gerrit 變更 | |
| 作者 | |
| 審查人員 | |
| 提交日期 (年-月-日) | 2022-12-22 |
| 審查日期 (年-月-日) | 2023-04-03 |
摘要
更新 Fuchsia 的管理模式,納入平台流失政策,新增以下規定:回報變更成本、主動通知受影響的團隊,以及限制受影響團隊的工作量。
提振精神
Fuchsia 現在是大型專案,有多個獨立團隊努力工作,以滿足各種客戶的目標。同時,Fuchsia 等平台也必須不斷演進,這需要許多貢獻者在程式碼集內付出間歇性的努力,也就是俗稱的「流失」。
目標
- 根據專案的支援和穩定性目標,調整 Fuchsia 工程實務。
- 準確估算遷移作業和其他外部強制變更所花費的時間。
- 釐清 RFC 設計與 FPS 人員配置決策之間的界線。
- 提供一系列遷移策略供團隊參考。
非目標
- 變更已開始的大規模變更策略。
- 決定要進行哪些變更。
- 針對所有變更強制採用特定遷移策略。
- 降低變更率。
- 設定政策,讓用戶端團隊不必費力即可進行變更。
利害關係人
協助人員:
- abarth@google.com
審查者:
- abarth@google.com
- keir@google.com
- shayba@google.com
已諮詢:
- neelsa@google.com
- tombergan@google.com
社交:
這份 RFC 最初是 Google 內部文件,在 Fuchsia 團隊 (包括 Fuchsia 工程委員會成員) 內廣為分享。
實作
這項提案是針對 Fuchsia 的管理模式進行變更,詳情請參閱「受影響的團隊」和「發起團隊」小節。如果接受這項 RFC,我們會更新 FEC 章程、新增管理政策,並修訂新貢獻者指南,以實作這項 RFC。
如果變更需要其他貢獻者投入開發工作或變更工作流程,就可視為「Fuchsia 範圍內」的變更。包括影響 ABI、SDK 的任何公開部分、產品內容或產生的程式碼。
所有 Fuchsia 範圍的變更都會為許多 Fuchsia 貢獻者帶來工程成本。這項政策會集中管理這些費用,以便盡量減少支出。 就本政策而言,「受影響的團隊」是指必須核准或變更自身程式碼、工作流程或文件的團隊,以因應流失。
發起變更的貢獻者或團隊有責任解決任何中斷問題。在大多數情況下,這表示要採取「先還原,再診斷」的方法。
受影響的團隊
如果核准的變更會影響團隊:
在兩個工作天內回覆收到的 CL 審查或其他變更。
協助變更作者達成令人滿意的結論,例如核准他們的工作、回覆問卷調查、明確拒絕提議的變更、要求對變更進行特定修改,以及/或回答變更作者提出的主題相關問題。
如果回覆流失問題佔用超過 10% 的時間,請透過 eng-council@fuchsia.dev 標記這個問題
如果變更屬於風格指南 (例如 Lint、編譯器警告等),您可以決定要多快解決新的風格違規事項。
發起團隊
如果沒有流失政策,對於造成流失的變更,就沒有正式的要求或期望。本節新增了這類變更作者的責任。
如果您的團隊要發起變更,並負責完成所有工作:
- 傳送郵件給 FEC,說明對其他團隊的影響極小。
- 傳送郵件至 announce@fuchsia.dev,通知貢獻者遷移事宜。
- 繼續進行遷移作業。
如果團隊發起的變更需要其他人付出大量心力,包括透過 RFC 發起的變更:
- 制定計畫,向 FEC 證明團隊將投入至少 80% 的手動工作量,處理自動化無法解決的問題。計畫必須列出受影響的團隊,以及變更的預估成本。
- FEC 核准企劃書後,請通知受影響的團隊。他們必須能夠使用至少兩個季度的季度規劃來安排工作,因此請在季度開始前一週以上通知團隊。
- 繼續進行遷移作業。
回溯相容性
這項政策不會影響任何進行中的遷移作業。
說明文件
為協助變更作者,fuchsia.dev 會提供遷移計畫範例。
缺點、替代方案和未知事項
這項提案的主要缺點是,流程開始時需要FEC參與。變更作者必須及時收到 FEC 和受影響貢獻者的回覆。
其中一項替代政策是要求受影響的投稿人核准變更。 這樣一來,變更作者就能持續進展。這項替代方案遭到駁回,因為這會剝奪受影響的貢獻者提供意見回饋的機會,無法瞭解提案變更的價值和危害。
另一種做法是採取更嚴格的方法,也就是所有遷移作業都必須使用可用的版本控管機制進行軟轉換,並放慢步調,讓所有 Fuchsia 貢獻者都能分攤工作。這與提案政策不同,因為提案政策並未對受影響的團隊設定參與度期望。這項替代方案遭到駁回,因為它未設定審查時間表,導致發起團隊難以規劃及及時進展。
既有技術和參考資料
閱讀這份提案時,是否有任何背景資料可供參考?舉例來說,其他作業系統是否會解決這項提案要解決的相同問題?