轻松进入开源

2025-06-04

轻松进入开源

如果你从未为开源项目贡献过(或者贡献经验很少),那么开始可能会令人感到畏惧、不适,甚至彻底恐惧。我自己对贡献者的世界也还很陌生,仅仅一个多月前,我才有了第一次(积极的)开源体验。我想用(我认为)最简单的方式,来讲述我是如何开始的。

1. 不要开始

当你的目标是为开源项目做贡献时,这第一步可能看起来有点奇怪,但请耐心听我说完。我在大学时得到的建议是“只找一些项目来做贡献”,我认为这个建议是错误的(至少对我来说)。我认为为开源做贡献不应该是目标,而应该是实现其他目标的手段。如果只是为了贡献而写代码,很容易让人灰心丧气,甚至很快精疲力竭。

2. 一切照旧

好吧,如果我不应该去寻找一个开源项目来贡献,我该如何成为一名贡献者呢?我认为第一步是不要再把开源视为与其他一切事物有着根本区别的东西。它并非如此。大多数开发人员每天都在工作中使用开源库。要想有足够的信心有效地为这些库做出贡献,第一步就是意识到它们只是软件,就像你正在编写的东西一样。

3. 找到需要解决的问题

这部分比较简单。编写代码的根本目的在于解决问题,这正是我们的工作。您编写自定义代码很可能是因为目前还没有一个库可以解决该问题,但可能存在一个接近该问题的库。当您意识到您正在使用(或想要使用)的库中存在漏洞时,您就找到了突破口。无论您发现的是一个缺陷,还是您需要一个功能,这个需要解决的问题都是通往开源世界的大门。

4. 与维护人员沟通

在我看来,这才是最难的部分。对某些人来说,向陌生人询问关于他们项目的问题可能很自然,但对我来说绝对不是。因此,我针对这部分提出了一些建议。

4.1. 阅读文档

您可能在刚开始使用这个库时就已经这样做了,但现在是时候重新审视一下,并留意一些问题的答案。查看自述文件、贡献者指南、所有公开文档以及现有问题,看看能否找到问题的答案。这可能是因为项目的维护者出于某种原因选择不实现您想要的功能,也可能是因为某种原因,这个错误实际上是故意为之。同时,也请留意任何关于贡献的规则/指南。

4.2. 提问

这一点很重要,不要告诉维护人员任何关于他们项目的事情。这是他们的项目,我保证他们比你更了解。无论你的目标是什么,都要把它表达成一个问题。“有没有办法做 X?”“当我做 Y 时,我得到了 Z,但我预期会得到 Q,我做错了吗?”。你应该带着任何期望或预设来找他们,只提出一个需要解决的问题。这个问题本质上是你的问题,直到他们同意这个问题是项目的问题。

5.解决你的问题

不要坐等项目维护人员的回复。如果你以写代码为生,很可能没时间这么做。写一个解决方案来修复 bug,或者写一个函数来实现你想要的功能。把它写在你的代码里,而不是写在开源库的副本里(你肯定不想忙着维护分支代码)。不过,尽量把这些代码与你的项目解耦,以后你可能会用到它。

6.顺其自然

最终,维护人员可能会回复您,也可能不会。如果他们回复了,希望他们能回答您的问题。如果他们愿意将解决方案添加到他们的项目中,您可以提供您在步骤 5 中编写的代码作为帮助。提供代码的方式取决于项目。有时他们会希望您完成 fork/clone/branch/push/pull 请求流程。有时他们可能想要一个 Git 补丁。也许他们只是想看看您是如何在问题中内联实现的,以便他们能够以他们认为合适的方式将其实现到他们的代码库中。

7.写评论

请在这篇文章下方留言,告诉我你的成功故事。你是如何为新项目做贡献的?你是否采纳了我上面的任何建议(即使你在阅读这篇文章之前就采纳了)?你还有什么建议想给那些(尚未)为开源项目做贡献的开发者吗?

文章来源:https://dev.to/dbanty/easing-into-open-source-1fg9
PREV
Flask REST API:简介概要
NEXT
可视化前端性能瓶颈