RFC-0098:元件架構 RFC 條件

RFC-0098:元件架構 RFC 條件
狀態已接受
領域
  • 元件架構
  • 管理事宜
說明

這是 RFC 程序的附加條款,其中定義了對元件架構的影響。

作者
審查人員
提交日期 (年-月-日)2021-05-20
審查日期 (年-月-日)2021-06-01

提振精神

元件架構 (CF) 系統提供了 在 Fuchsia 上執行的軟體。除了少數早期啟動程序之外 從低階系統服務到 UI 驅動前端的所有軟體 應用程式,是 元件 以及以 元件執行階段。

因此,變更元件架構可能會影響 Fuchsia 架構,以及負責編寫軟體指定目標軟體的開發人員 紫紅色。

聯邦通信委員會 (RFC) 程序提供一致且 落實透明化的流程,能做出具有廣泛影響的技術決策。這個 文件試圖提供必要詳細資料,以釐清 CF 的 這些變更具有一定程度的廣泛影響,值得擁有專屬的 RFC,而且 而不是

設計

需要 RFC 的變更

  • 對公用 CF API 進行新增或修改的變更, 程式庫和工具。例如將 fuchsia.sys2fuchsia.componentfuchsia.session、CML、C++ 元件 程式庫等
  • 安全性政策變更,包括許可清單和功能轉送。 例如新增許可清單安全性政策,或是新增 可轉送能力。
  • 元件管理服務變更,會使外部可見 「影響」例如變更關閉順序的計算方式,或 效能概況的任何重大變化 (程式碼大小、記憶體用量、CPU 時間)。
  • 變更工作階段管理員後,這些權限將對外顯示 「影響」舉例來說,從 反之亦然,反之亦然 效能設定檔
  • 引入或移除工作階段中使用的平台元件的變更, 的一部分例如:推出新的「管理員」稱為 以便在各個工作階段中重複使用
  • 元件管理員的全新偵錯或診斷功能。例如: 新的記錄檔分析功能或「檢查」新增項目。
  • 建議修改元件架構的變更。適用對象 並介紹全新的資源管理和配額概念
  • .CML 檔案語法的重大變更或新增內容:舉例來說,將 .CML 檔案向子項傳送路徑的結構

如果變更內容不符合上述條件,預設立場為 變更:

1) 按照 RFC 程序操作,或 1) 尋求 Fuchsia Engineering Council 的意見

說明狀態的 RFC 是選擇性的,但建議使用。發布 現狀 RFC 使 Fuchsia 現有架構的認識 包括 Google 以外的人員 此外,它們也提供架構目前狀態的參考資料 以便連結 RFC 作者

陽性範例:現已需要接受 RFC 的過往變更

  • 元件解析器 (CTP-013):導入 CF 擴充點, 元件作者,修改元件網址解析為元件的方式 中繼資料和可執行的內容
  • Components v2 許可清單 (CTP-020):導入一項機制, CF 執行階段的安全性政策
  • 讓執行者通過環境 (CTP-021):提議變更執行器 元件中的作業會轉送至元件中 子項和子項的子項 拓撲
  • Realm Builder (nee Topology Builder - CTP-033),推出 SDK 時: 這個程式庫可讓測試在執行階段建立複雜元件拓撲。
  • 新的 CML 能力語法 (CTP-023):變更能力轉送的語法 儲存於 .CML 檔案中
  • Stdio 作為能力 (CTP-031、RFC-69):引入新的路由功能 stdout、stdin 及 stderr,定義了 .CML 檔案語法, 轉送。
  • 使用子項 (CTP-036):雖然小幅變更,但會影響限制 處理元件之間的轉送作業

排除範例:過去的變更仍不需要 RFC

  • Component Framework API 修訂版本 (CTP-030):API 修訂版本,改進 可閱讀性和語意更明確,而無需更改 元件執行階段本身
  • 元件管理服務設定 (CTP-024):提議採用新機制 設定 component_manager 的內部行為,以移除技術債務 較簡單的配置機制
  • 元件圖表分析 (CTP-034):導入 來找出轉送中不相符的元件 造成的傷害。

從構想轉化為 RFC

許多功能需要從原型設計、設計意見回饋等方面逐步完成工作 從同業中發掘並實際接觸客戶體驗 和 APICF 貢獻者習得 並反覆擴大觸及範圍例如功能提案 而且應該採用較不正式的設計程序 包括核心團隊成員 實作,以及與 fuchsia.git 開發人員進行實驗。 才能深入探索 正式的 RFC 程序

貢獻者可選擇盡早參與 RFC 程序, 特別是當攻擊者可以預測其設計是為了符合 RFC 規範的情況下 做出調整

執行策略

任何已針對 CF 專案既定設計的作品 審核程序不需要回溯符合 RFC 規範 條件。

成效

沒有影響,純程序變更。

人體工學

如果我們發現此處提及的條件允許,就會重新評估這些條件 已由 RFC 程序改善而排序的變更 如果有太多條件來判定不符合條件的話

回溯相容性

沒有影響。

安全性考量

修改安全性政策或元件架構區域的變更 將需要 RFC。

隱私權注意事項

修改隱私權政策或元件架構區域的變更 將需要 RFC。

測試

沒有影響。

說明文件

不適用。

缺點、替代方案和未知

無法判斷本文件中的條件是否在 廣泛、多元包容的審查,犧牲速率,或更針對性審查。

另一個替代方案是堅持現狀:CF 團隊會使用 內部 CTP 程序

既有藝術品和參考資料