新晋开源项目贡献者该如何打破现状?

简介:

作为一名开源项目新晋贡献者,我经常会感到迷失和沮丧。搞不明白不同的模块有什么区别,在体量巨大的代码库市场中也找不到方向。

我们中的很多人都经历过这个阶段,而这也是一个必然的阶段。我曾经挣扎无比。幸运的是,我最终还是走出来了。项目维护者们开始接受我的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聊天室内,你要如何表现?要问哪些问题?

以上只是我现在能想到的一些主题。毫无疑问,在参与开源项目的过程中,你一定会想到其他一些更有意思的话题。

你不用特别给自己设定更新周期,有感觉了,想和其他人分享了就去写——无论是你克服了一个小困难,还是给项目做了巨大的贡献。

随着经验的不断丰富,你可以开始写一些技术性更强的文章。例如,你长时间研究的东西,也可以使你获取知识或是学习新语言/框架/库的过程。

你可能会觉得,你想些的话题,很多其他人都已经写过了,你可能想要写一些更具原创性的东西。

这么说吧,无论谁、写过多少类似的东西,这一点都不重要。对于同一件事情,每个人根据自己的理解,都会有不同的观点。你所写的每一篇文章,都折射出你自己的理解,而你对一件事情的理解,很可能与另外一个人大相径庭。

你的任务,就是记录下你对开源项目的贡献。在你学习的过程中不断的写作。结果就是,你的学习速度会更快,最终成为一名更好的开发者。

你能够为其他迷失的人提供帮助,让他们找到一条通往开源软件的通途。

相信我,得知你写的东西为其他人提供了帮助,会让你有一种无与伦比的满足感。
文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
7月前
|
Cloud Native Linux Go
如何从开源项目中受益?
如何从开源项目中受益?
44 0
|
3月前
|
存储 人工智能 自然语言处理
开源和闭源一个争议已久而且持续几十年的话题
开源和闭源一个争议已久而且持续几十年的话题
33 0
|
4月前
|
程序员 项目管理 开发工具
gitt开源项目的意义,公司为什么会对在gitt上有开源项目的人更大机会
gitt开源项目的意义,公司为什么会对在gitt上有开源项目的人更大机会
33 0
|
Apache 开发者
成功打造一个开源软件的秘诀在于开源社区
成功打造一个开源软件的秘诀在于开源社区
166 0
开源项目也可以申请专利
开源项目也可以申请专利
733 0
|
消息中间件 机器学习/深度学习 人工智能
中国科协发布 2021 开源创新榜,阿里巴巴 2 大开源社区、5 大开源项目上榜
3 月 8 日消息,日前,中国科协正式发布 2021“科创中国”开源创新榜单,推选出 50 项年度优秀开源产品及相关机构。
中国科协发布 2021 开源创新榜,阿里巴巴 2 大开源社区、5 大开源项目上榜
|
安全 Cloud Native Unix
企业拥抱开源之前,必须了解的七件事
新的时代,开源的发展越来越蓬勃,开源和云的关系越来越复杂,耦合度越来越高,云是开源软件允许的最佳环境之一,也为开源软件插上安全高效的腾飞引擎。本文试图从企业软件的历史,结合开源软件发展规律,介绍软件开发和交付方式的演进过程,分析常见的开源软件开发和使用误区,讨论开源软件的业务模式和生态,以及在云时代下,开源软件和云的结合与相互促进。
企业拥抱开源之前,必须了解的七件事
|
消息中间件 Kubernetes Oracle
2022 年之后的开源愿景
  在开源领域工作了十多年之后,经历了从初创公司到世界上最大的开源公司,并推出了我的开源项目资助平台,我终于有了一个想法。“开源”一词并不足以涵盖现代开放软件所有可感知的价值,开源需要一个更广阔的视野,以及一个支持开放治理和开放资金的基础设施。   在过去,开源的价值在于源代码,我们可以从自由软件的自由度和开源定义的发布标准中感知到这一点。但现在情况不一样了。现如今,开源产品的生产速度很快,但腐烂和过时的速度更快。除了源代码提供的价值之外,开源项目还有其他重要的特征。开源的价值在于项目被采用,有时候一个项目会成为某种技术事实上的标准(比如用于消息传递的 Apache Kafka)。开源的价值
191 0
|
存储 编解码 前端开发
如何参与医疗软件开源项目
作为一名软件开发人员,我觉得我可以产生巨大的影响。在某种程度上,我觉得帮助一家披萨连锁店提高在线销售额或帮助抵押贷款机构提高利润率是一种浪费。随着 COVID-19 大流行的全面爆发,我想要帮助一个与我息息相关的项目。