第二期 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

证书.jpg

后续新的贡献者我们也会同步到 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

💡 生态集成类任务可参考生态组件适配指南,步骤已经写得很清楚了。

怎么认领?

  1. 点击任务链接,进入 GitHub Issue 页面
  2. 评论区回复 /assign(第一个回复的人获得任务)
  3. 24 小时内回复“已开始”,就可以开工了
  4. 完成后提交 PR,等待导师 Review

规则速览

事项 说明
谁可以认领 所有人
每人最多 同时 2 个任务
完成期限 认领后 7 天
延期 可提前 2 天申请延期 1 次(+3 天)
超期 释放任务,冻结 2 个月认领资格

完成后的奖励

  • 📜 电子贡献者证书(GitHub ID 专属)
  • 🎁 社区周边礼品(T恤、数据线、冰箱贴等,进阶任务奖品更丰厚)

有疑问怎么办?

在 Issue 下直接留言就行,导师会在 48 小时内回复。不用怕问题“太小白”——每个人都是从这个阶段过来的。

还有奖金可以拿!

如果你还想获取奖金奖励,那就可以同时报名这个活动:

乌镇.png

报名比赛后,只要认领并完成上述任一任务、PR 被合并,就可以叠加获得比赛方提供的现金奖金,同时依然享有 IvorySQL 的证书和周边。

👉 报名链接https://www.taiyi.top/competition-details?id=5068cc91-7119-11f1-b193-02420a000011

开源没有门槛,只差一个开始。
选一个任务,回复 /assign,剩下的有导师帮你。我们等你。

posted @ 2026-08-22 09:44  IvorySQL  阅读(4)  评论(0)    收藏  举报