Google Summer of Code 或著名的“GSoC”是 Google 的一项举措,旨在增强开源文化和项目。开源软件是与计算机科学相关的一切事物的核心。如果你是一名计算机科学专业的学生并且没有使用任何开源工具/应用程序/软件/框架/平台/库和语言,那么你真的有问题。
尽管开源项目的重要性是巨大的,但这些项目大多是由各自的项目负责人出于爱好或乐趣而制作的,并且由于这些项目没有直接的货币化激励,并且它们缺乏专有或企业软件。为了消除这种情况,谷歌每年都会组织 GSoC,在该 GSoC 下,潜在的(具有更好影响和用例的)开源项目和学生为增强项目而努力。
正如您所看到的,这是一项伟大的倡议,您作为一名学生,可以为一些伟大的项目做出贡献,这些项目实际上可以提高人们的生活、生产力、发明步伐,并使这个世界变得更美好。哈哈 !
注意:如果您还没有看过《硅谷》和《机器人先生》,请帮自己一个忙。
每年来自世界各地的数千名学生申请GSoC,只有近千名学生(2018年为1, 264)被录取。很多竞争。我上次检查时没有任何适当的指南详细说明如何正确申请并最大限度地提高接受机会。由于我已经成功完成了 GSoC 2018,我有一些见解要分享。
如果您打算申请 GSoC 或现在没有任何工作要做,请继续阅读🙂
先决条件
- 任何 VCS(版本控制系统)的正确知识。
大多数项目使用 git 作为他们的主要 VCS 和 Github 或 Bitbucket 作为他们的 VCS 托管服务,所以我建议在 Github 上学习 Git 和协作。 - 以下任何一种语言:
C、C++、 Python、 Java和 Javascript。
使用其他语言的项目也存在,但对于新手来说,这是容易且必须了解的项目。此外,如果您了解更多语言,您将有更多选择。 - 几个相关的个人开源项目(不是强制性的,但为什么不呢?)
- 渴求知识
准备
- 在考虑申请 GSoC 之前,您至少应该使用一些开源软件,并且必须对某些子领域(机器/深度学习、人工智能、算法-DS、操作系统、数据库系统、网络、安全、开发等)感兴趣.) 计算机科学。以下准备工作必须在正式 GSoC 开始日期的 2-3 个月之前开始。
- 前往前一年的 GSoC 档案(这些项目最有可能再次出现)并根据您的兴趣搜索您想参与的项目/组织。
- 像普通用户一样使用该软件并枚举使用它的每一种方式。
- 根据该项目的要求调整您对技术堆栈和知识的学习,或者最好选择与您的学习一致的。
- 前往该项目的源代码存储库,设置开发环境,广泛阅读文档和其他相关文档。
- 完全熟悉源代码(一开始会令人生畏,但如果你彻底完成第二步,就会变得非常容易)。
- 在给定的沟通渠道上联系项目负责人/社区,向他们提出疑问、要修复的错误、功能增强等。
- 请他们为您分配任何任务并开始贡献。
应用
在选定的组织被宣布后(主要是在 2 月份),如果你选择的项目和组织在那里,那么不用担心,因为此时你会为项目做出很多贡献。如果它们不是,则再次开始为选定的准备工作。
申请 GSoC 包括编写项目的详细提案,其中突出显示项目的目的、您将在 GSoC 编码阶段添加的每一项改进以及使您适合该项目的原因。这不需要采用某种正式的格式,但也不应该非常非正式。如果您没有按照上述进行适当的准备并且不会反映经验,则提案写作可能会令人生畏和困难。这很容易导致项目被拒绝。就我而言,GSoC 的应用阶段只是一种形式,因为我已经以非常好的方式做出了贡献并与我的项目社区建立了联系。此外,公开共享的成功提案模板并不多。如果您无法决定提案的结构,您可以在此处查看我的提案。
学习
GSoC 期间的学习可能因人而异,具体取决于他们之前的经验。但对我来说,学习和经验获得曲线非常陡峭。诸如测试编写、协作开发、使用大型代码库、可维护编码等软件开发概念对我来说不再只是概念,因为我已经进行了彻底的实践。此外,您的项目所基于的计算机科学/技术概念将成为您的专长。 😉
津贴
在你的简历中提到成功完成 Google Summer of Code 表明你知道如何处理具有实际用户群的软件代码库,而不是个人项目。 GSoC 比在任何低层初创公司/公司的实习更有声望。所以我会推荐给大一和大二的学生申请GSoC。对于所有参与者来说,这是一个双赢的局面。学生获得宝贵的经验和高额津贴。开源项目得到增强。谷歌让这个世界变得更美好的动机 LOL X) 完成了。
如果您还没有阅读我的 GSoC 项目报告,请在此处阅读。
希望你能学到一些技巧……继续贡献,继续黑客攻击!!!
签约……Shoeb Patel 又名CaptainFreak