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 运行时等相关模块的影响。
