当你刚接触开源时,你会发现自己会问
我懂一些 [编程语言]。我想通过实践来提高技能,同时也能帮上忙。我该如何找到一个可以贡献的开源项目呢?嗯...我不知道从哪里开始。这似乎很复杂。
我已经一遍又一遍地向许多开发者问过同样的问题。他们的答案可以归纳为以下三种方法之一
方法一:为你热爱的事物做贡献
我得到的最常见的答案是为你每天都在使用的,你感兴趣的事物做贡献。
方法二:寻找对初学者友好的项目
以下是一些对初学者友好的开源项目的特点
- 定义明确、详细的贡献指南,包括如何在本地设置项目、他们的 Git 工作流程以及他们的编码风格指南
- 使用诸如 “good-first-bug”、“beginner” 或 “first-timers-only” 等标签对问题进行适当分类
- 在这些初学者问题上的活跃度,之前的问题能得到快速解答
方法三:停止搜索项目,开始搜索错误
这是我选择的方法,也是本文的重点。
在尝试了方法一和方法二之后,我不再从项目的角度思考。我转而专注于寻找我认为自己可以修复的错误。每个错误都与一个项目相关联,因此在寻找错误时,你不可避免地会发现项目。
如果你想立即开始,这种方法是有效的。我不能保证在你最初几次贡献之后,它会激励你坚持一个项目。也许你最终会不感兴趣。但也可能你会深入项目并发现你真的喜欢它。
无论如何,一旦你修复了一些错误,你就会有信心去冒险探索更多。
那么你如何开始找到错误呢?
决定要处理哪些错误并不容易。那里有大量的项目,每个项目都有很多未解决的问题。但你需要从某个地方开始。
因此,我将分享我用来查找错误的所有资源和技巧。首先,我将重点介绍如何在各种错误跟踪器和代码托管站点中查找好的入门错误。然后,我将分享一些特定于 Mozilla 生态系统的资源,我在那里 定期贡献。
为初学者寻找好的错误
开始你的错误搜索的一个好地方是 Up For Grabs。该网站的全部目的是通过维护一个包含对初学者友好的问题的项目列表,来帮助新的贡献者入门。如果你感到完全迷茫,这是一个很好的起点。
GitHub 有一个 强大的搜索引擎,你可以通过多种方式自定义搜索。最简单的搜索方式是 按问题标签。
许多开源项目都对其问题进行标记,以便于跟踪,使用诸如 beginner、 easy、 starter、 good first bug、 low hanging fruit、 bitesize、 trivial、 easy fix 和 new contributor 等标签。
你可以通过在搜索查询中添加 language: name 来进一步缩小搜索范围,基于你熟悉的编程语言。例如,这里是所有 标记为 “beginner” 的 JavaScript 问题。
Issuehub.io 是一个通过标签和语言搜索问题的工具,以防你觉得记住 GitHub 搜索语法很麻烦。
如果你是开源的完全新手,你绝对应该从 First Timers Only 开始。这是 Kent C. Dodds 发起的一项倡议,基于他自己的 First Timers Only 文章和 Scott Hanselman 的 Bring Kindness Back to Open Source。这些错误被标记为 first-timers-only。你可能还会发现这个 Twitter 机器人 有用。它会发布所有标记为 “first-timers-only” 的问题。
另一个查找问题的好方法是 YourFirstPR,由 Charlotte Spencer 创建。他们展示了 GitHub 上新手贡献者可以轻松解决的入门问题。
Awesome-for-beginners 是一个 GitHub 仓库,它收集了对新贡献者来说好的错误的项目,并应用标签来描述它们。
Openhatch 是一个非营利组织,旨在通过帮助将贡献者与错误和项目相匹配,来降低参与开源的门槛。
Mozilla 贡献者生态系统
Mozilla 的许多项目都托管在 GitHub 上。对于这些项目,我上面列出的所有内容仍然有用。他们使用 “good first bug” 标签来标记入门问题。但 Mozilla 也使用它自己的工具 Bugzilla 作为其主要问题跟踪器。他们托管了 他们的一些问题,并使用 Mercurial 进行版本控制,而不是 Git。
Firefox 是使用 Bugzilla 和 Mercurial 的项目之一。说实话,这有点吓人。需要学习的东西很多。所以我推荐这篇 优秀的博客文章和视频,它们在揭秘这些工具方面做得很好。
多年来,Mozillians 一直试图尽可能简化为 Mozilla 做出贡献的过程。以下是他们的努力
- Good First Bugs:这些是开发者已识别为项目良好入门的错误。它们通常(但并非总是)相对容易解决。
- Mentored Bugs:这些错误分配了一位导师,当你在修复过程中遇到困难时,他会在 IRC 上帮助你。他们经常审查你的补丁并提供反馈。如果你不知道从哪里开始为 Mozilla 项目做贡献,这是最好的起点。当你觉得自己碰壁时,会有人可以回答你的问题。我合作过的所有导师都非常积极、支持和乐于助人。
- Bugs Ahoy:这是一个专门在 Bugzilla 上查找错误的网站。它具有友好的用户界面,你可以在其中按语言进行筛选。
- Firefox DevTools:该网站专门用于提交给 Firefox 浏览器中开发者工具的错误。你可以根据你想处理的 DevTools 组件进行排序。
- What Can I Do For Mozilla。这是一个很好的方式来探索和找出你可以做什么,通过回答一系列关于你的技能和兴趣的问题。
- Start Mozilla:这是一个 Twitter 帐户,它发布适合 Mozilla 生态系统新手的贡献者的问题。
为了帮助新的贡献者入门,GitHub 上创建了一个仓库 FreeCodeCamp/how-to-contribute-to-open-source,其中包含大量资源和说明,以帮助你开始参与开源。
如果你知道任何其他为新手贡献者寻找好的错误的资源,请在评论中告诉我。我非常乐意扩展此列表
2 条评论