确定你可提供帮助的方面
在此单元中,我们将讨论如何开始实现开源贡献。 我们还将使用问题和标记来查找要做出贡献的任务。
开源软件可由任何人自由使用、修改和共享。 使用开源软件,任何人可以出于任何目的查看、修改和分发项目。 开源软件背后的想法是,共享代码会导致更优秀、更可靠的软件。
有许多方法可以为开源项目做出贡献。 做出第一个贡献往往是一次可怕的经历,但不应如此。 开源面向所有人,贡献发生在各个层面。
查找需要贡献的开源项目
你可以通过考虑已使用或想要使用的项目开始。 当你熟悉项目及其社区时,就可更容易地做出贡献。
也许在阅读项目的 README 文件时,你会发现一个断开的链接或一些拼写错误。 也许你注意到某些内容未如预期一样起作用,或者文档已过期。 这些都是为项目提供帮助和做出贡献的绝佳机会。
提示
一项重要提示:所有类型的贡献都有价值。 你的项目经验或知识水平并不重要。 我们每个人都有可以贡献的东西。 对自己要有信心。 最重要的是要有提供帮助的意愿。
使用 GitHub 搜索
你还可以使用 GitHub 搜索来浏览主题和相关项目。 转到 GitHub 搜索,并输入主题词。
假设你对机器学习感兴趣。
然后,可通过选择左侧边栏上的“主题”缩小搜索范围。
在此处,你可以找到与搜索关键字相关的存储库和由社区成员精选的存储库。
熟悉开源项目
这里值得一提的是,每个开源社区都是不同的。 找到项目后,你需要熟悉该项目及其参与指南。
大多数项目都会将这些文档置于存储库顶层:
- LICENSE:项目必须包含开源许可证。 如果项目没有许可证,则不是开源项目。
- README:README 文件通常用作项目的欢迎页面。 它通常提供有关如何开始使用项目的信息。 在其中添加有关如何参与社区的信息也很常见。
- CONTRIBUTING:顾名思义,本文档提供了如何为项目做出贡献的指导。 它通常介绍贡献过程的工作原理以及包括如何设置开发环境的详细信息。
- CODE_OF_CONDUCT:行为准则为社区成员制定基本规则。 这样做有助于使社区成为一个对所有人都安全且友好的环境。
虽然并非所有项目都有 CONTRIBUTING 或 CODE_OF_CONDUCT 文档,但是否具备这些文档是项目友好和受欢迎程度的一个良好标志。
开源参与者和维护人员来自世界各地。 项目通常有多种信道来组织讨论和寻求帮助。 熟悉社区的一个好方法是阅读其中一些沟通渠道:
- 问题跟踪器:在此处人们讨论与项目相关的问题和任务。 若要在 GitHub 中查找问题,可以转到 GitHub 上相应存储库的主页,并将
/issues添加到 URL 的末尾(例如 https://github.com/jupyter/notebook/issues)。 - 拉取请求:在此处人们讨论和评审对项目的更改。 可以通过将
pulls添加到项目的 URL(例如 https://github.com/jupyter/notebook/pulls)在 GitHub 中找到它。 - 聊天通道和论坛:某些项目使用聊天通道(如 Slack、Gitter 和 IRC)或论坛(如 Discourse)进行对话和讨论。
标识要处理的任务
你找到了一个项目,阅读了贡献指南,现在你已准备好做出贡献。
也许你已经确定了要处理的工作,例如修复断开的链接或更新文档。若要查找初学者友好问题以提供帮助,一个好方法是访问项目的 /contribute URL(例如 https://github.com/jupyter/notebook/contribute)。
你会注意到 contribute URL 中显示的大部分问题都具有 good-first-issue、help wanted、beginner-friendly 等标签。 标签通常用于提供有关问题的概要信息和所需的帮助类型。
你可以转到标签页(例如 https://github.com/jupyter/notebook/labels)。 然后选择带有 help wanted、discussion 等标签或其他你感兴趣的贡献类型的相关标签的问题。
在浏览问题时,你可能还会注意到某些问题与其他问题或拉取请求有所关联。
赞助项目
有许多方法可以为开源做出贡献。 你可以为通过代码、领导、指导、设计等构建和维护开源生态系统的人员提供经济支持。
开源很大程度依赖于志愿者工作。 GitHub 发起人允许你为项目和个人提供资金,以帮助他们继续做开源工作,同时给予他们应得的认可。
如果项目有资格获得 GitHub 赞助商的赞助,你会在项目的主页上找到“赞助”按钮。
如果你希望你的贡献是公开的,可以选择赞助层。
单元回顾
在本单元中,你了解了如何开始实现开源贡献。 现在,你已了解如何选择要处理的项目和使用 GitHub 问题和标签来标识要处理的任务。
以下是首次与项目交互时要使用的便捷核对清单:
- 项目是否具有许可证?
- 维护人员和参与者是否积极使用问题和拉取请求讨论?
- 项目是否为新用户使用
help wanted或good first issue等标签? - 项目是否具有行为准则?
- 项目是否有明确的贡献指南?
最后,请记住,所有的贡献都是受欢迎的,开源生态系统从你的想法和参与中受益匪浅。 从提交代码或参与项目讨论到通过 GitHub 赞助商赞助项目,可为开源做出贡献的方法有很多种。