5 位开源开发者讲述他们是如何入门的

尚无读者喜欢这篇文章。
neon sign with head outline and open source why spelled out

Opensource.com

您还记得您刚开始接触开源时的情景吗?最近,我采访了一群开发者,让他们回顾一下他们最初接触开源时的感受,以及是什么促使他们开始为开源做贡献。他们每个人都有 3 到 17 年的专业开发者经验,代表了有趣的背景交叉。

摩根士丹利 HTML5 开发者 Dimitar Christoff

和我的许多朋友一样,我努力学习 Javascript,最终编写了一堆插件和工具。令人惊讶的是,有人在使用它们,所以我将其中一些移到了 GitHub 上。没过多久,我就开始想要参与一个更大的项目,所以我花时间尝试帮助 Mootools-core 团队,提交了一些补丁,感觉很棒。我与团队和社区的互动教会了我很多关于协作和项目管理以及流程(fork、分支、拉取请求、测试)的知识。最终,这使我能够在企业和投资银行领域追求事业,并使我成为一名更好的开发者。老实说,并非所有贡献都需要代码,通常广泛的错误报告以及良好的用例或参与代码/架构讨论对于项目来说可能非常宝贵,而无需在工作时间内发布开源代码的法律问题。其他人可以帮助测试预发布版本,从事项目中不太关键的路径——例如文档、网站或通过 IRC 或 StackOverflow 进行用户支持等。或者撰写博客文章和教程,可能性是无限的。每个人都可以提供帮助。在某个时候,大多数人都会这样做。

Space 48 技术总监 Tony Brown

我贡献的第一个开源平台来自在一个商业项目中使用该系统。随着我继续使用该平台,我发现了一些阻碍进度的错误。在首先查阅文档和使用论坛后,如果我找到了解决方案,那么将这些修复程序推送回项目是自然而然的事情。那里的社区工具能够实现良好的沟通,即使解决方案第一次不正确,也会促使讨论。这会带来更好的结果,并且所有参与方都倾向于从经验中学习。从贡献和知道您的工作是项目的一部分中获得强烈的满足感。您还可以在这些社区中建立牢固的关系,这可以促进进一步的想法和机会的分享。

Winwar Media 软件开发者 Rhys Wynne

我将开源视为在团队中工作并向同行学习的机会。在我居住的曼彻斯特,我们很幸运拥有一个很棒的社区;因此,有人呼吁招募一名专门的 Wordpress 贡献者,我参加了。这让我学习了贡献的过程。对我而言,开源尤其对我的职业生涯很重要,因为它可以建立声誉。随着许多东西被开源,我可以轻松分享我所知道的,而无需签署保密协议,或者将东西隐藏在封闭的系统中。我还可以学习其他开发者如何进行更改和工作,如果个人正在招聘或寻求扩展他们的团队,那么希望他们在招聘时会想到我。

Building Blocks 前端开发者 Daniel Furze

最初促使我的是,我想要在我正在为我的构建使用的开源插件中添加一个功能,并决定为我正在使用的项目添加它。我认为其他人可能会从该功能中受益,因此联系了该插件的作者,他建议我在 GitHub 上提交一个拉取请求。然后,我整理了我的代码并提交了它,随后它作为一项功能发布。我对那感到非常满意,这促使我开发了同一插件上的另一个功能,然后继续为我认为有用的其他项目做出贡献;或者只是我发现有用的,希望其他人也会觉得有用。

对我来说,学习曲线并不太难,最初向 GitHub 上的项目提出功能建议有点令人生畏,但我发现大多数时候您的建议都是受欢迎的。我也发现,在一些较大的项目中,项目所有者会毫无解释地关闭建议或拉取请求,主要是在由 Google 或其他大型公司的开发者控制的较大的开源项目上。我认为最好的建议是直接参与,不要害怕你的想法被拒绝;这种想法曾经阻止了我一段时间。您偶尔会遇到一些被拒绝的情况,但如果您相信自己的贡献对他人有用,那就去做吧。创建可以帮助他人的工具并为他人的工作做出贡献并受到赞赏的感觉,远远超过您可能有的任何负面想法和担忧。

自由职业软件开发者 Damian Green

我从小就开始为了乐趣而编码。在过去的 5 年左右的时间里,我一直以自由职业者的身份为不同的公司构建、扩展、增强和重写软件。最近,我为一个社交媒体监听初创公司签订了一份合同,从而进入了开源开发的世界。我在这个短期项目中的部分职责是开发一个 Instagram feed 导入器组件。我发现一个开源项目在实现 Instagram 的 C# API 包装器方面取得了一些进展,尽管它需要一些额外的功能。重写 API 并不是一个真正的选择,所以我试探性地联系了该开源项目的所有者,询问他是否会考虑我添加某些功能。在几周的时间里,我添加了更多功能,并与来自巴西的另一位开发者进行了交流,我从未见过他,并且可能永远不会见面。

值得一提的是,从参与开源项目中可以获得乐趣。在快节奏、以截止日期为驱动的就业市场中,开源运动在其最纯粹的形式下,提供了一个可以构建健壮的框架、逐步批评、扩展以及由全球优秀的开发者社区进行同行评审的场所。因此,对于软件从业界的纯粹主义者来说,开发出一件更健壮、更高标准的作品,并且可能在未来的项目中很有用,具有一定的吸引力。在作为我的日常工作的一部分参与 Instagram API 项目后,我受到驱动,在工作时间之外继续做出贡献,以填补功能方面的空白,添加文档以帮助开发者采用,并偶尔回答潜在系统用户的问题。

这可能会让人上瘾。许多开源软件开发者这样做是作为他们通常工作日之外的一项外部活动,因为开发是他们的职业,并且做一些不仅仅是纯粹的雇佣活动的事情会让人感到非常满足。这几乎可以感觉像是一种仁慈的行为,因为没有最终客户在催促您,您可以有耐心正确地考虑如何实施。

开源运动通常处于技术发展的前沿,并且是第一个创新的,因此作为一名软件从业人员,您在就业市场中的稳定性取决于与时俱进的技术。现在的职位招聘广告可能会招聘为开源项目做出贡献的开发者。就我个人而言,我期待能够继续以我力所能及的微小方式支持和贡献开发项目,并成为开源这个社交社区的一份子。

我建议首先在 GitHub 上查看,并搜索您感兴趣的任何项目。例如,如果您对 3D 可视化感兴趣,您可以搜索它,看看是否有一些高星级/受欢迎的项目上存在需要修复的未解决错误或需要添加的文档。如果项目所有者仍然积极参与该项目,那么通常欢迎任何贡献。

您的开源入门故事是什么?在评论中与我们分享吧!

开源入门
开源

关于如何开始参与开源的文章合集

标签

评论已关闭。

© . All rights reserved.