为什么你应该立即开始为开源软件做出贡献
您可能没有意识到,但您每天都在使用某种形式的开源软件。
每次您在手机上启动应用程序或在计算机上启动程序时,您都会从某人免费编写的代码中获利。
WordPress 是规模最大、知名度最高的内容管理系统,全球38% 的网站都在使用它。它是开源的,可以免费使用。
Linux 为全球30% 的网站提供支持。它是开源的,可以免费使用。
这只是为解决问题或满足用例而创建的众多项目中的两个示例。
这些项目随着社区的形成而变得非常受欢迎。他们致力于在用户体验、稳定性、安全性等方面提供最好的产品。
但不仅开源项目的使用率在上升,整个开源运动的参与度也在增长。
根据GitHub 的Octoverse 报告,GitHub 上有超过 4000 万名开发者,仅 2019 年就加入了 1000 万名新用户!
开源运动正在快速发展,您也应该成为其中的一部分。
每当我看到操作系统更新,或者我日常使用的工具软件发布新版本时,我都会感到欣慰。我喜欢看到产品不断改进、越来越精良。
你也有同样的感受吗?
这就是为什么我确信你应该立即开始为开源软件做出贡献。
你可以从源代码中学到很多东西
由于开源项目中的源代码可供任何人阅读,这意味着大量开发人员可以对项目进行测试和改进。
开发人员不断指出隐私或安全问题、更新文档并改进源代码以符合最新的 Web 开发标准。
特别是当您浏览具有数百甚至数千名贡献者的项目代码时,您可以获得有关最佳实践和代码质量的大量知识。
审查代码本身不仅是一种学习经历,而且大型项目中的结构和文件夹层次结构也经过深思熟虑,从长远来看效果很好。
你将与最聪明的人一起工作
与拥有有限数量员工来处理功能请求和错误修复的公司相比,您拥有最聪明的人才从事开源开发。
在我的想象中,我将其视为群体智能,可以解决出现的每一个问题。
加入社区的人越多,项目就越能扩展。它就像一个嗡嗡作响的蜂巢,来自世界各地的用户可以全天候不间断地向代码库发送拉取请求。
一个很好的例子就是著名的代码编辑器Visual Studio Code,它在 GitHub 上非常受欢迎,共有 1,200 多名贡献者。
你不会看到 GitHub 上有一天没有任何拉取请求,并且每月的发布周期总是会带来新的令人惊叹的功能。
当你参与一个项目并提交拉取请求时,你将收到来自经验丰富的维护人员的极其有用的反馈。你可以将这些反馈付诸实践,从而成长为一名优秀的开发者。
您自己的代码可以在全球范围内使用
由于一些软件开发项目每天被数百万用户使用,因此看到自己的代码帮助这么多人是非常有意义的。
我为eslint-plugin-unicorn和svelte这两个 JavaScript 项目编写了 lint 规则。知道我的 Pull 请求能够提升全球众多开发者的代码质量,我感到非常欣慰。
根据我的个人经验,以感谢评论的形式获得积极的反馈也是一种激励。
开源项目具有包容性
免费开源软件的一大优势是,没有人会因为买不起而无法使用该产品。
虽然有些开源项目需要花钱使用,但大多数项目不需要。
此外,当你在 GitHub 上为项目做贡献时,许多大型代码库都有一套行为准则。这些准则确保每位贡献者在项目中都能感受到受欢迎和被接纳。
项目开始变得可持续
公司的主要目标是盈利——这常常会导致一些令人质疑的决策。但开源软件专注于满足用户的需求,并以此作为最高优先级。
大多数项目完全由志愿者支持,项目维护者很遗憾永远不会获得任何经济回报。但是,现在有很多好方法可以帮助你实现这些项目的可持续发展。
通过OpenCollective或GitHub Sponsors等网站,您可以捐款来加快您喜欢的项目的开发。
我个人认为,如果每家公司都能向开源软件项目捐赠至少一小笔资金,那就太好了,因为他们每天都能从这些工具中获利。这样的支持可以减轻很多维护人员的压力,有些人甚至可以全职从事这项工作。
如何为开源做出贡献
为开源开发做贡献听起来可能有点吓人,但实际上却很难。GitHub 上有很多项目鼓励首次贡献者和新手采取行动,他们会将问题标记为“适合新手”、“适合初学者”或“需要帮助”。
不知道从哪里开始?
问问自己:您每天喜欢使用的应用程序是什么?您想回馈什么?
它可以简单到在 GitHub 上搜索该应用程序并查看未解决的问题。
它也不一定是代码贡献 - 您也可以通过创建拉取请求来更新文档、修复发现的拼写错误或进行彻底的代码审查来提供帮助。
README.md
项目文件通常包含一段关于如何贡献的说明。
如果你决定为某个项目做贡献,我推荐你阅读我的文章《以正确的方式为开源项目做贡献》。这是一篇关于贡献工作流程的详细分步指南。
我写这个教程的目的是为了方便初学者,所以不用担心会不知所措。你很快就能找到你的第一个项目并提交贡献!
总结
世界上的每个人都可以加入开源软件项目并为其工作,这总是让我印象深刻。
开源软件只有通过协作才能发挥作用。其目标是在不损害稳定性、安全性或用户隐私等重要因素的情况下,提供最好的产品或服务。
我希望您理解开源软件的重要性,并珍视它带来的好处。无论您回馈开源社区的理由是什么,我们都会非常感激您!
许多项目只有在像您这样的开发人员的支持和贡献下才能蓬勃发展。