openFuyao社区开发全流程

各阶段活动说明

阶段 活动 责任角色 操作指导 活动指导与流程 规范规则 质量出口要求 产出物及其模板
需求管理 提交issue Contributor/SIG Committer 社区建立工单机制,提供issue的基本功能讲解,并在代码托管平台中建设好相关的结构化模板填写内容,并说明配置项的用法:
1、社区Contributor依据社区规范将社区相关的需求、Bug、漏洞或问题与建议按照模板要求提交到对应的仓库;
2、社区Issue提交表单应包括负责人、标签、项目、里程碑、关联分支、计划开始/截止日期、置顶选项和优先级等内容;
3、基于社区Issue承载内容的分类(需求、Bug、漏洞、问题与建议)提供相应的模板,便于开发者准确的快速提交社区Issue;
4、社区Issue应支持多种标签,包括不限于Issue分类,处理状态、优先级等,便于基于标签进行任务跟踪和管理;
5、针对不同类型的Issue要制定相应的处理业务流程和个活动的检查点;
6、Issue要提供Issue规范性检查和自动将Issue派发给处理人等功能;
7、提供Issue状态管理的数字化看板功能;
8、提供Issue的操作说明文档和定制化模板;
需求申请流程 社区ISSUE规范 / 社区issue
需求管理 需求分析和筛选 SIG Maintainer 基于需求类issue的标签与社区bot的初始划分,SIG maintainer对issue进行审视:
1.确认issue的内容与当前SIG的责任田相关,若不相关,修改issue标签并移交至适当的SIG
2.对issue的原始需求进行分解,形成可以指导开发的需求列表,并在列表里与具体issue进行关联
3.对需求进行初步分析与评估,若需求类型为引入三方软件包/依赖,需参考第三方软件包/依赖引入评估规范。
4.修改issue标签,与issue提交者进行确认互动
5.组织会议提交需求列表、由TC进行需求评审
/ / / 需求分解分配表(OFEP模板)
需求管理 需求评审 TC TC组织需求评审会议,与Release Manager以及SIG Maintainer对分解的需求进行评审:
1.对需求的可行性、优先级、依赖性、关联风险等事项进行评审,给出评审意见
2.若需求未接纳,SIG Maintainer刷新关联issue状态,并就评审结果与意见与关联issue提交者进行传达沟通
3.若需求得到接纳,SIG Maintainer刷新关联issue状态,进行需求分配并整理设计文档,纳入版本计划
社区新开发功能流程(评审流程章节) / / 社区需求(OFEP)评审意见
分析设计 OFEP(提案)设计 SIG Maintainer/SIG Committer SIG组长/Maintainer基于版本计划与需求列表,遵循社区设计原则设计:
1.软件架构设计方案,包含模块设计原则,支持的特性及演进路线、对外接口清单( 包括API、命令行、配置文件、通信端口等内容)
2.在SIG内部通过会议、讨论版等社区共识机制达成共识
3.方案通过TC评审
/ 架构/特性设计原则或规范(待建)
安全设计规范
安全设计自检checklist
接口说明规范
/ 设计方案(OFEP模板)
分析设计 OFEP评审 TC TC组织对OFEP设计方案进行评审。
评审基于社区设计原则,评审意见由SIG组修改优化后闭环
社区新开发功能流程(评审流程章节) / / 设计方案(OFEP)评审意见
分析设计 安全架构评审 安全SIG 安全SIG组织对OFEP设计方案进行安全架构维度的评审
评审基于社区安全设计规范,评审意见由SIG组修改优化后闭环
/ / / 安全架构评审意见
分析设计 测试设计 SIG-QA 在明确版本计划后,测试 SIG组长/Maintainer基于版本计划与需求列表,组织成员:
1.设计特性、版本测试策略,并设计特性、版本测试出口基线
2.设计开发特性、版本测试用例
3.测试策略通过TC评审
用例设计指导(待建)含用例级别、命名规范等 测试用例设计规范
测试用例评审checklist
/ 测试方案
测试用例
分析设计 构建设计 SIG-Infra 在明确版本计划后,SIG-infra组长/Maintainer基于版本计划与需求列表,组织成员:
1.审视现有构建环境及构建执行所需的软硬件资源是否满足版本需求,并设计修改构建环境
2.对构建工具、相关云服务进行选型
3.设计方案通过TC评审
/ / / 社区构建环境
社区构建工具
软件开发与构建 编码 Contributor Contributor基于软件架构设计方案,遵循社区代码贡献规范进行代码贡献,通常包括:
1.参与issue讨论,在社区内通过社区共识机制设计特性实现方案
2.参考编码实践中社区开源合规规范章节,对license、copyright、片段引用等事项进行设计,并签署CLA(CCLA)/DCO(开源贡献者协议),确保源代码不存在开源合规风险
3.建立个人分支,遵循语言编码规范与安全编码原则完成代码开发
/ 社区编码规范(2026待建)
软件工程质量要求最小集(待建)
安全编程指南
日志规范
/ 源代码
软件开发与构建 DT Contributor Contributor基于软件架构设计方案和代码实现,遵循开发者测试规范完成开发者测试用例设计且通过开发者测试。 / 软件工程质量要求最小集(待建) / DT测试用例
软件开发与构建 个人本地构建与检查 Contributor Contributor基于社区编译规范,完成:
1.本地编译与代码包构建,清理编译告警
2.进行代码检查,满足社区编码规范与安全编码原则
3.通过DT测试用例
4.进行代码开源合规检查,确保代码满足社区license规范与copyright遵循
/ 编译规范(待建) / 软件目标程序
DT测试结果
软件开发与构建 提交PR Contributor Contributor基于社区提交PR相关规范,完成:
1.(选择PR模板),基于代码实现目标,对提交代码关键信息(实现特性、bug修复、测试用例等)进行描述
2.关联对应issue
3.修改PR标签
4.(通过bot命令行),触发门禁检查
社区入门经验(提交PR章节) 社区PR规范 / 社区PR
软件开发与构建 门禁检查 Contributor Contributor在PR触发门禁检查机制,完成:
1.检查PR里未通过门禁项细则,对代码进行修改
2.社区bot基于门禁检查进度,自动更新PR标签
3.CI/CD平台提供构建结果的反馈,并完成到对应PR/Commit的追溯
门禁机器人命令参考指导 markdownlint检查规则
门禁说明(待建)
代码门禁要求(待建)
/ 门禁检查报告
软件开发与构建 code review SIG Committer SIG Committer基于社区Code Review指南与架构设计方案,完成:
1.(同其他Contributor)完成对代码质量的检视,确认其达到社区代码贡献质量要求
2.审核代码设计是否满足架构设计方案,对DT测试报告、门禁检查报告进行确认
3.参考Maintainer、Committer操作指导书中代码贡献场景,对代码的License遵从风险进行评估确认
4.参考社区命令行,评论出具审核意见(例 /lgtm /approve),代码达到合入标准需要2个Committer出具审核意见
5.社区bot基于审核意见以及相关命令行驱动,合并代码进入代码仓主干,刷新PR及关联issue状态
/ code review规范(待建) / 代码审核意见
软件开发与构建 合入 SIG Maintainer/SIG Committer 社区bot基于审核意见以及相关命令行驱动,合并代码进入代码仓主干,刷新PR及关联issue状态。代码达到合入标准需要2个Committer出具审核意见 / / / /
软件开发与构建 持续集成 SIG-Infra 1. 根据发行时间表进行版本自动化构建、打包
2. 成功构建生成的版本放到版本服务器,可供测试SIG进行测试。
3. SIG-Infra组长/Maintainer负责将版本对应的代码、持续集成环境基线化,并验证一致性,跟踪管理构建规范的落地。
4. 持续集成报告包括:构建结果、静态检查结果(代码检查与代码度量)、DT结果、开源片段引用(scanoss)等。
5. 要求每日至少一次成功构建
构建系统配置&运行指导(待建)
流水线配置指导(待建)
安全编译选项实施要求(Go) / 持续集成结果报告
软件开发与构建 构建BOM信息 SIG-Infra / / / / /
软件开发与构建 漏洞扫描 SIG-Infra 1 选择业界常见的安全扫描引擎.如Trivy,Clair,Aqua Security等。
2 镜像扫描需要集成到持续集成/持续部署(CI/CD)流水线中,确保更新时都进行安全扫描。
3 定期的镜像安全扫描,并确保及时更新基础镜像和依赖项.
4 使用同一安全镜像作为base镜像,确保依赖一致,漏洞及时更新。
/ / / 漏洞扫描结果
软件开发与构建 自动提交issue SIG-Infra / / / / 社区issue
软件开发与构建 漏洞上报 Contributor 1 内部上报:项目内成员提交ISSUE,添加“安全问题”标签。
2 外部上报:通过邮箱提交问题相关信息(openfuyao-security@list.openfuyao.cn)
安全问题处理和发布流程(安全问题收集章节)
openFuyao安全和披露说明(漏洞上报要求章节)
CVE issue提交指导
/ / 安全问题上报模板
CVE上报模板
软件开发与构建 漏洞响应 安全SIG 1 安全SIG联合特性SIG组,识别是否为新的安全问题。
2 提交安全ISSUE到对应的仓
3 对于外部上报的安全问题,确认后通知问题上报人。
安全问题处理和发布流程(安全问题确认章节)
openFuyao安全和披露说明(安全漏洞响应章节)
/ / /
软件开发与构建 漏洞修复 Contributor 1 成立问题修复团队人员,评估问题影响、制定问题响应说明、问题修复计划
2 申请CVE,并实施修复
安全问题处理和发布流程(修复团队/修复计划/修复开发章节)
漏洞严重性评估原则与步骤
/ / /
软件开发与构建 漏洞披露 安全SIG 1 (可选)联合release sig对发行商进行受限披露。
2 联合SIG-Docs将正式披露公告更新到社区页面。
安全问题处理和发布流程(修复披露章节)
进入受限披露列表标准
/ / 漏洞公告
软件开发与构建 社区版本配套文档编写 SIG-Docs SIG-Docs组长/Maintainer基于版本计划,组织成员遵循社区文档编写规范,对版本配套文档进行编写及维护:
1.审视现有版本开发者文档与新增特性,维护刷新开发者文档
2.(运用工具)生成Release Notes,并基于社区文档编写规范进行修改完善
3.对历史文档进行版本管理
文档贡献指导
文档编写快速入门指导
文档写作规范与门禁
markdownlint检查规则
/ 开源版本配套文档如:
OpenAPI 编写指南
开发指南
用户指南
测试验证 SIG特性测试 Contributor 特性SIG组长/Maintainer组织成员对持续集成构建版本进行特性测试:
1.对持续集成报告结果进行检视
2.基于版本发行计划与SIG计划,对特性进行测试验收
3.测试验收通过后,由特性/需求关联的SIG成员/社区bot与issue提交者进行沟通反馈,确认后修改issue标签,关闭对应issue
社区协同测试指南
缺陷类issue提交与处理流程
社区测试设计指南
/ 特性转测验收checklist xx SIG组特性测试报告
社区issue
测试验证 SIG特性测试评审 SIG-QA SIG-QA组织审视SIG特性测试报告,重点关注测试充分性、特性质量和关键遗留问题。SIG的测试报告结论需要作为SIG-QA版本测试报告的输入 / / / /
测试验证 版本集成测试 SIG-QA SIG-QA组长启动版本集成测试,重点验证系统级集成测试、跨SIG组的特性验证。
1.基于制定的版本测试策略,组织成员对构建成功版本软件以及配套文档进行质量评估,并综合SIG组的特性验证情况,输出版本测试报告。
2.Release Manager基于版本发布标准,确认版本质量达到质量、漏洞修复、病毒扫描、完整性、合规等各方面的发布标准
社区协同测试指南
缺陷类issue提交与处理流程
一致性认证机制(待建)
安全测试规范(待建) / 版本测试报告
社区issue
版本发布 发布评审 SIG-Release Management Release Manager组织评审会议,与TC以及各SIG组长/Maintainer对版本发布进行评审:
1.参考版本测试报告,对质量、安全、合规各方面进行评审,确保其满足社区版本发布标准
2.出具发布评审意见
版本发布评审规范(待建) / / 社区版本发布评审意见
版本发布 版本发布 SIG-Release Management Release Manager基于版本发行计划,参考发布流程指南:
1.对构建版本进行打tag标签
2.根据社区需求,上传二进制包、容器镜像等形式软件包,更新社区文档
3.在社区发布公告,开展后续运营活动
/ 特性发布成熟度管理规范 社区版本发布质量标准
版本发布网络安全质量要求
特性上车质量要求
社区版本发布公告
软件目标程序
开源版本配套文档
其他 安全 / / 社区安全保障策略总纲
安全问题处理和发布流程
openFuyao安全和披露说明
/ / /
其他 测试 / / 社区开发者测试贡献指南
测试体系说明
/ / /
其他 社区提案 / / oFEP 生命周期流程和状态说明 / / /