OceanBase 于 2021年6月1日 开源,到现在也已经一年有余了,在开源社区的贡献者大家庭中,不乏行业翘楚和技术大拿。
从今年3月底开始整日“混迹”于 OB 社区算起来,也有小三个月了。在开源社区里,大家总是希望找到自己的存在感和归属感的,所以今天我想跟大家聊聊,我的第一行 OceanBase 代码提交的感受,以及社区贡献的各种途径。
“花样繁多”的贡献方式
首先我们按照常规的思路来聊,作为一个正经的开源数据库社区,OceanBase 在社区建设上做的已经蛮不错,为了给大家提供一个多元化的社区环境,运营团队可谓是费尽心思。
从技术角度上划分,社区参与方式可以分为 [代码] 与 [非代码] 两种参与方式。
- 代码参与方式当然是对 OceanBase 及其周边开源产品提交代码修复;
- 非代码参与方式包括技术文档完善、技术文章撰写、技术问答贡献、技术社区问题解决等。
看到这里,可能有的小伙伴会比较反感,为什么非要把社区参与拆分开来呢???什么代码非代码的啊???真想一枪毙了你!!!哈哈哈
的确,在 OceanBase 社区里,只要大家持开放的态度,积极参与,都是“社区的贡献者”。
下面就让我们站在所有人的角度上,看一看社区贡献的途径:
1.Meetup 参与
OB 社区为了给大家创造更多学习的机会,每月都会举行几次线上线下分享活动。比如下图,是6月19日深圳 Meetup 的部分海报截图:
贡献途径:
- 您可以将活动海报分发到朋友圈,邀请三五好友一起学习;
- 您可以报名参加现场/线上技术讨论,积极提问;
- 您可以在事后填写反馈单,将您感兴趣的内容或活动的不足反馈给社区;
- 您可以发表学习贴,与志同道合的朋友继续讨论。
只要您积极参与到活动中,大家就都是朋友了,虽未蒙面却有着共同的爱好。
2.活动参与
OB 社区会不定期举办各种各样的活动,让大家多元化的参与社区。比如近期举办的一些活动:
- Gitee 技术征文大赛 - blog: oceanbase博客仓库
- 摩天轮征文大赛 - https://mp.weixin.qq.com/s/DKUmpLHz-py2iyYogfrYvQ
- 文档提升计划第二期 - OceanBase 社区
这些活动相比于参与 Meetup,可能需要花费更多的时间,但是大家的收获也是对等的,通过参加活动,大家可以回顾自己的技术,学习文档中新的知识,反过来对社区也有促进作用,可以说是双赢。下面附上一张文档捉虫群的二维码,方便各位加入:
3.论坛与群组
随着大家参与深度的增加,大家的技术积累也会越来越深厚,这时候大家肯定要蠢蠢欲动了。那么论坛与群组技术交流是最好的解决方式。通过在论坛中发帖、回帖、点赞,积累知识厚度;通过在钉钉/微信群组中插科打诨,帮大家实时解决问题,扩展知识宽度;这样的社区进阶方式,谁能不爱呢?
- 问答社区 - https://ask.oceanbase.com/
- 社区钉钉群 - 群号:33254054
4.贡献代码
技术社区的终极目标,可以说代码贡献无疑了。OceanBase 的主仓库位于 GitHub,同时为了方便大家,在 Gitee 上也有一份同样的镜像;在这里面,有 27 个 Repo,大家可以任选一个感兴趣的模块进行代码贡献。
如果您当前还不太熟悉如何提交 issue 和 pr,可以参与一下社区的 [文档提升计划] 活动呀,文档提升计划虽然不属于代码范畴,但是通过这个活动,会让您熟悉 Git 的使用和代码提交的流程。这里我也为大家特意撰写了一些帖子,方便大家对 Git 流程有所熟悉:
- 文档提升 FAQ - OceanBase 文档提升计划第二期 FAQ
- Gitee 征文 FAQ - Gitee 技术征文大赛提交方法
第一次尝试
有了第一部分的介绍,大家一定对社区参与有了整体的认识啦。下面我要说一下我的个人代码贡献经历了。
在 OceanBase 的学习过程中,我开始对 obd 的印象最深刻,这工具真是太好了,一个命令可以做很多很多工作,包括镜像仓库管理、集群初始化、集群状态查看、集群销毁、增加节点等等。所以我特意去 Github 上扒了一下代码下来看看。好巧不巧,我发现了一个问题,如下图,这个 pr 确实只有一行代码,仿佛就是为了写今天的文章准备的(冥冥中的安排):
大家看了什么感受? 我当时的第一反应是,是不是我的理解错了,官方对这个逻辑有什么特别之处? 于是我尝试提交了一个 pr,没想到最后合并进去了。有点意外,也有点开心。
现在回想当时的举动,还是蛮感谢那个愿意去尝试的自己~
“勿以善小而不为”
最后谈谈对社区贡献的一些个人感悟吧,正如标题所说,“勿以善小而不为”。开源社区建设不易,社区建设者,有时候是出于一时冲动,有时候确实经过深思熟虑。一旦他们在运行过程中遇到困难,也会产生自我怀疑。所以如果大家感觉这款产品还值得去尝试一下,那就请全力以赴吧。引用朋友圈的一位开源产品作者最近的动态,大家应该也能感受到他的无奈吧:
回想起刚接触 OB 社区,与段老师的谈话,段老师问我对开源社区有什么希望(或者可以理解为对 OB 社区)。我说:我希望我全力以赴的产品,不要有一天闭源了,大家不要不想做了,那样我会很失望。段老师的回复很克制:任何开源产品都有自己的生命周期。
不管产品如何发展,至少现在我们遇到了,既然遇到了觉得还不错(我说的也很克制啊,OB世界第一,可不是还不错,是很不错哈哈),那就索性在一起过吧。说不定过着过着,这日子就会越来越好。
最后的最后,希望更多的人通过一行代码、一行文档的 pr,找到自己在 OB 社区的归属感,大家共同学习,共同进步。