各位学弟学妹们,参与Apache顶级开源项目并没有想象中的难

在笔者出版《RocketMQ技术内幕》后,并随着分享了60篇+的RocketMQ相关文章,在B站与官方联动组织了RocketMQ源码分析视频后,我被官方授予RocketMQ优秀布道师,也是明证言顺的参与了一个Apaceh顶级开源项目。

在这里,和大家一起来分享一下关于如何参与一个开源项目。

参与开源项目的方式并不只提交代码,也可以做开源项目的布道师。

所谓的布道师,主要的职责的是为开源项目的推广做贡献,例如写书、写博客、出视频,参与文档编写等。

关于我是如何成为RocketMQ社区优秀布道师,大家可以看这篇文章:

我的另一种参与 RocketMQ 开源社区的方式

接下来我重点说一下大家关注的贡献代码这种参与开源项目的方式。

开源项目一般的成长史,有如下几个基本的角色:

  1. Contributions
    这种就是很容易获得,只需要提交一个PR并被官方合并到主分支即可获得,例如提交一个文档,修改几行代码就行。

  2. Commiter
    核心开发,对贡献特别大的 Contributions,官方社区会考虑将其吸收,提升到commiter,成为核心开发。

  3. PMC
    开源项目决策成员。

通常我们能够成为一个开源项目的Commiter,足以打造我们的专属影响力,那我们如何成为一个开源项目的Commiter呢?

首先,我们要学会寻找自己感兴趣并且有所作为的开源项目。

  1. 我个人觉得应该选择一个相对知名,并且这个项目能解决日常工作中某一个痛点,即这个项目后面拥有比较好的推广前景,是一个容易被企业落地并产生价值的项目,这样才能提高自己的身价,提高自己的知名度。
    如果是一个小众的项目,很少被企业用到,这个给自己带来的提升就相对有限。
    我当时在2016年选择Mycat,也有这方面的原因,因为当时Mycat在分库分表方面还是挺有知名度的,并且很多大厂也在使用,也早就了我后面通过Mycat社区完成了我职业生涯最关键的转折。

  2. 要选择一个正在发展中的项目,如果该开源项目已经相对成熟,想发展成为commiter的难度会很大。
    一个正在发展中的项目,一切都还不成熟,需要进行大量的重构与开发,这样我们的机会就来了。我在2016年开始选择Mycat作为我参与的第一个开源项目,就是因为一大批核心开发陆续离开,是一个“草根”团队在维护,很容易“混”PR。
    通过Mycat实现了自己职业生涯的目标后,我并没有继续研究Mycat,而是开始研究市面上最新的技术,例如Rocketmq,选择热门的项目,才能价值最大化。

一旦选择好一个开源项目后,我们又该如何介入呢?

  1. 阅读官方文档,全面了解该项目的架构设计文档,解决的问题域
  2. 阐述编写或完善一些模块的单元测试,测试驱动开发,熟练掌握核心模块
  3. 从Issue
    选好一个开源项目后,通常先了解该项目的整体情况,去看看正在open的issue,并将其解决,修复一些bug。
  4. 通过上面3个步骤对其详细了解后,可以开始认领功能级的任务,向commiter发起冲击。

行动不如行动,赶紧行动起来,成为一个开源项目,特别是顶级开源项目的Commiter,给你带来的职场助力将不可估量,轻松进入BAT等一线互联网企业,加油。

掌握一到两门java主流中间件,是敲开BAT等大厂必备的技能,送给大家一个Java中间件学习路线,助力大家实现职场的蜕变。

Java进阶之梯,成长路线与学习资料,助力突破中间件领域

你的点赞,关注、收藏是最对我最大的认可与帮助,一起加油吧。

最后分享笔者一个硬核的RocketMQ电子书,您将获得千亿级消息流转的运维经验,助你轻松打造自己的职场亮点
在这里插入图片描述
获取方式:RocketMQ电子书。

你可能感兴趣的:(职场感悟)