1. IvorySQL社区协作流程
IvorySQL 社区采用一套 闭环式开源协作流程,确保从问题提出到版本发布,每一个环节都能闭合反馈、持续改进。这一流程鼓励用户与开发者形成良性互动,让社区开发始终围绕实际需求持续演进。
整个协作闭环流程如下:
🐛 提问题(Issue)
用户或开发者在 GitHub 的 Issues 页面提交 Bug、功能建议或使用反馈。
💬 问题讨论(Discussion)
维护者与社区成员就问题展开讨论,确认问题性质与优先级,加入 ToDo List。
🛠️ 开发分支(Fork & Dev)
开发者认领 Issue,Fork 仓库并在本地开发测试,准备提交代码。
🚀 提交 Pull Request(PR)
将开发分支 Push 到 Fork 仓库后,向上游仓库发起合并请求。
🧐 代码评审(Review)
维护者或核心开发者对 PR 进行评审,提出修改建议并确保质量。
🔀 合并主分支(Merge)
审核通过后,PR 被合并至主分支,对应的 Issue 被关闭。
📦 版本发布(Release)
项目定期发布新版本(每季度小版本,每年大版本),包含最新的修复与功能。
🧪 用户测试(Test)
用户升级使用新版,反馈新问题,新的 Issue 随之产生,形成完整的反馈循环。
通过这套完整的闭环协作机制,IvorySQL 实现了问题响应 → 开发贡献 → 质量保障 → 发布反馈的全流程闭合,推动项目持续健康演进。
2. IvorySQL社区贡献指南
IvorySQL是一个由核心开发团队主导、社区共同维护的开源项目。我们欢迎用户、贡献者和维护者的加入,共同推动IvorySQL的发展。如果您希望看到您的代码或文档更改被添加到IvorySQL并出现在将来的版本中,本节的内容介绍是您需要知道的。
在参与贡献前,请确认您当前的参与身份,以便更高效地了解适合您的贡献方式:
-
用户 👉 欢迎提交问题反馈、功能建议,并参与社区讨论。
-
贡献者 👉 请先签署 CLA,然后选择您感兴趣的项目模块进行 Issue 认领和代码提交。
-
维护者 👉 请参考维护职责,包括社区规划、代码评审和协作机制建设。
无论您以何种身份加入,IvorySQL 社区都非常欢迎您的参与和支持!IvorySQL社区欢迎并赞赏所有类型的贡献,期待您的加入!
📢 请务必阅读并遵守我们的 IvorySQL社区行为准则。
2.1. 注册Github账号
无论您是要提交 Issue、参与讨论,还是贡献代码与文档,您都需要使用 GitHub 账号登录并与 IvorySQL 项目进行交互。
请参考https://docs.github.com/en/get-started/start-your-journey注册您的github账号,并熟悉Git工具和工作流。
IvorySQL源码托管在github: https://github.com/IvorySQL。
2.2. 用户
作为用户,您在使用 IvorySQL 过程中扮演着重要角色。我们鼓励您:
2.2.1. 反馈问题与需求
-
发现 Bug、性能缺陷或文档不准确?
-
有新的功能建议或使用体验改进?
如果您准备向社区上报 Bug 或者提交需求,请在 IvorySQL 社区对应的仓库上提交 Issue,并参考Issue 提交指南。
2.3. 贡献者
我们欢迎代码、文档、测试等各类贡献。
2.3.1. 签署CLA
在提交代码或文档贡献之前,为了确保代码合法合规,个人或企业贡献者需要签署贡献者许可协议(CLA)。签署CLA是IvorySQL社区接受贡献的必要条件,以确保您的贡献被合法分发。请根据下列链接下载CLA进行签署并将签署后的CLA发送至 cla@ivorysql.org。
未签署CLA的Pull Request将无法进入评审阶段。
2.3.2. 找到您感兴趣的项目
我们将仓库划分为多个子项目,您可以从如下列表中找到感兴趣的项目及其代码仓库
代码仓库 |
描述 |
负责社区IvorySQL数据库的开发和维护 |
|
负责社区的官网开发和维护 |
|
负责IvorySQL云原生数据库及周边工具开发和维护 |
|
负责IvorySQL多架构的镜像构建开发和维护 |
|
负责IvorySQL云服务平台及周边生态开发和维护 |
|
负责社区的文档中心开发和维护 |
|
负责Ivorysql_docs的编译 |
|
负责社区的文档中心网站维护 |
|
负责IvorySQL在线易用体验网站的开发和维护 |
2.3.3. 给自己分配Issue
您可以将自己创建的Issue或者愿意处理的Issue分配给自己。 只需要在评论框内输入/assign,机器人就会将问题分配给您。 每个 Issue 下面可能已经有参与者的交流和讨论,如果您感兴趣,也可以在评论框中发表自己的意见参与 Issue 讨论。
2.3.4. 开发与提交Pull Request
对于提交一个PR应该保持一个功能,或者一个bug提交一次。禁止多个功能一次提交。
2.3.4.2. 编码
使用如下命令将项目克隆到本地进行开发:
git clone https://github.com/$user/IvorySQL.git (将 $user 替换为你的 GitHub ID)。
git checkout -b feature/your-feature-name
在提交代码前,请确保通过回归测试
2.3.4.3. 创建一个Pull Request并提交
打开你 Fork 的仓库: https://github.com/$user/IvorySQL.git
点击 Compare & pull request 按钮填写PR信息
Fix test
功能描述
leave a comment
对该提交功能进行比较详细的描述
点击Create pull request 按钮即可提交。