非核心开发的Apache committer路

265 阅读4分钟

image.png GithubID:mxsm Apache mxsm目前是Apache EventMesh committer, Apache RocketMQ 活跃贡献者(PR排前几)。下面就来讲讲一个公司非核心开发的开源路。参与的开源项目:

为什么做开源

开始做一件事情总会有一个契机,我做开源的契机其实很简单:作为一个非核心开发,每天都在各个产品线打酱油。很多人可能会问难道不能稳定在一个产品线或者一个项目,我也想奈何理想很丰满现实很骨感。常年在各个项目进行救火式开发。 短则一两个月多则几个月。所以最开始的想法就是想通过做开源来找到自己的自信心和价值。然后就开始在GitHub上找自己感兴趣的项目进行研究,开源的第一个项目:openmessaging dledger

新手的挑战

拦路虎-英语

做开源首先面临的挑战就是英语(四级没过),你会发现大部分的开源项目都是英文,这里包括:文档ISSUE, PR 等等。例如Apache的顶级项目至少有英文文档,但是随着国内的开源的进行越来越多的优秀项目在Apache孵化,成为顶级项目很多项目都有了中文文档。其次就是在ISSUE 的提交过程中需要用英文进行描述,可能难道很多人。其次就是PR提交,在代码Review的情况下很多代码Review的人用的都是英文进行描述和提问等等。但是随着现在越来越多的翻译软件这些都已经不是问题,同时也自己学习一下英语也是一个很好的契机。慢慢的你会发现查看英语文档也不是那么的吃力。

万事开头难

其次就是很多人是不知道如何参与开源,完全摸不着头脑。对于参与开源的方式很多:

  • 编写代码(主要方式)

    作为一个开发编写代码参与是最直接的方式,那么这里也有几个点:新的功能开发,现有功能优化,bug修复等等,你能想到的都可以去尝试。作为一个新手可以关注项目中代码 Good First issue 标签的ISSUE。 这样的ISSUE难度相对来说比较低适合新手

  • 文档的编写

    文档也是项目的一部分,给项目编写文档也是参与开源的一部分

  • 代码Review

    去社区参与代码Review

打开开源潘多拉魔盒

克服了上面各种问题,当openmessaging dledger提交的第一个PR被merge,内心的那种喜悦和激动无法言语。随着开源潘多拉魔盒被打开,就开始慢的深入的研究和做一些更深入的研究开发。这里可能有自己对项目的优化想法也有社区发布的开发任务。

2. 什么让我坚持开源

是什么让我坚持下来做开源?坚持的理由随着自己参与开源也慢慢的发生变化,最初参加开源是为了证明自己,然后发现如果成为Apache Committer开源获取到Apache的邮箱,这样就能够免费使用IntelliJ IDEA 成为Apache Committer就是坚持的动力。每天有时间就会去研究项目的源码关注社区发布的开发任务等等。当随着成为了Apache Committer后就会想着能够为社区做些推广,作为一个开发人员参与更多的开发学习开发过程中需要的知识等等。

参与开源的过程也是自己的一个不断学习和丰富自己的过程。

下面是最近一年的Github的代码提交图:

image.png

已经记不清多少次在凌晨提交代码,上完班回到家打开电脑继续做开源的工作。

3. 开源给我带了什么

  • 最实际的就是成为了Apache Committer后用了apache邮箱后可以免费使用IntelliJ IDEA ,这样一年就能剩下一笔购买软件的费用。作为一个Java开发者,这个基本上现在所有人的首选
  • 认识了一批行业的大佬,拓宽自己的眼界。
  • 不断的学习补不足,因为在开发过程中很多的知识可能需要你去学习,然后运用到开源的开发中解决问题。

4 开源欢迎你

对于想做开源的欢迎各位来 Apache EventMeshApache RocketMQ 为开源添砖加瓦