Red Hat 最近发布的一份关于企业开源现状的报告发现,90% 的 IT 领导者受访者表示其组织使用企业开源,而前两份报告中这一比例分别为 83% 和 89%。此外,2020 年 Linux 基金会开源职位报告发现,77% 的受访者(包括 175 位招聘经理和 900 多位开源专业人士)表示,在未来 12 个月内,他们打算增加对开源软件的使用。该领域正在稳步增长,随着越来越多的公司采用开源,这为那些以专业或业余爱好身份参与开源开发的人创造了巨大的机遇。
虽然具体的许可证细节各不相同,但总的来说,开源软件可供任何人免费使用;此外,任何人都可以查看并与项目维护人员合作对项目的代码进行编辑。您可以查看库、程序或应用程序的工作原理,然后建议更改代码供考虑,无论是为了解决问题还是构建新功能。这种协作过程是开源的很多价值所在,它为社区提供了不断创新和解决新问题的工具。
参与开源软件的开发只是为社区做出贡献的好处之一。通过做出贡献,您将能够练习、建立人脉并建立在线投资组合,以便向未来的雇主展示您的技能组合。
那么,如何参与开源呢?在深入研究之前,选择一个项目作为重点,花一些时间熟悉社区和您将使用的工具。浏览 GitHub、论坛和邮件列表上的社区讨论,将使您能够了解社区中的当前讨论,从而为您提供开始贡献所需的背景和知识。您还需要了解如何使用与您正在处理的项目相关的开发工具。观看有关如何使用 GitHub 和测试框架的教程,将在您浏览开源社区中使用的不同开发工具时有所帮助。每个项目都不一样,因此,即使您已经熟悉一个开源项目,在为另一个项目做出贡献时,您可能也需要改变您的方法。
做出您的第一个开源贡献
为开源软件做出贡献并不需要高级专业知识。通常,项目需要帮助解答用户问题、确认和复制错误报告,或为文档编写示例。虽然有许多贡献途径,但学习如何复制已经报告的问题是练习和开始您为开源社区做出贡献之旅的绝佳方式。
为开源社区做出贡献的第一步是确定您使用和关心的项目中存在的问题。在有效地为项目做出贡献之前,您首先需要成为该项目的熟练用户,因此,从您已经使用的工具开始是一个不错的起点。错误报告和讨论可以通过多种方式进行,但 GitHub 是 Python 相关项目最流行的工具。添加文档或示例以及查找错别字等问题是不错的首次贡献,因为它们对初学者来说难度较小,并且维护人员更容易审查更改。在 GitHub 上,请查看标记为“好的第一个问题”或“需要帮助”的问题,这将表明这是一个开始您的第一个贡献的绝佳起点。除了选择一个对初学者友好的问题之外,您还需要选择一个问题,该问题清楚地解释了问题,并在描述中包含测试解决方案的方法。
确定问题后,您就可以开始着手解决它。为此,您需要创建代码的副本。在 Github 上,您将把存储库分叉到您自己的 GitHub 帐户并在此处工作。接下来,您将进入开发和测试阶段;您需要通过测试更改并确保它们符合存储库中的任何样式要求来确保对代码的任何更改都成功运行。每个项目都有自己的样式和沟通模式,因此在项目之前和期间花时间观察标准程序和贡献指南,将使项目维护人员更容易审查您的贡献。在您完成更改后,您将提交代码,将新分支推送到您自己的存储库,并创建拉取请求。从那里,您的拉取请求将被审查,维护人员和贡献者会提供建议的更改。经过几轮更新后,一旦维护人员满意拉取请求符合项目的质量要求,就可以合并拉取请求。
与开源维护人员和其他贡献者互动时,您应该尝试保持耐心,并对反馈和建议持开放态度。每个人都需要根据反馈对拉取请求进行更改,即使是经验丰富的贡献者也是如此!如果您想在解决问题之前获得您正在考虑的方法的反馈,您可以创建一个问题或论坛帖子并描述您计划进行的工作。这样做将允许其他人提供反馈,并为您以及维护人员节省时间,否则维护人员将不得不为您编写大量代码后提供反馈。请记住,对您的拉取请求的反馈和建设性批评不是针对个人的,而是为了让项目整体得到改进而共享的。开源项目的维护人员必须权衡多个相互竞争的优先事项,例如改进软件设计以实现未来的增长,避免引入错误或破坏用户的应用程序,以及维护一致的代码库样式。如果您最初不理解或不同意维护人员的建议,通常是因为维护人员正在努力平衡您可能不知道的因素。提出澄清问题是可以的,但当您刚开始时,您需要信任维护人员的反馈,直到您了解更多信息并理解更大的画面。
您的第一个开源贡献后
为开源社区做出贡献可能需要一些时间来适应;这是一种您可能不熟悉的工作方式,尤其是在公司或学术环境中。但是,参与开源有很多好处,使克服任何学习曲线成为一项值得的投资。除了是构建技能、与其他开发人员建立人脉并创建投资组合的好方法外,参与社区还使您能够处于软件创新的前沿。众所周知,许多最前沿和改变行业的软件开发起源于开源社区。您可以通过参与开源社区,亲身体验协作的、社区主导的工程的创新倍增效应。
在您的开源之旅中,您可以走上多条道路。为开源项目做出贡献是一个双赢的局面,它有利于特定项目和更广泛的社区创新,以及您的职业发展。
在您的开源之旅中,您可以走上多条道路。为开源项目做出贡献是一个双赢的局面,它有利于特定项目和更广泛的社区创新,以及您的职业发展。
在您开始您的开源之旅时,一些有用的提示需要记住的是
-
利用可用的社区资源
-
将社区成员的反馈视为成长的机会
-
对自己的承诺要现实。从小事做起,不要承诺过高。
-
最优秀的开源贡献者始终倾听和学习社区的需求。
您是否正在寻找有关如何做出您的第一个开源贡献的更多提示?观看我们的教程,详细了解如何开始。