RFC-0103:Software Delivery RFC 標準 | |
---|---|
狀態 | 已接受 |
區域 |
|
說明 | 針對影響軟體提交程式碼庫或政策的變更,RFC 程序的附加條款。 |
Gerrit 變更 | |
作者 | |
審查人員 | |
提交日期 (年-月-日) | 2021-05-19 |
審查日期 (年-月-日) | 2021-06-10 |
摘要
在軟體提交區域中,需要 RFC 的變更條件。
提振精神
軟體提交 (SWD) 系統涵蓋的系統行為範圍相當廣泛,包括無線下載 (OTA) 系統更新、開發和測試流程、裝置安全性,以及不需系統更新的套件更新。對 SWD 堆疊進行變更可能會以微妙的方式修改系統行為,並對 Fuchsia 程式造成成本。為盡可能遵循 Fuchsia 全域 RFC 程序,我們會提出一組明確的標準,以便在 SWD 區域中區分具有「廣泛影響」的變更。這些條件旨在平衡執行速度與利益相關者適當的溝通和核准程序。
設計
需要 RFC 的變更
- 變更系統更新流程,在 OTA 程序中新增限制或閘道,或新增錯誤狀態。例如在完成 OTA 前新增額外檢查項目,或讓 OTA 降級檢查更加嚴格。這點很重要,因為這些變更可能會降低 OTA 程序的可靠性。
- 我們使用套件存放區的方式或預期的套件存放區結構有變動。我們預期內部和外部開發人員都可能會建立或代管自己的 TUF 伺服器,因此我們應提供適當的通知,說明預期格式的變更。
- Fuchsia 套件格式異動。任何修改 Fuchsia 套件結構定義或 Fuchsia 封存格式的內容。這點很重要,因為許多不同的工具都會與套件格式互動,我們應提供適當的變更通知。
- 新增或移除產品或版本類型的相關需求,以支援 OTA 系統更新。例如,要求 vbmeta 順利進行 OTA,或移除對 vbmeta 的要求。這點很重要,因為這些變更可能會讓產品開發人員產生成本。
- 修改安全性政策的強制執行方式。例如變更可執行性限制策略。這點很重要,因為這些變更可能會影響 Fuchsia 的安全性。
- 變更可能導致舊系統無法更新至較新的系統版本,或需要使用階梯式版本。這點很重要,因為階梯式版本會產生長期成本。裝置首次設定或經過很長時間後重新連線時,必須透過每個階梯式版本進行更新,這會讓使用者耗費額外的時間和網路流量。踏板版本中的錯誤可能會影響裝置的安全性或可用性,即使在原始版本發布多年後也是如此,因此踏板版本的測試和維護時間必須比一般版本長得多。
- 會大幅增加資源用量的變更。記憶體、磁碟、CPU、網路等。這可讓您更全面地掌握共用裝置資源的使用情形變化。
- 修改隱私權政策或其執行方式。這項指標的重要性在於,這些變更可能會影響 Fuchsia 為使用者提供的隱私權。我們目前在程式碼庫中處理 PII 的能力有限,但如果有一天我們想處理 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,才能繼續進行。不過,我們應該針對 Software Delivery 堆疊中已充分設定方向,且在其他地方未充分記錄的部分,提交追溯性 RFC。我們會依個別專案評估目前進行中或即將完成的工作,判斷是否應為該專案撰寫追溯性 RFC。
未完成設計階段的工作必須遵循這些規範。
這些指南自 RFC 發布日期起生效,我們會將這些指南加入 RFC 文件中的現行程序頁面。如果我們更新這些規範,會在後續 CL 中將更新內容做為此 RFC 的附錄。
如果有貢獻者想與 SWD 團隊合作處理 RFC,歡迎隨時與 pkg-dev@fuchsia.dev 聯絡,我們會指派專人與他們聯絡。
成效
不會造成影響,僅為程序變更。
人體工學
如果我們發現變更內容應透過 RFC 進行溝通,或是發現需要以其他方式修改這些條件,就會重新審查這些條件。無論條件為何,我們都需要在執行速度和通訊方面取得平衡。
回溯相容性
沒有影響。
安全性考量
根據這些條件,如果要變更 SWD 區域並修改安全性策略,就必須提出 RFC。
隱私權注意事項
根據這些條件,如果變更 SWD 區域會影響隱私權考量,就必須提出 RFC。
測試
沒有影響。
說明文件
如果這個 RFC 獲得核准,我們會更新目前的 RFC 程序說明文件。
缺點、替代方案和未知事項
我們可以使用許多替代條件。如果我們發現太多「小型」變更需要根據這項標準進行 RFC,或是發現太少「大型」變更會經過 RFC 程序,就應修正這份清單。