摘要:作为一名开源项目新晋贡献者,作者经常会感到迷失和沮丧。搞不明白不同的模块有什么区别,在体量巨大的代码库市场中也找不到方向。那么如何打破这样的状态……
作为一名开源项目新晋贡献者,我经常会感到迷失和沮丧。搞不明白不同的模块有什么区别,在体量巨大的代码库市场中也找不到方向。
我们中的很多人都经历过这个阶段,而这也是一个必然的阶段。我曾经挣扎无比。幸运的是,我最终还是走出来了。项目维护者们开始接受我的pull request。我也重新找回了自信。
我曾经写过一篇博客,里面描述了我的经历,并且鼓励其他刚刚成为开源项目贡献者的人们勇敢起来。这篇博客吸引了很多人的注意,他们也对我进行了回复。
很多人联系到我,说我的那篇文章成功的鼓励了他们开始(或是重新开始)为开源项目做贡献。还有几个项目维护人员甚至重新查看了我以前提交的一些pull request,并且通过了这些请求。能够得到这样的结果,我还能要求什么呢?
在思考了一段时间之后,我总结出,我的那篇博客之所以能够吸引那么多人的注意力,是因为很长时间以来,有关开源项目贡献的话题,都在围绕着一方:维护者。
维护者总是在发表各种文章,讨论贡献者可以参与到项目中来。他们付出了很多努力,让自己的项目对于初学者也显得很友好。他们还写了大量的指导文章,告诉我们如何为开源项目贡献力量,并且在Quora和其他一些问答平台上回复人们提出的各种问题。
但是,很少有新的贡献者写文章讲述他们为开源项目贡献力量的故事。我个人阅读过很多维护者写的指导文章,但是我觉得这些文章都不如贡献者的实际经验那样实用。
在交流的时候,如果只有一方在滔滔不绝,那么这个对话就很难实现平衡。我希望多读到点新晋贡献者所写的文章,讲述他们参与的项目,以及他们所遇到的各种困难和最终的解决办法。
因此,我想要鼓励所有新的贡献者们记录自己的经历,帮我们找回对话中的平衡。我保证,你完全值得花时间和精力去做这件事情。
记录参与开源项目的经过,能够给你带来很多种好处。当你在写作的时候,你会回忆起许多细节。写作会强迫你客观的理解你所做过的事情。写作还能帮你更好的总结做过的事情,例如何时开始、以及当前的进度。
你可能担心自己知道的东西不足以让你写出好文章。但是我想说的是,在写作的时候,你不需要让自己成为某一领域的专家。你只需要把你理解的写下来就好。
最坏的结果,无非就是你把一些东西写错了。而如果你真的出了错,很可能有人会指出来。这个人会帮你进步,填补你知识的空白。这是一个双赢的局面。
在其他开发者的博客中寻找启示
我的草稿箱中还有几篇文章没发。因为这些文章还不够好,还需要润色。
每当我有这样的想法的时候,我都会在互联网上寻找灵感和启示。有一天,我看到了A. Jesse Jiryu Davis写的文章《编写优秀的编程博文(Write An Excellent Programming Blog)》。在此之后,我会不断的重新阅读这篇文章,尤其是当我没有写作主题的时候,或是我觉得自己不够格就某一个话题撰写文章的时候。
另一个我经常去的寻找灵感的地方,就是Julia Evans的博客。她的博文店铺很短、很简单,但是读起来令人愉悦。几乎她的每一篇文章,都能让我学到一些什么。
我还会时不时的看一看Stack Overflow的联合创始人博客:Joel On Software and Coding Horror。这里有很多优秀的文章,主题涵盖了与科技相关的各个领域。
当你开始寻找灵感以后,你就会找到很多好的资源。每一天,都会有很多开发者在网上发布大量有见解的文章。
如何寻找写作主题
在刚开始写作科技博文的时候,你很可能会感到不自信,这是很正常的事情。但是慢慢的,你会习惯。最开始的时候,你写的东西可以仅仅是记录每一天所做的事情:
- 你是如何接触到你当前所参与的项目的?
- 这里的社区都是什么样的人?他们对于新加入的贡献者是否展现了欢迎?
- 你选择了哪个项目?为什么决定参与这个项目?
- 设定本地环境以及克隆项目repo是否非常困难?你在哪里遇到了问题?最终如何解决了这个问题?
- 你是否找到了要解决的第一个issue?
- 如果项目给你指派了一个导师,你和这个导师相处的怎么样?他为你提供了哪些帮助?
- 你以前觉得开源项目是什么样的?在真正参与之后,你现在觉得开源项目是什么样的?
- 在参与了一段时间之后,你能给未来的新人提供哪些建议?
- 在机构的IRC频道或是Gitter聊天室内,你要如何表现?要问哪些问题?
以上只是我现在能想到的一些主题。毫无疑问,在参与开源项目的过程中,你一定会想到其他一些更有意思的话题。
你不用特别给自己设定更新周期,有感觉了,想和其他人分享了就去写——无论是你克服了一个小困难,还是给项目做了巨大的贡献。
随着经验的不断丰富,你可以开始写一些技术性更强的文章。例如,你长时间研究的东西,也可以使你获取知识或是学习新语言/框架/库的过程。
你可能会觉得,你想些的话题,很多其他人都已经写过了,你可能想要写一些更具原创性的东西。
这么说吧,无论谁、写过多少类似的东西,这一点都不重要。对于同一件事情,每个人根据自己的理解,都会有不同的观点。你所写的每一篇文章,都折射出你自己的理解,而你对一件事情的理解,很可能与另外一个人大相径庭。
你的任务,就是记录下你对开源项目的贡献。在你学习的过程中不断的写作。结果就是,你的学习速度会更快,最终成为一名更好的开发者。
你能够为其他迷失的人提供帮助,让他们找到一条通往开源软件的通途。
相信我,得知你写的东西为其他人提供了帮助,会让你有一种无与伦比的满足感。
- 原 文:Hey newbie open source contributors: please blog more.
- 译 文:SDK.cn
- 作 者:Christian(编译)
- 来源:SDK.cn