关于程序员:新手如何快速参与开源项目

1次阅读

共计 1974 个字符,预计需要花费 5 分钟才能阅读完成。

前言开源这件事件在软件开发畛域始终是一个高频话题,咱们工作中不论是应用到的工具还是第三方库都离不开开源的反对。近期因为工作的起因,我须要常常和 Apache Pulsar 社区沟通,同时也会将日常碰到的问题反馈给社区,包含一些 bug,一些我能修的也是顺带就提了一些 PR。之前或多或少我也参加过其余的开源社区,但和当初的还是有些许的不同:以前我更多的是集体开源我的项目,偶然也会有其余开发者向我的仓库奉献代码。也参加过其余集体作者或者是社区性质的我的项目,但流程上没有那么正规或者是规范。简略来说就是以前就是小打小闹,Pulsar 毕竟是 Apache 社区的顶级我的项目,参加的整个流程要求也会比较复杂,当然学到的常识也会更多。

这半年工夫大大小小提了十几个 PR,也逐步捋分明了一些上手的办法和套路,所以如果你也想参加开源,但苦于不晓得如何入门,看完后心愿对你有所帮忙。为什么参加开源首先还是来聊聊参加开源的益处,理解之后兴许会让你有路转粉。首先最显著的一点就是让你对奉献的这个我的项目更加深刻的理解,咱们经常都在面试的时候被问到对 XX 框架的相熟水平,哪怕你在简历里写的天花乱坠也没有是这个我的项目 Contributor 更具备说服力。其次是沟通交流能力也会失去锤炼,开源社区往往都是以 github issue/PR,或者是 Mailing List 的形式沟通交流,这样的沟通形式和咱们罕用的微信、QQ 这类及时通信工具有着实质的区别。往往须要咱们有了沉着的思考加上清晰的形容才会将本人的观点公布进来,这样不盲目的就会养成本人的总结能力,这个能力对于内容创意内容工作者来说十分重要。还有一个更显著的益处就是对集体的能力背书,大家常说的 show me the code,而 GitHub 就是最好的形式。当你是某个出名开源我的项目的 Contributor 甚至是 Committer/PMC 就曾经足够证实本人的能力了。如何参加如何参加呢,其实也很简略,不外乎有以下几种形式(由易到难):一些 typo 类的修复。答复社区中用户的问题。应用过程中遇到 bug,间接反馈,有趣味的话最好是本人能修复。修复现有 issue 列表中未解决的 bug。软件不具备本人须要的性能时提交 feature 提案并实现。不论是哪种形式我的倡议是在筹备奉献之前都应该先看看官网提供的奉献指南,通常在官网就能查看。即使是最简略的修复 typo,因为越是业余的我的项目每个 PR 的合并都是谨严的,提前理解后能够防止犯一些根本谬误从而影响积极性。这里我以 Pulsar 为例:

官网有着具体的奉献指南,包含环境搭建、代码约定、PR/git commit 语义等各种标准。这里我重点强调 PR 的语义,一个好的 PR 标准更容易引起社区成员的留神,毕竟咱们每一次提交都须要 Committer 的批准能力合并。

还是以 Pulsar 为例,在提交 PR 前肯定得先看看这里的标准要求,不然很可能第一步就会吃瘪。可能遇到的问题上面讲讲奉献过程中可能会碰到的问题。在下面讲到的难度排序中将修复集体 issue 排在了其余 issue 之前了,这是因为往往对本人提交的 bug 更相熟,而社区其他人反馈的问题大概率会被新手认领。加上本人也不相熟,可能在本人钻研复现的过程中就把本人劝退了。认领 issue 这里还有个小技巧,当咱们筹备修复一个不是本人提交的 issue 时,最好是在评论区让 Committer 将这个任务分配给你,这样社区成员就不会做反复工作了。

相似于这样。同时咱们在查找能够修复的 issue 时也要留神这个 issue 有没有被认领以及是否有 PR 关联。

有时候 issue 并没有被指定但也有相干 PR 在解决该问题了,这时咱们就能够过滤掉这个 issue。help want

也能够找找带有 help want 标签的 issue,这类问题往往会绝对简略,修复起来也更容易。社区反馈较慢还有一个比拟常见的问题是本人提交的 issue 或者是 PR 迟迟没有人解决。咱们能够先看看这个 issue 对应的代码最近次要是哪些人在保护,这个在 IDE 中配合 GitToolBox 插件就很容易看进去。

前面的 ID 往往是 PR 号,咱们能够通过这个 PR 找到对应的作者,而后尝试在 issue 评论区艾特对方。如果仍然没有回复,那咱们也能够给开发组发送邮件。

如果还是没有回复,比方我这个😂那也还有一个方法,就是尝试在社交媒体(GitHub 首页、技术群)上找到 Committer 的微信,间接私聊的形式让对方帮忙推动。

当然也有一些我的项目长期没有保护了,这种 PR 要做好心里筹备,很有可能对方不会理你;这点在国内某个企业的开源我的项目中比拟常见。总结总的来说想要做好开源得有急躁和长期保持,同时给本人带来的益处也是物超所值的,Apache 这类业余的社区我也才参加了半年,后续也会长期坚持下去,也心愿哪天能够积攒到成为 Committer 后再和大家分享。

正文完
 0