如何参与开源:初学者指南

红帽最近关于 企业开源现状 的报告发现,90% 的 IT 领导者受访者在其组织中使用企业开源,而之前的两份报告分别为 83% 和 89%。此外,2020 Linux 基金会开源职位报告 发现,77% 的受访者(包括 175 位招聘经理和 900 多位开源专业人士)表示,在未来 12 个月内,他们计划增加开源软件的使用。该领域正在稳步增长,随着越来越多的公司采用开源,它为专业或业余从事开源开发的人员创造了巨大的机会。

虽然确切的许可细节有所不同,但一般来说,任何人都可以免费使用开源软件;此外,任何人都可以查看并与项目维护者合作,对项目的代码进行编辑。您可以了解库、程序或应用程序的工作原理,然后提出代码更改建议以供考虑,无论是为了解决问题还是构建新功能。这种协作过程是开源价值的很大一部分来源,并为社区配备了不断创新和解决新问题的工具。

参与开源软件的开发只是为社区做出贡献的好处之一。通过做出贡献,您将能够练习、建立人脉并构建在线作品集,以向未来的雇主展示您的技能。

那么,如何参与开源呢?在深入了解之前,选择一个要关注的项目,并花一些时间熟悉社区和您将使用的工具。浏览 GitHub、论坛和邮件列表上的社区讨论将使您能够吸收社区当前的讨论,为您提供开始贡献所需的背景知识。您还需要知道如何使用您正在处理的项目的相关开发工具。观看关于如何使用 GitHub 和测试框架的教程将对您在开源社区中使用的不同开发工具中导航有所帮助。每个项目都不同,因此即使您已经熟悉一个开源项目,在为另一个项目做贡献时,您可能也需要改变方法。

做出您的第一个开源贡献

为开源软件做贡献不需要高级专业知识。通常,项目需要帮助回答用户问题、确认和复现错误报告或为文档编写示例。虽然有很多贡献途径,但学习如何复现已报告的问题是练习和开始您的开源社区贡献之旅的绝佳方式。

为开源社区做贡献的第一步是识别您使用和关心的项目的问题。在您可以有效地为项目做出贡献之前,您首先需要成为该项目的熟练用户,因此专注于您已经使用的工具是一个好的开始。问题报告和讨论可以通过多种方式进行,但 GitHub 是与 Python 相关的项目最流行的工具。诸如添加文档或示例以及查找错别字等问题是良好的首次贡献,因为对于初学者来说难度较低,并且维护者更容易审查更改。在 GitHub 上,查看标记为“good first issue”或“help needed”的问题,这将表明这是一个开始您的首次贡献的绝佳位置。除了选择一个对初学者友好的问题之外,您还需要选择一个问题,该问题的问题已得到明确解释,并在描述中包含了一种测试解决方案的方法。

一旦您确定了问题,您就可以开始着手修复它。为此,您需要创建您自己的代码副本。在 Github 上,您将把存储库 fork 到您的个人 GitHub 帐户并在那里工作。接下来,您将进入开发和测试阶段;您需要通过测试确保对代码的任何更改都成功运行,并确保它们符合存储库中的任何样式要求。每个项目都有自己的风格和沟通模式,因此在您的项目之前和期间花时间观察标准程序和贡献者指南将使项目维护者更容易审查您的贡献。在您进行更改后,您将提交您的代码,在您自己的存储库上推送新分支,并发出拉取请求。从那里,您的拉取请求将被审查,维护者和贡献者会提供建议的更改。经过几轮更新后,一旦维护者对它满足项目的质量要求感到满意,拉取请求就可以合并。

在与开源维护者和其他贡献者互动时,您应该尽量保持耐心,并对反馈和建议持开放态度。每个人都需要根据反馈对拉取请求进行更改,即使是经验丰富的贡献者也是如此!如果您想在修复问题之前获得关于您正在考虑的方法的反馈,您可以创建一个问题或论坛帖子并描述您计划的工作。这样做将允许其他人提供反馈,并为您和维护者节省时间,否则他们将不得不在您编写大量代码后提供反馈。请记住,对您的拉取请求的反馈和建设性批评并非针对个人,而是因为每个人都希望项目整体得到改进而分享的。开源项目的维护者必须兼顾几个相互竞争的优先事项,例如改进软件设计以实现未来增长、避免引入错误或破坏用户的应用程序以及维护一致的代码库风格。如果您最初不理解或不同意维护者的建议,通常是因为维护者正在努力平衡您可能没有意识到的因素。可以要求澄清,但是当您刚开始时,您需要信任维护者的反馈,直到您了解更多并了解更大的图景。

在您第一次开源贡献之后

为开源社区做贡献可能需要一些时间来适应;这是一种您可能不熟悉的工作方式,尤其是在公司或学术环境中。但是,参与开源有很多好处,这些好处使克服任何学习曲线都成为值得的投资。除了成为建立您的技能、与其他开发人员建立联系和创建作品集的绝佳方式之外,参与社区还可以让您站在软件创新的前沿。许多尖端和改变行业的软件开发都源于开源社区,这已不是什么秘密。您可以通过参与其中,亲身体验协作、社区主导的工程的创新力量倍增效应。

在您的开源之旅中,您可以选择多条道路。为开源项目做贡献是一个双赢的局面,既有利于特定项目和更广泛的社区创新,也有利于您的职业发展。

在您的开源之旅中,您可以选择多条道路。为开源项目做贡献是一个双赢的局面,既有利于特定项目和更广泛的社区创新,也有利于您自身的职业发展。

当您开始您的开源之旅时,以下是一些需要记住的有用提示:

  • 利用可用的社区资源

  • 将社区成员的反馈视为成长的机会

  • 对您的承诺保持现实态度。从小处着手,不要过度承诺。

  • 最好的开源贡献者不断倾听和学习社区需求。


您是否正在寻找更多关于如何做出您的第一个开源贡献的提示?观看我们的教程,了解更多入门详情。

与专家交流

与我们的专家之一交流,为您的 AI 之旅寻找解决方案。

与专家交流