Google Summer of Code:获得选拔,我的时间,我的经历,我的旅程。
工程起步和创造激情
我是 David Okononfua,在尼日利亚主修电气和电子工程。从小到大,我一直热衷于建造东西,无论是小玩意还是数码产品。我在工程方面的学术经历进一步激发了我的这种热情,让我拥有了理解复杂系统的工具,并有动力去探索新的视野。
除了学术之外,我还在编码中找到了乐趣,它让我能够开发工具、库和产品,将想法变成现实。它成为我创造和创新的媒介。我的热情不仅限于技术;我参加了黑客马拉松,甚至还参加了夺旗赛 (CTF) 比赛,哈哈。解决问题、与他人合作和创造有形事物的刺激让我继续前进。
除了技术之外,我还热爱足球——我喜欢踢足球,而且可以连续几个小时热情地谈论足球。我还会吹萨克斯,这是一种让我能够用音乐表达自己的乐器;我还会下象棋,这是一种可以锻炼我的战略思维的游戏。这些兴趣爱好——既有技术方面的,也有娱乐方面的——塑造了我这样一个在生活的多个方面寻求平衡和满足的人。
初次邂逅:OSCAFEST 与开源世界
2022 年,我参加了在拉各斯举办的一场名为 OSCAFEST(开源社区非洲节)的变革性活动。这是我走向开源之旅的一个重要里程碑。在 OSCAFEST,我遇到了志同道合的人,他们对技术和协作有着同样的热情。其中就有 Favour,他是一名电气工程专业的学生,和我同级。Favour 和我一拍即合;我们共同的背景和兴趣让我们立即建立了联系。我们谈论了技术、工作、校外生活以及各种机会和平台。了解了 Community Pro 和 EddieHub——一个帮助初学者为开源做出贡献的社区。
这次活动本身生动地展示了开源的力量——世界各地的人们可以共同努力解决问题并构建更好的工具。它揭示了编程不仅仅是个人的才华,也是集体努力的结果。虽然我在 OSCAFEST 期间听到有人提到 Google Summer of Code (GSoC),但当时我并没有太注意。然而,好奇的种子已经种下。
了解开源
开源是指源代码公开的软件项目。任何人都可以查看、使用、修改和分发代码,只要他们遵守许可条款。开源促进协作和透明度,使世界各地的开发人员能够贡献、学习和分享知识。
开源软件的流行示例:Linux、Firefox、VLC Media Player 等。
开源的一些好处:
**协作:**开源项目实现全球协作,打破地理障碍。
**学习**:贡献者获得了编码、调试和解决问题方面的实际经验。
**社区:**这些项目培育了强大、支持性的社区。
**质量与创新**:通过不断的贡献,开源项目通常能够实现高质量并促进创新。
开源贡献基础知识
开源协作在 GitHub、GitLab 和 Bitbucket 等平台上蓬勃发展,开发人员聚集在这些平台上改进软件项目。在为这些项目做贡献时,了解关键概念至关重要。
通过参与这些过程,贡献者不仅可以改进软件,还可以获得团队合作、解决问题和协作方面的宝贵经验。
转折点:了解 GSoC
时间快进到第二年,Favour 在我们的一次谈话中告诉我,她已经成功参与了 GSoC。她解释说,该计划不仅为贡献者的工作支付报酬,还提供了一个成长和为开源做出有意义贡献的平台。这对我来说是一个顿悟的时刻。多年来,我一直在无偿为开源做贡献,纯粹是出于热情。做自己喜欢的事情还能得到报酬,这个想法既令人兴奋又令人鼓舞。我当时就决定努力申请下一轮 GSoC。
这个过程始于研究与我的技术堆栈相匹配的组织。当参与组织名单公布后,我仔细评估了每一个组织。最初,我从 15 个组织开始,然后缩小到 7 个,然后是 5 个,最后是 2 个。我缩小范围的标准包括他们社区的活跃程度、开放的拉取请求数量,以及我是否能产生重大影响。例如,一个项目有超过 150 个开放的拉取请求,这表明引起我注意的机会很小。
最终,我选择了 Accord Project,这是 DocuSign 旗下的一个专注于协议、合同和文档自动化的组织。他们的使命和技术挑战与我的技能和兴趣完美契合。
全身心投入 Accord 项目
一旦我决定加入 Accord Project,我就会立即开始为他们的代码库做出贡献。时间至关重要,因为申请截止日期即将到来。我积极参与他们的社区,直接向导师发送消息介绍自己并建立联系。我的贡献包括打开和合并多个拉取请求、修复错误和添加功能 - 这些行动展示了我的奉献精神和技术能力。
Accord 项目的工作让我着迷。他们正在构建支持 DocuSign 运营关键方面的工具,专注于自动化合同和协议。为一个具有实际应用并产生影响的项目做出贡献让我感到很有意义。
随着申请截止日期的临近,我精心起草了我的提案。我概述了我的目标、我打算为组织带来的价值以及我将利用哪些技能来实现这些目标。提交提案后,等待的时间令人紧张。在结果出来那天,我欣喜若狂地得知我被 GSoC 录取了。这是我的第一次尝试,喜悦之情难以言表。所有的努力、不眠之夜和决心都得到了回报。
我如何进来,你又如何进来。
**1. 选择正确的组织**
当 GSoC 的参与组织公布后,我仔细评估了它们,以找到最适合我的技能和兴趣的组织。以下是我缩小选择范围的方法:
**2. 为代码库做出贡献**
我在 GSoC 申请期开始之前就开始为 Accord 项目做贡献。我探索了他们的存储库,修复了问题,并与导师进行了交流。到申请截止时,我已经合并了多个 PR,并在社区中建立了良好的声誉。
**3. 撰写提案**
制定提案是一个细致的过程。我遵循以下步骤:
**4. 提交提案并等待**
提交完提案后,我焦急地等待着结果。结果公布的那天,我抑制不住内心的喜悦——我第一次尝试就被选中了!
给有志于成为 GSoC 贡献者的建议
寻找具有良好业绩记录的活跃组织。
将您的兴趣和技能与他们的项目相结合。
GSoC 体验
参加 Google Summer of Code 是一次变革性的经历。它挑战了我作为一名工程师和合作者的成长。加入 Accord Project 意味着我每天都要与 DocuSign 的工程总监和 DocuSign 工程团队合作。我的任务是构建和改进简化文档工作流程的工具,对我来说,具体来说是一个模板游乐场。这项工作不仅需要技术专长,还需要沟通和团队合作技能。我与导师和社区成员互动,从他们丰富的经验中学习,并深入了解开源最佳实践。
最有成就感的方面之一是看到我的贡献立即产生影响。我打开的拉取请求被审查、合并和部署,成为人们所依赖的工具的一部分。这种使命感进一步激发了我对开源的热情。
反思与未来愿景
回顾过去,我进入开源和 GSoC 的旅程是由好奇心、决心和社区支持共同塑造的。从参加 OSCAFEST 和与 Favour 会面,到为 Accord 项目做出贡献并在 GSoC 中取得成功,每一步都是一次学习经历。它教会了我坚持的价值、合作的重要性以及创造帮助他人的解决方案的乐趣。
如今,我的目标是继续以专业前端工程师的身份构建高性能、易用且功能丰富的应用程序。我的经验涵盖跨多个 API、第三方集成和数据库开发应用程序、设计精美的用户界面以及扩展 Web 产品。我努力利用这些技能做出有意义的贡献,无论是在开源还是专业环境中。
展望未来,我对各种可能性感到兴奋。开源让我看到技术可以成为一种向善的力量,我致力于成为这种变革的一部分。无论是为有影响力的项目做出贡献、指导新人还是探索新技术,我都已准备好迎接未来的挑战和机遇。
参考
为了进一步探索和了解开源贡献和 Google Summer of Code 等计划,以下是一些有用的资源: