第 5 小节:如何找到适合的项目进行贡献
前言
说到“如何找到适合的项目进行贡献”,首先,我们先来聊一聊:什么是所谓的「适合的项目」?
比如青春时代的你,偶然邂逅了一见钟情的 Ta;
比如快意江湖的你,身边结识了意气相投的朋友;
- 比如唱着单身情歌的你,在 Starbucks Coffee 等待着第一次见面的相亲对象
正所谓「最贵的未必是最好的,最适合的一定是最好的」,这句话放在寻找开源项目上也适用。
想要找到适合自己的开源项目,首先要了解自己。
想象一下,你要追求爱慕已久的女神,或者要结识志同道合的朋友,是不是需要了解女神的爱好,朋友的秉性?
哪怕一次不确定的相亲,也会打扮得衣冠楚楚。可能最后未必合适,那么喝完这杯 Starbucks,咱们就此别过,好聚好散。
OK,刚才我们用通俗易懂的类比向大家说明了什么叫「适合」,接下来我们言归正传。
目的
首先,要明确参加项目的初衷和目标。下面列举了一些例子,供大家参考。
- 对某个项目仰慕已久,想要「掀起她的盖头来」(听说或见过,想要深入了解开源项目)
- 工作中使用到某个项目,日久生情,愿意做彼此的欢喜冤家(工作中经常使用,但也会遇到棘手的问题,喜提 Issues)
- 抱某个项目的大腿,成为一名牛x哄哄的 Contributor(想要提升自己内力,以及职业生涯的含金量)
没有什么喜欢的项目,随便看看(了解前瞻性技术,保持技术新鲜度)
……
下面就带着这些目标,开始「按图索骥」。
方法
寻找项目信息的渠道
- 从开源网站寻找
- 比如:Github、GitLab、Gitee、OSChina、CSDN、InfoQ 等
- 参加技术沙龙
- 比如:中国软件技术大会、Pivotal 技术峰会、各种 Meet Up 等
- 加入技术讨论群
- 比如:QQ 群、微信群、钉钉群等
- 和身边人沟通
- 比如:老师、同学、同事、朋友
匹配合适项目的维度
从个人兴趣着手
- 兴趣是最好的老师。为自己感兴趣的开源项目做贡献,会更加充满热情和动力。
从个人技术栈着手
- 比如:C、C++、C#、Java、Python、Golang 等。符合自己的技术栈,这个是最起码的要求,总不能选一个自己都不了解的语言项目进行贡献。
从工作需求着手
- 选择在工作和学习中使用比较多,比较熟悉的项目。这样你在动手修改它的代码之前就已经对它有了充分的了解,至少你是熟悉这个项目的各类使用方式和接口。
- 各个模块耦合性比较低的项目,比如组件库、工具库,容易找到入手点。如前端所使用的 Element UI ,Antd UI 组件库。组件库的耦合性较低,向组件库增加或修改某一个组件也较为方便。同时工具库也是一个不错的选择,新增或修改某一个功能也较为容易。相反,模块之间耦合性比较大的项目可能就不太合适,比如各种大型的框架,这类开源项目耦合性较高。
参与项目贡献的方法
- 成为 Contributor,参与项目代码维护与功能迭代;
- Fork 项目,向项目提交 PR;
- 提交和解答 Issues,积极参与项目讨论,保持社区活跃度;
- 在工作使用中进行过扩展,并且经受过生产实践,就可以将代码贡献到对应的开源项目中;
- 积极推广项目落地,包括公司内部、各技术群等。
参与项目贡献的注意事项
- Issues
- 按照项目要求的格式提交(格式要求、内容要求、语言要求等)。
- Code
- 按照项目要求的编码规范编写代码(代码缩进、代码换行等);
- 项目一般会提供不同 IDE 对应的配置文件,达成代码格式统一。
Comment
- 按照项目要求的格式编写注释(代码注释、Git 提交注释等)。
沟通
- 沟通是项目发展的基石,多和一个项目的朋友 say hello。
写在后面
本文带大家了解了什么是适合的项目?寻找项目信息的渠道有哪些?如何为自己匹配合适的项目?
并为大家提供了参与项目贡献的常见方法和注意事项,供大家参考。
希望大家通过阅读本文,可以找到适合自己的开源项目,为你的开源项目添砖加瓦!
更多优质建议
欢迎大家积极参与补充!