何が RFC を必要とするか
疑わしいとき: 変更が下流実装に動作し続けるためコード更新を強いる場合、RFC が必要です。
ライフサイクル
1
Draft
proposal template をボディとして使い GitHub issue を開きます。タイトル形式:
RFC: <short description>。rfc ラベルを追加します。作成者は正式レビューを要求する前にワーキンググループメンバーまたは影響を受ける実装者から早期フィードバックを求めるべきです。2
WG review
issue は次のワーキンググループセッションのためキューされます。WG が投票する前に少なくとも 2 人の ワーキンググループメンバー がレビュアーチェックリストを完了しなければなりません。レビュー期間は issue 提出後最低 7 暦日です。
3
Decision
WG は決定 — accepted、rejected、または deferred — を、RFC issue へのコメントとして decision record を投稿することで記録します。合意に達しても反対は記録されなければなりません。
4
Specification change
決定記録が存在しそのステータスが accepted の後、任意のコントリビューターが spec PR を開けます。PR は
Refs #N(Closes #N ではない)で RFC issue を参照しなければならず、決定記録が存在するまでマージできません。spec PR レビュアーは diff が accepted された RFC スコープに一致することを確認します。最終 spec PR は、マージ時に RFC issue をクローズするため Closes #N を運びます。accepted された RFC は各 spec ライフサイクルステージ遷移の必須トリガーです: それが機能を Draft → Proposed に移し、または Deprecated → Sunset をゲートします。追跡可能な accepted された決定記録なしにライフサイクル遷移は有効ではありません。Proposal template
RFC を提出するとき、これを GitHub issue ボディにコピーします:Decision-record format
WG 投票の後、これを RFC issue へのコメントとして投稿します。Dissent セクションは必須です — それを省略することはすべてのレビュアーが少数派の立場が存在しないことを明示的に確認したことを示します。
関連項目
- 仕様ライフサイクル — accepted された RFC が spec ライフサイクルステージ遷移(Draft → Proposed → Final、および Final → Deprecated)を駆動します。専用ページは #2441 で追跡
- ガバナンス概要 — 三者モデルとキャンペーンガバナンスドメイン
- 埋め込まれた人間の判断 — ほとんどの RFC が寄与するガバナンスシステムの背後にある原則