如何选择(和贡献)你的第一个开源项目

翻译于github的文章推荐:How to choose (and contribute to) your first open source project
——作者 Katrina Owen

第一个贡献总是令人生畏的,这有点像走进一间全是陌生人的房间,他们大多数人之间似乎都认识对方。你不懂他们的圈内笑话(inside jokes),或是圈外的笑话,进一步说,他们谈论的流行文化(pop culture)是你从来没有听说过的。你不知道如何融入他们之间,如果有人侧身让你加入他们的交谈,他们可能会给你一个轻蔑的眼神,他们会告诉你,你穿错了衣服,你眼睛的颜色不对,甚至你的发音也不对。

这可能不仅仅发生在你提交第一个pull request,甚至打开一个issue也让你感到胆怯。你遇到的是真正的问题吗?他们可能会告诉你你非常的愚蠢——因为你应该去做点什么小玩意。

作为Exercism项目的维护者,我看到过许多人开始使用新的编程语言,提交或接受关于代码的反馈,以及对开源项目作出第一个贡献。你的第一个贡献可能很可怕,但是有了正确的指导,我相信你会像我一样热爱开源社区并热衷于成为其中的参与者。

这里有一些我挑出来的资源可以帮助你找到第一个开源项目以及做出有影响力的贡献来提高自己的编程技巧。

从你使用的项目开始

将你已经使用过的开源项目作为开始是最好的方法,有以下好处:

  • 你会更熟悉这个项目是什么以及它是如何工作的
  • 你更加能投入于项目的改进和效果
  • 你与项目的关系会更进一步,更加可能使你保持持续进步

想想你喜欢的库、模块、插件或者工具,看看你的工作项目或副项目(side projects)的依赖性列表,找到repository并且浏览下里面的代码,文档,打开issue感受一下该项目的感觉。

不必去寻找你能想到的最大、最令人印象深刻的开源项目,有时候一个小一点项目能够让你的头脑更清醒。而且因为贡献者比较少,项目的维护者有更大的几率感谢你的贡献。

没有办法能够预先知道项目是否会接受你的贡献,但是有两件事可以提高你的代码被采纳的几率。

第一件事就是找到项目中欢迎贡献者的有关信息,第二件事就是弄清楚他们需要贡献的是什么内容。

评估项目

你可以通过观察两件事——活动和交流风格,来对项目有一个更好的直觉——你是否想参与它。

查看commits列表,最近有commits吗?更新commit的的频率怎么样?大部分的commit是由一个人提交的还是有许多人们共同参与?

然后看看issues,查看open的issues。里面有多少issue?有新的吗?有时间很长的吗?维护者是否对其中的issue作出回应?他们进行了活跃的讨论了吗?然后再看看已经关闭的issues,近期他们有关闭过issue吗?

然后到pull request里面看看,像commit和issue一样。

当然,这些都不是绝对的,你不是在寻找绝对的数字。即使他们没有很多的活动,这也有可能是一个很好的项目,只不过它已经比较成熟和稳定了,不需要改变很多。但是如果一个项目有很多打开很久的issues和pull requests,却没有得到维护者的回应,这可能是一个危险的信号。

按照评论数量查看 issues 和 pull request,看看评论最多的,熟悉大家交流的风格,他们对贡献者友好吗?他们会处理好分支吗?维护者会对贡献者表示感谢吗?

有些维护者会对新的贡献者表示欢迎,会发送友好的感谢信息或emoji表情。

花点时间读读旧的issues或是邮件列表内容,如果他们有闲聊或是一些社交聊天频道,可以去看看,尽可能的收集关于项目工作的信息。对项目的交流有一个更好的感觉并且确保你愿意花时间跟这些人们共同参与这个项目。

当我第一次听到Babel的时候,我对它能够增加开发经验的方式感到非常兴奋。我遵循了Dan Abramov的建议:“观察” Github repo,尝试在项目和它的issues中得到更多的上下文信息,我在2015年3月2日提交了我的第一个 Babel pull request。
—— @hzoo

尝试

一旦找到一个你想为之贡献的项目,查看它的README文件,Readme通常有项目的贡献指南的链接,通常叫做Contributing.md,如果没有在Readme中找到它,你可以直接在项目中搜索它。

这些文件并不是一个项目的标准需求,但是这对于项目寻找贡献者以及贡献内容是一个很好的途径。

另一个寻找这些内容的地方是issues,你可以查找类似带有“help wanted”或是“good first issue”之类标签的issues。

不要仓促的打开issue或是pull request

当你准备好为项目做一个贡献时,最好从小的地方做起。小的贡献能够让项目的维护者更了解你,这使他们可能更容易接受你的一些更大的贡献。

最好的开始贡献的方法之一就是帮助测试项目,当一个新的bug被发现的时候,看看你是否能复制这些错误,然后提交你的发现。

如果你一直观察,你会发现那些重复的问题以及那些被fixed却从未被关闭的issue。人们会问一些你知道答案的问题,你可以指引他们到相应的文档,如果没有文档,你可以向文档提交一个修复的建议。

我决定开始为这个团队管理电子邮件摘要,这给了我很好的机会来弄清一些话题,但是更重要的是我可以看到人们指出哪些问题需要被修复。
—— @brettcannon in his Open Source Story

文档可以是最简单的,也可能是最难的贡献。有些唾手可得的拼写或是语法上的错误;另外文档的改变经常是在一定的范围内,可能是某一部分重新更改,用来提高可读性;或者是为遇到的一个特殊案例更新文档。一些更具有挑战性的文档可能涉及到重构或是一些底层指导。

从测试和文档开始,你可以看到你所贡献的一些小小的改变。

了解别人是怎么做的

如果你很想开始你的第一个贡献,但是又感到非常的紧张,这并不只有你一个人。即使是专业的软件开发人员也会感觉开源软件令人生畏,因为这涉及到你可能要与从未见过的人合作。

读读这些别人的经历来减弱你的害怕,从刚刚起步到成为专业的软件开发者,每个人都有关于第一次贡献代码的故事。

寻找一个陌生的,热情的项目

从一个你已经使用过的项目开始是一件比较容易的事情——如果你想为一个从来没接触过的项目或是想法做贡献,下面这些资源可以帮助你:

如果你正在寻找对新的贡献者特别友好的项目,可以看看这些社区。它们有很好的文件和热情的氛围:

舒服的工作

如果你没有被这个过程吓到,你会对开源贡献感到更有信心。这里有一些资源可以帮助你开始:

这里有一些组织帮助你了解Git,Github和对贡献开源软件:

让这些成为习惯

每个人都有新的一次尝试,你的第一个开源贡献可能要花费一些时间,但这不是结束,规律性的贡献代码对你自己和你的社区都是很棒的事情。这些程序可以帮助你保持动力,让贡献开源代码成为你的习惯:

本文遵循自由转载-非商用-非衍生-保持署名(知识共享3.0协议
This article follows the CC-3.0 License.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容