如何选择第一个开源项目

如何选择第一个开源项目

本文是github首页推荐的一篇入门文章.作为一名大龄C++程序员,译者最近才开始下决心融入github社区.起因是跳槽找工作时,发现很多职位对于有开源贡献的开发者都会加分甚至优先录用.在初步了解了github社区之后发现这里汇聚了来自全球的开发者以及他们的好点子好项目,有种相见恨晚的情绪.我决定将自己对以github为代表的开源社区的一步一步的了解过程记录下来,也将有用的文章翻译成中文,供广大中文网友参考学习.
原文作者:Katrina Owen
点击原文链接


名词解释:
* 问题(issue):在文中指的是开源软件的使用者或测试者在github上提交的bug报告或改进意见.
* 推送请求(pull request):在文中指的是开源软件贡献者提交合入项目的代码,文档等内容.

前言

第一次提交代码可能会另新手感到畏惧.这种感觉同走进一个满是陌生人且其中大多数相互不认识的房间一样:你不了解话里话外的段子,也不会听说他们谈到的流行文化元素.你不知道当你走进人群时时否会有人为了让你加入他们的谈话而稍稍靠边站一些.或许他们会给你一个鄙视的眼神.他们会告诉你你不该穿牛仔裤,你的眼球的颜色不同,你的发音不准.

这中感觉不仅发生在你第一次提交代码的时候,甚至在开启一个问题都会感到害怕.你会想:我遇到的这个问题真的存在吗?也许他们会因为你实现没有搞清楚问题而说你蠢.

我作为Exercism项目的维护者,见证过数以千计的人开始学会新的编程语言,为代码提意见或者答复反馈,开始为开源项目做贡献.第一次贡献可能令你害怕,但是只要在正确的指引下,我确信你会和我一样爱上成为开源社区一员的感觉.

这里是一些我挑选出来的资源,它们可以帮助你选择对的项目,帮你为之做出具有深刻影响的贡献,同时也帮助你提高技能水平.

从你使用的项目开始

为开源做贡献的最佳方式是从你使用的项目开始.

这种方式有几点好处:
* 熟悉项目做什么和怎么做
* 更加愿意投入到项目的改进和成果产出中去
* 和项目之间持续存在的关系使你能持续参与其中

想想你最喜欢的库,模块,插件或者工具.审查你工作或业余项目的依赖列表.找到项目库,并浏览其中的代码,文档和开启的问题,以对项目有直观的感受.

你大可不必选你能想到的规模最大,最具影响力的开源项目.更小的项目通常更容易上手,维护者也会感激你做出的贡献,因为他们接受到的贡献本身就不多.

你无法预知项目是否会接受你提的贡献,但有两件事可以增加你拥有美好第一次的机会.一是,寻找到项目欢迎贡献者的迹象,二是,搞清楚他们需要什么样的贡献方式.

评估项目

通过观察两样东西你可以得到是否想加入项目的自觉感受:活跃度和沟通风格.

看看提交commit列表:有无近期提交?提交的频率如何?提交主要来自一个人还是有多人参与?

看看开启的问题:有多少?有新问题吗?有非常旧的问题吗?问题是否得到维护者的回应?有正在进行的讨论吗?再看看关闭的问题:有最近关闭的问题吗?

类似的可以再看看推送请求.

观察这些不会特别准确,你并不是在寻找准确的数字.如果项目不是特别活跃它仍有可能是一个值得贡献的项目,因为它已经是一个成熟稳定的项目,不会有太多变化.但是如果项目有许多存在很长时间的问题和推送请求没有得到维护者的应答,那么你可以亮出你的小红旗了.

下一步,查看开启或关闭的问题与推送请求中的聊天对话,按照最多评论排序,以此了解别人如何交流:这些对话是否友好?对待不同意见是否尊重?维护者对于贡献是否表现出感激?

一些维护者会使用友好的消息和表情表达感激,确保新的贡献者能感受到欢迎氛围.

花些时间来通读旧的问题或者邮件列表归档文件,逛一下他们的Slack或者IRC频道,如果他们使用的话,你会了解到项目如何推进.据此可以获得对项目社区的感觉和你是否喜欢和这群人一起工作的判断.

迈出脚尖试探

当你找到一个你愿意为之奉献的项目时,仔细看一下README.README中可能会有项目的贡献指南,这个指南常常会出现在CONTRIBUTING.md中.如果README中没有连接,你可以在目录中直接寻找.

人们在这些文件放置什么内容没有统一标准.然而项目还是很有可能会提到他们正在寻找什么类型的贡献.

另一个寻找项目需要哪方面的帮助的地方在问题标签页中,查看那些标有”需要帮忙”,”优先处理”的问题.

不要急于开启问题和请求推送

当你感觉是时候做出一些贡献是,最好从小的开始.小的贡献帮助项目维护者更好的了解你,并且相比主要特性变更或开发他们更有可能接受你的小贡献.

帮助诊断问题是开始贡献的一种行之有效的方式.当有新的bug上报时,看看自己能不能复现并提交你发现线索.

如果你足够幸运,你会发现几个重复开启的问题,还有一些已经修复但是没有关闭的问题.人们会询问你已经有答案的问题,此时可以在文档中指出问题的所在,或者如果还没有归档的话,你可以提交一个更新文档的建议.

文档贡献既简单也困难.有的只是简单的输入和语法错误.有些涉及改善章节清晰性和条理性,或者是为问题更新文档.更具挑战性的是重构或者新建一篇指导手册.

从诊断问题和文档贡献开始你的贡献之旅,你将开始发现一些小的力所能及的贡献价值.

学习别人怎么做

并非只有你总是为期待的第一次做出贡献而感到焦虑不安.即使是专业的软件开发者也会被开放源代码吓到,因为这涉及到与素未谋面的人一起合作.

阅读别人的经验可以减弱这种恐惧.从阮晔软件开发者到新手,关于第一次贡献,每个人都有一个故事:

寻找不熟悉但氛围好的项目

尽管从你正在使用的项目开始是最简单的方式.然而如果你在寻找你可能从来没有想过的项目或点子,下面这些资源可以给你一些启发:

如果你在寻找一些对待新人特别友好的项目,下面这些项目社区有非常棒的文档和氛围:

熟悉流程

当你不再因为流程而怯场时,你将获得更多自信来应对你的第一次贡献.下面是一些有用的资源:

下面的一些组织也能帮助你掌握git,github,贡献开放源码的基础:

成为一种习惯

每一个人都有第一次,你可能可能需要一些时间来完成第一次开源贡献,但是你可千万别在那停下来.规律的贡献对于你自己和社区来说都是有益的投资.下面这些项目能帮你保持热情并使开发源码编程一种习惯.

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值