返回开发者新闻

Mapillary:Mahmoud Ali 的贡献者故事

2022年6月9日发布者:Navyata Bawa

贡献者故事系列中,我们的主要开源贡献者和社区成员介绍了他们正在参与的项目、在开发过程中取得的成功和面临的挑战,以及有关初步参与开源项目的最佳实践。在今天的博文中,我们请来了 Mapillary 的贡献者 Mahmoud Ali。Mahmoud 通过 MLH Fellowship 参与解决问题以及提高编码效率。下面我们一起看看这位贡献者的故事,了解如何为 Mapillary 做出贡献。


“我获得了机会,可以直接与 Meta 的高级开发者们一同工作并向他们学习。参与 RapiD 让我得以接触地图绘制社群,每天都能学到新东西!”

请介绍一下您的情况

我是埃及开罗大学计算机科学专业的大四学生。除了参与 MLH 和修学外,我还是一名兼职自由职业者。

是什么激励您参加开源项目?

不计薪酬地为一份工作投入时间和精力,这一做法令我向往。我能够从开源项目中学到一些方法,精进自己在生产级代码库方面的相关能力,同时也觉得自己的工作有助于简化日常软件的用户体验。

您目前在做什么项目?

我目前参与的是 Mapillary,这个项目可根据街道图像批量提供地图数据。

您从何处了解到该项目?为了加入这个项目,您采取了哪些行动?

该项目的维护者 Benjamin 和 Christopher [Beddow] 非常友好,他们设置了入门级别的问题和寻宝游戏,让我们首次接触代码库时获得了非常流畅且有趣的体验。除此之外,我们还会定期开会讨论任何阻碍因素,并且总是乐于解释重要的话题,即使这些话题与项目没有直接关系,也是如此。

在参与项目的过程中,您是否遇到过任何挑战或障碍?您是怎样解决的?

我现在参与的项目就很复杂。我遇到了很多不熟悉的概念。然而,无论这些概念是简单还是复杂,Benjamin 总是会倾听我的问题并施以援手,帮助我理解这些概念。

在参与项目期间,您认为哪些资源对工作帮助最大?

  • 我与 Benjamin 定期召开的会议。
  • Mapillary 的 Discord 频道
  • 25 days of D3.js 博客

该项目的开发现状如何?

我所负责的主要部分几乎就要完成了。我正在修复一个漏洞,之后我将清理代码并添加测试,从而适配要添加的新层级。

回顾过去的工作,您从该项目、开发过程及开源方面学到了什么?

我在函数式编程基础知识的应用方面学到了很多。举例而言,我明白了如何解耦代码以创建没有副作用的函数、如何使用 Git,以及如何使用 D3.js 创建复杂用户界面。除此之外,我还学习了如何为开源项目做出贡献,并学会了如何构建我的拉取请求,以便审核人员轻松评估我的贡献。

参与这个项目和一般的开源项目,您最大的收获是什么?

开源社群十分热情友好。如果问对了人,就很可能会得到问题的答案,甚至还能收获指导。

您对未来的开源项目贡献者有什么建议?

万事开头难,但工作会日益轻松起来。久而久之,您对架构和设计决策的熟悉程度会加深,并会开始喜欢这些内容。无论您对项目所用技术有多熟捻于心,都要从简单的项目任务开始做起。要尽量及时获取反馈,这样您才能知道自己的方向是否正确无误。

非常感谢 Mahmoud 抽空与我们分享项目经历。了解为开源项目出力的过程非常有趣,我们诚挚感谢 Mahmoud 长期以来为 Meta Open Source 生态系统所做出的贡献。如果您想进一步了解 Mahmoud 的工作内容,请在 GitHub 上关注 Mahmoud。


贡献者故事系列简介

Meta 的开源不仅仅关乎代码。它还提供了开发环境便利,方便具有不同背景和经验的合作者聚集到一起来探讨项目概念,促进创新,共同完成项目。

这篇博客是贡献者故事系列的其中一篇,这些贡献者在文中讲述了他们为开源项目做贡献的经历,例如,为 Meta Open Source 生态系统下的开源项目做出了什么贡献,如何参与开源项目,在开发过程中取得了哪些成功、面临哪些挑战,以及是什么激励着他们参与开源项目。请大家关注贡献者故事系列的其他博文,我们会在其他博文中介绍各种不同的开源项目,以及如何为这些开源项目做贡献。

如需了解有关 Meta Open Source 的更多信息,请访问我们的 Open Source 网站、订阅我们的 YouTube 频道,或在 TwitterFacebook 上关注我们。