在贡献者故事系列中,我们的主要开源贡献者和社区成员介绍了他们正在参与的项目、在开发过程中取得的成功和面临的挑战,以及有关初步参与开源项目的最佳实践。在今天的博文中,我们请来了 Mapillary 的贡献者 Mahmoud Ali。Mahmoud 通过 MLH Fellowship 参与解决问题以及提高编码效率。下面我们一起看看这位贡献者的故事,了解如何为 Mapillary 做出贡献。
“我获得了机会,可以直接与 Meta 的高级开发者们一同工作并向他们学习。参与 RapiD 让我得以接触地图绘制社群,每天都能学到新东西!”
我是埃及开罗大学计算机科学专业的大四学生。除了参与 MLH 和修学外,我还是一名兼职自由职业者。
不计薪酬地为一份工作投入时间和精力,这一做法令我向往。我能够从开源项目中学到一些方法,精进自己在生产级代码库方面的相关能力,同时也觉得自己的工作有助于简化日常软件的用户体验。
我目前参与的是 Mapillary,这个项目可根据街道图像批量提供地图数据。
该项目的维护者 Benjamin 和 Christopher [Beddow] 非常友好,他们设置了入门级别的问题和寻宝游戏,让我们首次接触代码库时获得了非常流畅且有趣的体验。除此之外,我们还会定期开会讨论任何阻碍因素,并且总是乐于解释重要的话题,即使这些话题与项目没有直接关系,也是如此。
我现在参与的项目就很复杂。我遇到了很多不熟悉的概念。然而,无论这些概念是简单还是复杂,Benjamin 总是会倾听我的问题并施以援手,帮助我理解这些概念。
我所负责的主要部分几乎就要完成了。我正在修复一个漏洞,之后我将清理代码并添加测试,从而适配要添加的新层级。
我在函数式编程基础知识的应用方面学到了很多。举例而言,我明白了如何解耦代码以创建没有副作用的函数、如何使用 Git,以及如何使用 D3.js 创建复杂用户界面。除此之外,我还学习了如何为开源项目做出贡献,并学会了如何构建我的拉取请求,以便审核人员轻松评估我的贡献。
开源社群十分热情友好。如果问对了人,就很可能会得到问题的答案,甚至还能收获指导。
万事开头难,但工作会日益轻松起来。久而久之,您对架构和设计决策的熟悉程度会加深,并会开始喜欢这些内容。无论您对项目所用技术有多熟捻于心,都要从简单的项目任务开始做起。要尽量及时获取反馈,这样您才能知道自己的方向是否正确无误。
非常感谢 Mahmoud 抽空与我们分享项目经历。了解为开源项目出力的过程非常有趣,我们诚挚感谢 Mahmoud 长期以来为 Meta Open Source 生态系统所做出的贡献。如果您想进一步了解 Mahmoud 的工作内容,请在 GitHub 上关注 Mahmoud。
Meta 的开源不仅仅关乎代码。它还提供了开发环境便利,方便具有不同背景和经验的合作者聚集到一起来探讨项目概念,促进创新,共同完成项目。
这篇博客是贡献者故事系列的其中一篇,这些贡献者在文中讲述了他们为开源项目做贡献的经历,例如,为 Meta Open Source 生态系统下的开源项目做出了什么贡献,如何参与开源项目,在开发过程中取得了哪些成功、面临哪些挑战,以及是什么激励着他们参与开源项目。请大家关注贡献者故事系列的其他博文,我们会在其他博文中介绍各种不同的开源项目,以及如何为这些开源项目做贡献。
如需了解有关 Meta Open Source 的更多信息,请访问我们的 Open Source 网站、订阅我们的 YouTube 频道,或在 Twitter 和 Facebook 上关注我们。