人们为什么为开源项目做出贡献?

开源开发是软件的未来。对于像您和我这样的用户来说,这是伟大的,因为开源软件通常是免费的(并非总是如此),而且由于使用恶意代码的可能性较小,因此通常更安全地使用。

但是强迫开发人员免费贡献代码?毕竟,编写代码需要时间,精力和专业知识。尽管开源开发人员确实可以赚钱,但通过专有渠道肯定更容易。

事实上,许多专有业务正在步入正轨。例如,微软最近决定开放其.NET Framework的源代码。如果你问我,那真是一个惊喜!因此问题仍然存在:贡献开源有什么好处?事实证明,动机很少涉及金钱。

获得编程经验

开放源代码项目的美在于,任何人都可以贡献代码。当然可以采取一些措施来防止滥用(提交的代码需要得到项目负责人的批准),但是如果代码有效,是谁编写的。

因此,许多中级程序员会寻找他们感兴趣的开源项目,并寻找可以改变的领域。

例如,许多项目使用bug跟踪器来跟踪问题所在。需要解决。这些问题的范围从微不足道到复杂,因此,尽管专家们在解决一个严重的错误时仍在工作,但是新手可以解决这些琐碎的问题。因为可以并行修复多个错误,所以2)专家会继续参与,因为他们不必花费精力来处理琐碎但耗时的修复,并且3)新手可以获得宝贵的经验,对任何人都没有风险。

实际上,如果您是一名新手程序员,并且至少具有一年的扎实的编程教育(即使是自学成才的学习),那么为开源项目做贡献可以是一种更快地学习编程的方法。

建立实用的简历

在开源开发人员的职业生涯中的某个时刻,“获得经验"阶段变成了“技能组合"阶段。如果您需要工作,此投资组合不会替换传统的简历或简历,但这可以是一个很好的补充。

每行代码您为开放源代码项目所做的贡献是公开可访问的。您贡献越多,您就越能塑造项目。如果该项目最终获得成功,那么它将对您产生良好的影响。如果失败了,它仍然会显示您的职业道德和编码能力。

艺术家在申请职位时总是指向自己的作品集。摄影师在寻找新客户时会展示他们的作品集。至少在某些方面,编程领域已开始朝这个方向发展。

如果您正在为一家跨国公司进行面试,而该公司的几个遗留系统仍在COBOL或Fortran上运行,那么您的现代开发组合可能没关系。但是,如果您已经开发了免费的Django工具,并且正在面试后端开发职位,那么您肯定会有所帮助。

因此,如果您想从事编程工作,这就是为什么要这样做的主要原因您应该为开源项目做出贡献。

使用产品

假设您是一个狂热的程序员,他在工作流程中使用了许多开源工具。您热爱这些工具,相信这些工具,并且无法想象切换到其他任何工具。但是有一天,您会遇到一个严重的错误,该错误会导致您的工作效率降低。

对于专有软件,您将陷于困境。当然,您可以向发展中公司提交票证,并希望他们实施快速补丁程序,但不能保证。实际上,可能要花费数月(或数年!)的时间才能解决。

,但是在一个开源项目中,您可以浏览代码,查找错误,进行修复,然后重新编译。或者,您也可以将修复程序提交给项目负责人进行审查,如果看起来不错,他会推出补丁程序。

该过程可能仍需要几天或几周的时间,但比起修复过程要好得多。

促进开放源代码文化

人们贡献开放源代码的最大原因之一是因为他们相信开放源代码哲学。听起来很明显,对不对?但是,令您惊讶的是,有如此多的开发人员真正相信开放软件的思想。

对此,许多开放源代码爱好者倾向于传播福音。如果每个人都采用“开源思维",那么世界将会变得更美好-在某种程度上,我可以跃跃欲试。任何人都可以分担项目这一事实,我真的很感激,因为它促进了竞争和创新。

换句话说,这些人贡献了开源代码,因为他们只是喜欢它 。开源是他们的身份,他们只是在实现自己的信念。你知道吗?没什么问题。

切切地,通过为开源项目做贡献,这些人最终与其他志趣相投的人合作。宗教有教堂,爱好者有俱乐部,开放源代码开发人员有开源项目。

回馈社区

虽然我们是社区的一员,但不要忘了社区奖学金才是参与其中的一个伟大理由。与通过代码相比,有更多的方式可以为开源项目做出贡献。代码很重要,但当然也欢迎使用其他形式的支持。

假设您绝对您经常使用的特定程序,无论出于个人还是商业原因。它改变了您的生活,您想以某种方式帮助该项目,但是您没有任何编码经验。您能做什么?

捐赠始终是一种选择。对于一个单人团队,10美元的捐赠可以为该开发人员购买几杯咖啡或六包啤酒。它可以资助一年的域名续签。它可以将虚拟主机延长几个月。无论捐款多小,捐款都可以帮上大忙。

文档是开发人员通常需要帮助的另一个大领域。这包括技术写作(例如手册)或社区知识库(例如Wiki)之类的东西。例如,社区制作的教程可以使开发人员将所有精力都集中在编码本身上,从而可以真正帮助开发人员。

其他支持方法包括软件本地化,网站翻译,或者只是通过以下方式传播对产品的了解:无论如何,口碑和社交媒体

无论如何,这些“忠诚度贡献"都来自对产品的顽固的欣赏,这是开源项目似乎很好培养的。

如果您想亲自参与其中,请查看一些可以为Linux做出贡献的方法。

图片来源:通过Shutterstock掌握笔记本电脑的知识,通过Shutterstock掌握编程技能,大量编码通过Shutterstock进行项目,通过Shutterstock进行清理工作区,通过Shutterstock进行编码伙伴,通过Shutterstock进行项目分析

标签: Linux 开源