RFC-0103:軟體推送 RFC 標準

RFC-0103:軟體交付 RFC 準則
狀態已接受
區域
  • 軟體推送
  • 管理事宜
說明

針對影響軟體推送程式碼集或政策的變更,RFC 程序增修條款。

Gerrit 變更
作者
審查人員
提交日期 (年-月-日)2021-05-19
審查日期 (年-月-日)2021-06-10

摘要

軟體交付領域中需要 RFC 的變更條件。

提振精神

軟體推送 (SWD) 系統涵蓋的系統行為範圍很廣,包括無線更新 (OTA) 系統更新、開發和測試流程、裝置安全性,以及最終在不更新系統的情況下更新套件。SWD 堆疊的變更可能會以細微的方式修改系統行為,並為 Fuchsia 計畫帶來成本。為盡量遵守 Fuchsia 全面 RFC 程序,我們希望透過一組明確的條件,釐清 SWD 領域中「影響範圍廣泛」的變更。這些條件旨在兼顧執行速度,以及適當的利害關係人溝通和核准程序。

設計

需要 RFC 的變更

  • 系統更新流程的變更,新增限制或閘道,或在無線更新程序中新增錯誤情況。舉例來說,您可以在完成 OTA 前新增額外檢查,或更嚴格地檢查 OTA 降級。這點很重要,因為這些變更可能會降低 OTA 程序的可靠性。
  • 我們使用套件存放區的方式有所變更,或我們預期的套件存放區結構有所變更。我們預期內部和外部開發人員可能會建立或代管自己的 TUF 伺服器,因此應適當通知預期格式的變更。
  • Fuchsia 套件格式變更。任何會修改 Fuchsia 套件結構定義Fuchsia 封存格式的項目。這項資訊非常重要,因為許多不同的工具都會與套件格式互動,我們應適時提供變更通知。
  • 新增或移除產品或建構類型支援 OTA 系統更新的必要條件。舉例來說,要求 vbmeta 成功 OTA,或移除 vbmeta 的要求。這項異動非常重要,因為產品開發人員可能需要支付相關費用。
  • 安全性政策的實施方式異動。例如變更可執行性限制策略。這項資訊非常重要,因為這些變更可能會影響 Fuchsia 的安全性。
  • 變更可能導致舊系統無法更新至較新版本的系統,或需要使用過渡版本。這一點很重要,因為過渡版本會產生長期成本。裝置首次設定或長時間未連線後重新連線時,必須透過每個中間版本更新,這會耗費額外時間,並增加使用者的網路流量。如果過渡版本存在錯誤,即使在原始版本發布多年後,仍可能影響裝置的安全性或可用性,因此過渡版本必須經過測試和維護,時間遠比一般版本長。
  • 大幅增加資源用量的變更。包括記憶體、磁碟、CPU、網路等。這有助於更全面地掌握共用裝置資源的使用情形變化。
  • 隱私權政策或執法方式有異動。這項異動可能影響 Fuchsia 為使用者提供的隱私權,因此請務必瞭解。我們目前無法在程式碼集交易 PII,但如果日後想這麼做,就必須透過 RFC。

範例:過去的變更現在需要 RFC

  • OTA 備援;OTA 程序異動。
  • OTA 後健康狀態檢查;OTA 程序變更。
  • 套件格式變更,例如 meta/contents 全面翻新。
  • 遷移至 vbmeta 中的管道;OTA 程序異動,以及 OTA 的要求。

示例:過去的變更,仍不需要 RFC

  • CFv2 遷移作業,這類作業涵蓋在其他構件中。
  • Blob 下載續傳;pkg-resolver 外部無法觀察到的選用功能,程式碼審查程序已降低風險。
  • 變更指標或檢查 SWD 堆疊發出的指標。
  • 為產品新增通路。
  • 提升可靠性,例如讓 fx ota 順利運作,方便核心開發人員使用。如果迴歸風險很小,這裡的 PSA 就足夠了。
  • 淘汰 amberctl,並將開發人員轉移至 pkgctl。這應由 LSC 程序處理,因為工具的工作流程和目標幾乎完全相同。

實作

如果正在進行的工作已透過其他程序獲得設計核准,且正在實作階段,則不需追溯提交 RFC 即可繼續進行。However, we should submit retroactive RFCs for portions of the Software Delivery stack which are sufficiently direction-setting and are under-documented in other places. 我們會逐一評估專案中正在進行或即將完成的工作,判斷是否應為這些工作撰寫追溯性 RFC。

尚未完成設計階段的作業,都必須遵守這些規範。

這些指南將於 RFC 發布當天生效,並新增至 RFC 文件中的現行程序頁面。如果我們更新這些指南,會在後續 CL 中以本 RFC 的附錄形式發布。

如果貢獻者希望與 SWD 團隊合作處理 RFC,請隨時傳送電子郵件至 pkg-dev@fuchsia.dev,我們會指派專屬聯絡人。

效能

不會有影響,僅變更程序。

人體工學

如果我們發現變更應透過 RFC 傳達,或發現需要修改這些條件,就會重新審查這些條件。無論採用哪種評估標準,我們都必須在執行速度和溝通之間取得平衡。

回溯相容性

不會。

安全性考量

如要變更 SWD 區域,並修改安全策略,請根據這些條件提出 RFC。

隱私權注意事項

如果 SWD 領域的變更會影響隱私權考量,則必須根據這些條件提出 RFC。

測試

不會。

說明文件

如果接受這項 RFC,我們會更新目前的 RFC 程序文件

缺點、替代方案和未知事項

我們可以使用許多替代條件。如果我們發現有太多「小型」變更需要根據這項條件提出 RFC,或是發現有太多「大型」變更未經過 RFC 程序,就應修訂這份清單。

既有技術和參考資料