参与项目共建
既然来到了这里,相信你多多少少是对参与共建有所兴趣的,因而要先感谢你一下!
本文档的职责是帮助任何对共建感兴趣的人弄清楚该如何贡献自己的力量。
虽然 OpenBuild 生态中各个项目在贡献时的具体细节会有差异,但大体上是一致的,因此正确的打开方式应当是:
- 认真地看完本文档,了解整体思想后选出想要贡献的项目;
- 到目标项目的官网或 GitHub 仓库中仔细阅读相关文档。
那么,就按照下面的说明跟着来吧!
挑选项目
毋庸置疑,第一步当然是得决定自己到底要参与到哪个项目中,影响决策的因素主要有:
- 是不是要练习并巩固自己在某方面新学的知识与技能?
- 是不是要学会前沿的思想或技术栈以便于找到更好的工作?
- 是不是要基于某个理念去实现自己的理想?
在思考并得到这几个问题的答案后,到项目列表页以各类标签作为筛选条件,过滤出在你期望范围内的项目,从中确定将要贡献的。
找到切入点
在决定了要贡献的项目后,如何真正有效地参与进去很重要!
当然,可以选择把代码库克隆到本地后,运行起来挨个功能去测试并了解,或者从「入口」文件开始通读代码;但这无疑是一种相对低效的方式,且了解过、看过的地方不会有很深的印象。
一个更好的方式是「以解决问题为导向」去切入,也就是找到目标项目接下来要解决的问题,如缺陷、新需求,将其视为自己的任务去完成并提交代码。
对于刚接触项目的人来说,要找到这些「问题」,可以到项目 GitHub 仓库或组织的「Issues」与「Projects」中查找——前者一般用来管理缺陷,后者则是需求或其他要做的事。
如果没找到,会有几种可能:
- 完美到无缺陷;
- 协作流程不规范;
- 没打算让别人参与;
- 停止维护了。
具体是哪种情况,还得是你自己通过 issue 或项目负责人 GitHub 主页上的联系方式等去询问。
若是后两种情况,还请也告知我们一下。
提交代码
当找到要去解决的问题后,你可将对应 issue 的「Assignees」字段设置为自己,表示「我领取这个任务了,并承诺会尽快完成」——前提是该 issue 尚未被其他人认领。
接着,你就要踏上「探险之旅」,去做任务了!
此时,你极大可能并没有权限直接向代码库推送代码,因而需要先把它 fork 到自己名下,再将其克隆到本地。
想必你已经蠢蠢欲动了,恨不得立马变出八只手来快速完成任务——但请先别急,留意下目标项目关于贡献代码的说明,如:应该基于哪个分支开发?开发环境该怎么配置?
当你在指定分支基础上创建出自己的开发分支,并正确配置好开发环境后,那么就可以正式开始做任务啦!
并非仅仅代码写完就是完成任务了,在提交前还要尽可能全面、严谨地自测,这既是为自己所写的代码负责,也是减少无效沟通并提高协作效率的基本操作。
自己写的代码是公开的,会被其他人看到,你应该不想给别人留下个不负责、不靠谱的印象吧?
代码写好,测试也做了,要是觉得自己没啥问题了,就把代码推送到远程仓库;在 GitHub 上把远程仓库代码切换到刚推送的开发分支,然后点击「Contribute」发起 pull request。
接下来,目标项目的维护者会找时间去进行代码审核,若有问题会评论让你修改,直至没有问题并合进代码库为止——恭喜你,完成了在这个项目中的第一个任务!
更好地参与
上文中只说明了参与项目共建的大体流程,并且是较为针对「OpenBuild 生态」的自身情况,下面是一些更详细、更通用的基于 GitHub 进行开源协作的资料:
祝你能够成为一个快乐、优秀的 OpenBuild 生态项目贡献者、开源人!