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