熟悉RFC (意見請求) 程序和相關標準後,您可能會想建立提案,供 Fuchsia Eng Council 審查。
如要建立 RFC,您必須建立 Gerrit 變更,其中至少包含下列三個檔案:
建立中繼資料
RFC 的中繼資料定義了許多值,用於填入 RFC 總覽的 RFC 資訊。
如要識別 RFC,您必須編輯 docs/contribute/governance/rfcs/_rfcs.yaml,加入 RFC 相關資訊。
您需要在 RFC 中加入下列資訊:
參考資料
| RFC 中繼資料 | |
|---|---|
| name | 必填 
              定義 RFC 名稱。首次建立 RFC 時,請使用  | 
| title | 必填 定義 RFC 的標題。標題必須簡短,並以簡短文字說明 RFC。 | 
| short_description | 必填 請為 RFC 定義簡短說明。說明必須簡短,不應超過幾句話。 | 
| authors | 必填 建立 RFC 作者清單。 
 | 
| file | 必填 
              定義 RFC Markdown 檔案的檔案名稱。這應該包含 RFC 的  
              在收到 RFC 名稱之前,請使用  | 
| area | 必填 列出 RFC 影響的區域。 
 有效區域有效的區域 
 | 
| issue | 必填 
              在 https://fxbug.dev/ 中定義追蹤 RFC 的問題清單。
              如果您沒有「issue」編號,可以將這個值留空, 
 | 
| gerrit_change_id | 必填 
              包含 RFC 的 gerrit 變更的  | 
| submitted | 必填 
            請以  | 
| status | 必填 
              定義 RFC 的狀態。首次提交 RFC 時,此值應為  | 
| reviewers | 核准或拒絕後必須提供 從 Gerrit 變更中定義 RFC 的審查者。 | 
| consulted | 核准或拒絕後必須提供 曾就此 RFC 接受諮詢的利害關係人,但不需要提供 +1 意見。 | 
| reviewed | 必填 定義您收到 Fuchsia Eng Council 決定是否接受或拒絕 RFC 的日期。 | 
範例
- name: 'RFC-NNNN' title: 'zx_channel_iovec_t support for zx_channel_write and zx_channel_call' short_description: 'This RFC introduces a new mode to zx_channel_write and zx_channel_call that copies input data from multiple memory regions rather than from a single contiguous buffer.' authors: ['bprosnitz@google.com'] file: '0010_channel_iovec.md' area: ['Zircon'] issue: ['60623'] gerrit_change_id: ['433621'] status: '' reviewers: [] submitted: '2020-09-25' reviewed: ''
建立 RFC 的中繼資料後,您就可以撰寫包含 RFC 資訊的 Markdown 檔案。
建立 Markdown 檔案
填寫完 RFC 中繼資料和 RFC 的 name 後,您就可以為 RFC 建立 Markdown 檔案。
如要建立 Markdown 檔案,請按照下列步驟操作:
- 根據 RFC 範本建立新的 Markdown 檔案。這個檔案的名稱必須根據您新增至中繼資料檔案的 - file值命名。
- 使用文字編輯器編輯檔案時,您需要編輯範本的第一行,其中包含含有 RFC 的 - name和- rfcid變數。舉例來說,如果- name是- "RFC-NNNN",第一行會如下所示:- {% set rfcid = "RFC-NNNN" %}
- 在 ## Summary 標題後方,填寫 RFC 的各個部分。 
填寫完 Markdown 檔案後,您就可以在目錄中建立 RFC 項目。
建立 _toc.yaml 項目
建立 RFC 的中繼資料並建立 Markdown 檔案後,您就可以在 TOC (目錄) 中列出 RFC。
如要新增 TOC 項目,請按照下列步驟操作:
- 編輯 //docs/contribute/governance/rfcs/_toc.yaml 檔案。
- 請按照下列格式,在最後一個項目下方新增 RFC 項目。
參考資料
   - title: "name: title"
     path: /docs/contribute/governance/rfcs/file.md範例
