COMMUNITY
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 執行時等相關模組的影響。
