FIDL 語言調整提案 (FTP)

程序

FIDL 調整提案 (FTP) 程序旨在提供對 FIDL 語言、繫結和工具的統一且記錄路徑。

要求 FTP 的條件

符合下列任一條件時,變更「必須」經過 FTP 程序:

  1. 解決方案空間相當大,即變更是其他許多可行的解決方案,在設計上並不容易。

  2. 變更會產生極大影響,即變更會大幅修改 FIDL 的行為,進而對 FIDL 的多或所有使用者造成風險;

  3. 變更的範圍很廣,也就是說,這項變更涵蓋了足夠的 FIDL 元素,因此您需要仔細留意,才能判斷變更是否會造成重大影響。

舉例來說,如要變更以下區域,可能需要 FTP:

  • FIDL 管理
  • 設計原則
  • 語言文法
  • 輸入系統
  • 通訊協定語意
  • 電匯格式
  • 繫結規格

如需其他詳細資料,請參閱 RFC-0049:FIDL 調整程序演進

設計

FTP (FIDL 調整提案) 會經歷幾個階段。這些階段對應至範本標題的 Status: 欄位。

草稿

一或多位使用者對這項變化感到興奮!他們可以複製調整範本 並開始寫作及設計提案應處理範本中的每個區段標題,即使標題中只顯示「不適用」也不成問題。

在這個階段,他們可能會開始向受影響的各方徵求草稿的意見回饋。

註解

在這個階段,FTP 會正式流動給 Fuchsia 工程機構評論。提案的作者應向特別可能受提案影響的人徵求意見回饋。

目前提案至少應開放留言一週,且必須由審查人員自行斟酌。相對而言,較不爭議的 FTP 則可能較為合理,請等待更久的時間,再等待特定使用者或群體的意見回饋。

任何人都可以對 FTP 發表封鎖留言。封鎖留言無法防止特定接受或拒絕結果進行審查,但審查人員必須在最終 FTP 中確認透過註解獲得的意見回饋。

撤銷中

釋出的 FTP 是儲存工程構想的寶貴記錄。當作者撤銷 FTP 時,必須在 FTP 中加入解除原因。然後將 FTP 複製到所有 FTP 的公開記錄,以用於海報。

解除原因由 FTP 作者撰寫,可能與 Fuchsia FIDL 團隊成員合作。

說明理由應以下列兩種做法之一做為行動依據。

作者在 FTP 程序中學到了哪些知識,進而提出替代設計呢?

如何取代已撤銷的 FTP?

審查

屆時,我們將審查 FTP 和所有尚未提交的評論。

提案會由 Fuchsia FIDL 團隊成員 (由 fuchsia.git 存放區中的 OWNERS 檔案定義,非正式稱為「luthiers」) 團隊成員審查,而且所有他們認為合適的對象會加入或委派到此程序中。舉例來說,這些專家可能會加入特定語言專家,為該語言的繫結做出決定。如有必要,可以將爭議性決策的提報方式,如同 Fuchsia 中的其他技術決策一樣。

審查作業通常是在一或多場現場會議 進行 FTP 見面會,如果可以,也可以透過非同步通訊方式進行審查。

FTP 會議會由展示設計的作者開始。講師接著會檢視 FTP 中的註解,要求在文件中加註的使用者展示自己的意見回饋。

講師和簡報者的理想與眾不同。講師的目標,是確保設計的各個層面都獲得妥善解決,並且確保會議順利進行。在理想情況下,講師並未從結果中採取特定措施,以免觀眾誤以為是偏見,且簡報者也會隱瞞自己正在呈現的設計。

我們不一定需要在會議期間關閉每項意見回饋,或是討論每則留言 (例如收到大量留言,或討論同一基礎問題有多次留言的情況)。而是應講師進行最佳化調整,以便向簡報者提供各式各樣的意見,而不是驅動各方結論。待處理的待處理問題可能會在進一步審查階段或決策過程中解決。

決策

在五 (5) 個工作天內,Fchsia FIDL 團隊的成員 (由 OWNERS 檔案定義) 的最終決策者是 Fuchsia FIDL 團隊主管,決定評論的結果。

最終結果有三種結果。

首先,有些問題或意見需要做決定。在此情況下,FTP 會移回「註解」階段。

其次,提案可能會遭到拒絕,審查人員也會提供理由。

第三,可能已接受

談判場地通常會以會議形式進行決策。這也可能是電子郵件執行緒,或是在審查會議期間進行。

已遭拒

遭拒的 FTP 是有工程決策的寶貴記錄。如果拒絕,則拒絕理由應新增至 FTP。然後將 FTP 複製到所有 FTP 的公開記錄,以用於發布。

針對下列兩種感覺,應可據此採取行動。

首先,世界必須做出哪些改變,才能接受這項提案?

其次,原因應解決在留言期間提出的所有封鎖留言。

已接受

接受的 FTP 也會在審查後附加原因部分,並會收到追蹤錯誤。

這和拒絕原因相同。尤其必須處理任何封鎖留言。

然後就可以開始在競賽中導入變更。

已實行

在這個階段,提案已完成。所有程式碼都已變更。教學課程已更新。錯誤已標示完成。FIDL 更完美的調整。

程序的最後一個步驟是將 FTP 已標示化版本進入 Fuchsia 樹狀結構。無論提案是否被接受 (因為該提案能夠指出,遭到拒絕的提案是此程序價值的一大部分),無論提案是否獲得接受都一樣。