2. SEP(規範增強提案)指南

什麼是 SEP

SEP(Specification Enhancement Proposal)是 iFay 規範變更的正式提案流程。任何對 iFay 規範的實質性修改——無論是新增模組、修改協議行為,還是調整 iFay Profile 的資料模型——都應透過 SEP 流程進行。

為什麼需要 SEP

iFay 是一個多廠商實現的開放標準體系,規範的每一次變更都可能影響到所有實現者。SEP 流程確保規範演進有序、透明、可追溯,讓所有利益相關方都有機會參與討論和審查。

SEP 生命週期

一個 SEP 從提出到最終落地,需要經歷以下階段:

1. Draft(草案)

提案者在 GitHub 上建立 SEP Issue,使用標準模板描述提案的動機、方案和影響。草案階段的 SEP 可以是不完整的,但應包含足夠的資訊讓社群理解提案的意圖。

2. Discussion(討論)

SEP 進入公開討論期,至少持續 14 天。在此期間:

  • 社群成員和相關工作組對提案進行討論
  • 提案者根據反饋修改和完善提案
  • 相關子專案的維護者評估提案對各自領域的影響

3. Review(審查)

討論期結束後,核心維護者對 SEP 進行正式審查。審查過程中可能要求提案者進一步修改或補充內容,例如:

  • 補充向後相容性分析
  • 完善 iFACTS 測試影響評估
  • 提供替代方案的對比分析

4. Accepted / Rejected(接受 / 拒絕)

核心維護者透過投票決定 SEP 的最終結果:

  • 接受(Accepted):SEP 被批准,進入實施階段
  • 拒絕(Rejected):SEP 被拒絕,記錄拒絕原因。提案者可以根據反饋修改後重新提交

5. Implemented(實施)

被接受的 SEP 進入實施階段。實施工作可以由提案者本人或其他貢獻者完成。實施過程中應:

  • 更新相關規範文件
  • 實現參考程式碼(如適用)
  • 編寫或更新 iFACTS 測試用例

6. Final(最終)

實施完成並透過審查後,SEP 進入最終狀態。此時:

  • 規範文件已更新
  • iFACTS 測試套件已同步更新
  • 相關文件和指南已更新

SEP 模板

提交 SEP 時,請包含以下內容:

  • 標題:簡明扼要地描述提案內容
  • 動機:為什麼需要這個變更?解決什麼問題?
  • 詳細設計:提案的技術細節和實現方案
  • 向後相容性:對現有規範和實現的影響分析
  • iFACTS 影響:需要新增或修改哪些合規性測試
  • 替代方案:考慮過的其他方案及其優劣對比

誰可以提交 SEP

任何人都可以提交 SEP。無論你是核心維護者、維護者、貢獻者,還是 iFay 生態的使用者,只要你認為規範需要改進,都歡迎提交提案。

特別說明

涉及協議變更的 SEP 需要特別注意:由於 iFay 的各協議(Faying、Telepathy、ICP、CAP、DTP、SSP)對應獨立的子專案,相關協議的維護者必須參與審查。例如,修改控制許可權協議(CAP)行為的 SEP,需要 WG-Protocols 工作組的維護者參與評估其對裝置驅動中樞、FayGer 執行時等相關模組的影響。