- title: "RFC-0001: RFC Process"
  path: /docs/contribute/governance/rfcs/0001_rfc_process.md其中 name、title 和 file 是您在中繼資料檔案中定義的值。
建立 TOC 項目後,即可將 RFC 送交審查。
將變更送審
編輯中繼資料檔案、建立 Markdown 檔案,並新增 TOC 項目後,即可建立變更以供審查。
變更的提交訊息第一行必須是 [rfc],後面接著 RFC 名稱。提交訊息的內文也可以包含 RFC 的簡短說明。例如:
[rfc] zx_channel_iovec_t support for zx_channel_write and zx_channel_call
This RFC introduces a new mode to zx_channel_write and zx_channel_call that
copies input data from multiple memory regions rather than from a single
contiguous buffer.
將變更內容傳送給初始審查人員。Fuchsia Eng Council 會自動收到 RFC 建立通知。
如要進一步瞭解如何在 Fuchsia 專案中建立變更,請參閱「提供變更」一文。
變更 RFC 提案的狀態
變更完成審查程序後,Fuchsia Eng Council 會通知您提案是否獲得核准。無論提案的最終狀態為何,系統都會指派 RFC 編號,因此請務必提交每份提案,無論最終狀態為何。
收到工程委員會的最終狀態後,請採取以下行動:
- 在 RFC 檔案 ( - .md副檔名) 中,編輯 RFC 的已指派- name。舉例來說,如果您指派的是- RFC-9999,第一行應如下所示:- {% set rfcid = "RFC-9999" %}
- 使用指派的 RFC 編號重新命名 RFC 檔案 ( - .md副檔名)。舉例來說,如果您已指派- RFC-9999,請將檔案重新命名為- 9999_<filename>.md。
- 在 //docs/contribute/governance/rfcs/_toc.yaml 中編輯 RFC 的 TOC 項目,以反映 RFC 編號。舉例來說,如果您已指派 - RFC-9999,您的項目可能會如下所示:- - title: "RFC-9999: My RFC proposal" path: /docs/contribute/governance/rfcs/9999_<filename>.md
- 更新 RFC 提案的中繼資料。如果您已正確填寫初始中繼資料,只需在 docs/contribute/governance/rfcs/_rfcs.yaml 中更新下列值即可。 - name:使用已指派的 RFC 名稱。例如- "'RFC-9999'。
- file:請使用您在上述步驟中使用的檔案名稱。例如- '9999_<filename>.md'。
- status:請使用已指派給 RFC 的狀態,可能是- 'Accepted'或- 'Rejected'。
- reviewers:使用變更內容的審查者清單。舉例來說,如果審查人員是 abarth@google.com、cpu@google.com 和 vaas@google.com,- ['abarth@google.com', 'cpu@google.com', 'vaas@google.com']。
- Reviewed:請使用 RFC 核准或拒絕的日期 (年-月-日)。舉例來說,2020 年 3 月 15 日會顯示為- '2020-03-15'。
 - 已接受的 RFC 提案中繼資料如下所示: - - name: 'RFC-0010' title: 'zx_channel_iovec_t support for zx_channel_write and zx_channel_call' short_description: 'This RFC introduces a new mode to zx_channel_write and zx_channel_call that copies input data from multiple memory regions rather than from a single contiguous buffer.' authors: ['bprosnitz@google.com'] file: '0010_channel_iovec.md' area: ['Zircon'] issue: ['60623'] gerrit_change_id: ['433621'] status: 'Accepted' reviewers: ['cpu@google.com', 'kulakowski@google.com', 'abarth@google.com', 'pascallouis@google.com'] submitted: '2020-09-25' reviewed: '2020-10-31'
- 上傳修補程式至變更內容,並更新 RFC 檔案。 
- 獲得核准後,請與協助人員合作提交 RFC。具體來說,你的講師必須將 CL 加 2。 
您已成功提交 RFC 提案。