此前,我将延迟我首次开源贡献的很多责任归咎于冒名顶替综合症。但还有一个我无法忽视的因素:我无法做出任何决定。并且有数百万个开源项目可供选择,选择一个贡献的项目令人不知所措。这种不知所措让我经常最终关掉笔记本电脑,心想:“也许我明天再做这件事吧。”
第二个错误是让害怕做决定的心理阻碍了我的首次贡献。在理想的世界中,也许我会带着一个我真正关心并想参与的特定项目开始我的开源之旅,但我只有一个模糊的目标,那就是以某种方式为开源做贡献。对于与我处境相同的人,以下是一些帮助我挑选出适合我的贡献的正确项目(或至少是好的项目)的策略。
我经常使用的工具
起初,我认为没有必要将自己限制在我已经熟悉的工具或项目上。有些项目我以前从未使用过,但由于其活跃的社区或它们解决的有趣问题,似乎是有吸引力的候选者。
但是,考虑到我只有有限的时间投入到这个项目中,我决定坚持使用我已经知道的工具。要了解工具需要什么,您需要熟悉它的工作原理。如果您想为一个您不熟悉的项目做出贡献,您需要完成一个额外的步骤,即了解代码的功能和目标。这种额外的负担可能既有趣又有益,但它也可能会使您的工作时间加倍。由于我的目标主要是做出贡献,因此坚持我所知道的是缩小范围的有用方法。回报一个您觉得有用的项目也是一件有益的事情。
活跃友好的社区
在选择我的项目时,我希望有信心有人会审查我编写的代码。当然,我希望审查我代码的人是一个好人。毕竟,将您的工作公开接受审查是很可怕的。虽然我乐于接受建设性的反馈,但我希望避免开发者社区中那些有毒的角落。
为了评估我将要加入的社区,我查看了我正在考虑的仓库的*问题*部分。我查看了核心团队是否有人定期回应。更重要的是,我尽量确保没有人在评论中贬低对方(这在问题讨论中非常常见)。我还注意了那些有行为准则的项目,其中概述了在线互动的适当与不适当行为。
清晰的贡献指南
因为这是我第一次为开源做贡献,所以我对这个过程有很多疑问。一些项目社区在记录选择问题和发出拉取请求的程序方面做得非常出色。虽然我当时没有选择它们,因为我以前从未使用过该产品,但 Gatsby 是这方面的一个典范。
这种类型的清晰文档有助于缓解我的一些关于不知道该做什么的不安全感。它也让我有希望该项目对新的贡献者开放,并且会花时间查看我的工作。除了贡献指南之外,我还查看了问题部分,看看该项目是否正在使用“good first issue”标志。这也是该项目对初学者开放的另一个迹象(并且可以帮助您发现要处理什么)。
结论
如果您还没有想到某个项目,那么选择合适的地点进行您的首次开源贡献可能会令人不知所措。提出一套标准帮助我缩小了选择范围,并为我的首次拉取请求找到了一个很棒的项目。
2 条评论