第二期 Good First Issue 来啦!第一期迎来 4 位新贡献者,下一张证书会是你的吗?
前不久,我们发起了第一期 Good First Issue 活动,整理了 10 个新手友好任务。说实话,一开始我们也有点忐忑——真的会有人来认领吗?
结果超出预期。
最终,5 个 PR 被成功合并,迎来了 4 位新贡献者;另外还有 2 个 PR 正在审核中。
一起来看看第一期小伙伴们的成果:
| 贡献者 | 完成任务 | 状态 |
|---|---|---|
| @goeason-world | [#1479] 清理死代码 + [#1162] 修复 sprintf() 溢出 | ✅ 2 个 PR 已合并 |
| @lispking | [#1478] ivy_guc.c 不符合 GUC 规范 | ✅ 已合并 |
| @ai-yang | [#1481] REGEXP_COUNT 返回值错误 | ✅ 已合并 |
| @digoal | [#1482] 死分支与误导性分支清理 | ✅ 已合并 |
| @messere1 | [#1118] 生态集成 pgpool-II + [#1105] 生态集成 pgnodemx | 🔄 2 个 PR 审核中 |
恭喜以上小伙伴!已合并 PR 的同学可以在这里领取电子证书:
👉 https://github.com/IvorySQL/community/tree/main/certification-2026

后续新的贡献者我们也会同步到 IvorySQL 官网的贡献者墙:https://www.ivorysql.org/zh-cn/contributors
现在,第二期正式启动!
这次我们准备了 6 个任务,从入门级到进阶级都有。无论你是第一次接触开源,还是已经有一些经验,都能找到适合自己的那一题。
第二期任务清单
📄 入门级 · 适合第一次参与开源
任务 1:#1707 exit_nicely() 参数检查问题
- 难度:⭐
- 时间:1-2 小时
- 技能:C 语言基础
问题很简单:exit_nicely() 的参数列表写的是 () 而不是 (void),导致编译器跳过了参数个数检查。改一行声明就行,是熟悉 Git 提交流程的绝佳练手机会。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1707
💻 进阶级 · 适合有一定开发经验
任务 2:#1709 make maintainer-clean 清理不彻底
- 难度:⭐⭐
- 时间:3-5 小时
- 技能:Makefile / Meson
执行 make maintainer-clean 后还有残留文件,导致后续用 meson 编译失败。需要找到遗漏的文件并把清理规则补全。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1709
任务 3:#1710 DBMS_UTILITY.FORMAT_ERROR_BACKTRACE 在包初始化时显示错误
- 难度:⭐⭐
- 时间:3-5 小时
- 技能:C / 数据库基础
在包初始化块中调用错误回溯函数,返回的限定名称不对。需要找出调用链路中哪个环节丢失了正确的名称信息。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1710
任务 4:#1708 CREATE PACKAGE BODY 所有者检查缺失
- 难度:⭐⭐
- 时间:6-8 小时
- 技能:C 语言基础
首次执行 CREATE PACKAGE BODY 时没有检查所有者,存在安全隐患。需要在代码中找到创建逻辑的入口,补上权限校验。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1708
任务 5:#1712 移除废弃的 IVY_GUC_ENUM_PARAMS 宏
- 难度:⭐⭐
- 时间:6-8 小时
- 技能:C / PG 内核知识
PostgreSQL 19 修改了 GUC 参数的定义方式,这个宏已经没用了。需要把它的定义和所有引用全部清理干净,顺便熟悉一下 PG 的 GUC 机制。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1712
任务 6:#1717 sys.to_date(text, text, text) 解析逃逸
- 难度:⭐⭐
- 时间:6-8 小时
- 技能:C / PG内核知识
sys.to_date(text, text, text)函数的C实现为解决编译警告引入的逻辑错误,第3个参数为空字符串时错误跳过时间解析。
🔗 https://github.com/IvorySQL/IvorySQL/issues/1717
💡 生态集成类任务可参考生态组件适配指南,步骤已经写得很清楚了。
怎么认领?
- 点击任务链接,进入 GitHub Issue 页面
- 评论区回复
/assign(第一个回复的人获得任务) - 24 小时内回复“已开始”,就可以开工了
- 完成后提交 PR,等待导师 Review
规则速览
| 事项 | 说明 |
|---|---|
| 谁可以认领 | 所有人 |
| 每人最多 | 同时 2 个任务 |
| 完成期限 | 认领后 7 天 |
| 延期 | 可提前 2 天申请延期 1 次(+3 天) |
| 超期 | 释放任务,冻结 2 个月认领资格 |
完成后的奖励
- 📜 电子贡献者证书(GitHub ID 专属)
- 🎁 社区周边礼品(T恤、数据线、冰箱贴等,进阶任务奖品更丰厚)
有疑问怎么办?
在 Issue 下直接留言就行,导师会在 48 小时内回复。不用怕问题“太小白”——每个人都是从这个阶段过来的。
还有奖金可以拿!
如果你还想获取奖金奖励,那就可以同时报名这个活动:

报名比赛后,只要认领并完成上述任一任务、PR 被合并,就可以叠加获得比赛方提供的现金奖金,同时依然享有 IvorySQL 的证书和周边。
👉 报名链接:https://www.taiyi.top/competition-details?id=5068cc91-7119-11f1-b193-02420a000011
开源没有门槛,只差一个开始。
选一个任务,回复 /assign,剩下的有导师帮你。我们等你。

浙公网安备 33010602011771号