openGauss 是一个开源社区,完全依赖于社区提供友好的开发和协作环境。

在参与社区贡献之前,请先阅读并遵守openGauss 社区行为守则。

1. 注册 AtomGit 账号 ​

openGauss 源代码托管在AtomGit:https://atomgit.com/opengauss

请参考 https://docs.atomgit.com/docs/start/quick 注册您的AtomGit账户,并在 http://atomgit.com/setting/email 设置您的主邮箱。

2. 签署 CLA ​

在参与社区贡献前,您还需要签署openGauss 社区贡献者许可协议(CLA)。

3. 找到您感兴趣的 SIG ​

openGauss 社区按照不同的 SIGs(Special Interest Groups)来组织,以便于更好的管理和改善工作流程。 SIG 是开放的,欢迎任何人加入并参与贡献。每一个 SIG 在AtomGit上拥有一个或多个代码仓库。 您可以在 SIG 对应的代码仓库上提交 Issue,参与 Issue 讨论,提交 Pull Request,参与代码检视等。 您可以从如下的 SIG 列表中找到您感兴趣的 SIG。

SIG 名称职责范围订阅邮件列表
SQLEngine负责 openGauss 社区 SQL 引擎的开发和维护。sqlengine@opengauss.org
StorageEngine负责 openGauss 社区存储引擎的开发和维护。storageengine@opengauss.org
Connectors负责 openGauss 社区 Connectors 的开发和维护。connectors@opengauss.org
Tools负责 openGauss 社区工具的开发和维护。tools@opengauss.org
Docs负责 openGauss 社区文档的开发和维护。docs@opengauss.org
Infra负责 openGauss 社区基础设施的开发和维护。infra@opengauss.org
Security负责 openGauss 社区安全的开发和维护。securities@opengauss.org
OM负责 openGauss 安装部署的开发和维护。om@opengauss.org
IoT负责 openGauss IoT 开发和维护。iot@opengauss.org
In-place Update负责 openGauss 社区 in-place update 引擎的开发和维护。inplaceupdate@opengauss.org
AI负责 openGauss 社区 AI 的开发和维护。ai@opengauss.org
GIS负责 openGauss 社区地理信息系统的开发和维护。gis@opengauss.org
CloudNative负责 openGauss 社区云原生方向的开发和维护。cloudnative@opengauss.org
SecurityTechnology负责 openGauss 社区数据库安全技术的开发和维护。securitytechnology@opengauss.org
Certification负责 openGauss 认证流程、测试套件的定义和开发。certification@opengauss.org
Plugin负责 openGauss 插件机制的规划、管理、开发等。plugin@opengauss.org
Blockchain探讨区块链的业务场景,研究区块链的核心技术问题。blockchain@opengauss.org
DCF负责 openGauss 社区分布式一致性框架 DCF 的开发和维护。dcf@opengauss.org
QA负责 openGauss 社区版本质量相关的开发和维护。QA@opengauss.org
Graph负责 openGauss 社区统一存储和查询的知识图谱数据管理功能。graph@opengauss.org
ReleaseManagement社区协同各 SIG maintainer,规划 openGauss 社区版本的发布工作,为最终的竞争力目标达成负责。releasemanagement@opengauss.org
CM为 opengauss 数据库提供了主备的状态监控、网络通信故障监控、文件系统故障监控、故障自动主备切换等能力。cm@opengauss.org
OPS聚焦 openGauss 维护能力建设,提升产品运维能力,总结和传递运维经验。ops@opengauss.org
KnowledgeGraph围绕知识图谱全生命周期:构建、存储管理与应用环节开展研究。knowledgegraph@opengauss.org

感兴趣的 SIG 组还未出现? ​

新的 SIG 组等你来发起!欢迎发送申请邮件至:tc@opengauss.org ,邮件申请模板请参考https://atomgit.com/opengauss/tc/blob/master/sigs/Template/README.md 。

4. 开始您的贡献 ​

4.1 给自己分配 Issue ​

首先找到 openGauss 社区的 Issue 列表:https://atomgit.com/org/opengauss/issues 如果您愿意处理其中的 Issue,您可以将它分配给自己。 只需要在评论框内输入/assign,机器人就会将问题分配给您。 每个 Issue 下面可能已经有参与者的交流和讨论,如果您感兴趣,也可以在评论框中发表自己的意见参与 Issue 讨论。

4.2 提交 Issue ​

如果您准备向社区上报 Bug 或者提交需求,请在 openGauss 社区对应的仓库上提交 Issue。 如果您不清楚 Bug 或者需求属于哪个仓库,请在 openGauss 社区Community 仓库提交 Issue。 您也可以以 Issue 的方式为 openGauss 社区贡献自己的意见或建议。 提交 Issue 请参考Issue 提交指南。

4.3 提交 Pull Request ​

提交 Pull Request 请参考 openGauss 社区 Pull Request 提交指南。 如果一次提交的代码量较大,建议将大型的内容分解成一系列逻辑上较小的内容,分段进行提交会更便于代码检视。 如果您的 Pull Request 没有引起足够的关注,可以通过对应 SIG 的邮件列表或 IRC 频道求助。

4.4 检视代码 ​

openGauss 作为一个开放的社区,我们希望所有参与社区的人都能成为活跃的检视者。 检视代码请参考补丁审核的柔和艺术。

5. 社区角色 ​

我们欢迎所有人参与 openGauss 社区贡献,我们的目标是发展一个由贡献者组成的活跃、健康的社区。关于 Maintainer、Committer 等社区角色,请参考openGauss 社区角色介绍。