📜  如何准备 GSoC(Google Summer of Code)——完整指南

📅  最后修改于: 2021-10-19 04:53:26             🧑  作者: Mango

你有什么有趣的想法在 VLC 媒体播放器中添加一个功能,这是全球数百万用户使用的最流行的媒体播放器?
你是开源贡献的新手还是对开源项目感兴趣?
如果您对开源项目感兴趣,并且如果您的开发人员的头脑可以产生好的想法,通过添加一些功能使软件对其用户更有价值,那么 Google Summer of Code 是展示您技能的最佳平台。
Google Summer of Code 您也可以将其视为编程世界的奥斯卡,它是一年一度的全球计划,旨在在学生和Apache、Eclipse、Mozilla、GNOME等开源组织的帮助下促进开源开发。

如何准备 Google-Summer-of-Code-A-Complete-Guide

Google 匹配来自大学的导师和程序员,致力于为全球用户创造价值的重要开源项目。它始于 2005 年,是学生利用暑假学习和参与开源项目的绝佳机会。谷歌每年从 5 月到 8 月中旬(大约大约三个月的计划)都会组织这项活动,让学生与自己选择的组织和项目合作。他们为云、图形、编程语言、操作系统、机器人、科学、安全、医学等广泛的项目做出了贡献。

它如何运作以及何时申请?

有兴趣参加 GSoC 的学生,选择他们有兴趣与之合作的组织,并与他们取得联系。许多开源组织都申请了 GSoC,一旦入围,Google 就会宣布这些组织的名称。当组织入围后,学生将他们的项目提案提交给选定的组织。这些提案和想法由组织入围,一旦完成,他们就开始共同制定提案和想法。然后,学生为这些组织编写代码,并从导师那里获得指导,并在暑假期间在与导师商定的截止日期前完成项目。
统计数据显示,印度确实做得非常好,并且在 GSoC 竞争中变得更加出色。您可以在 Google 开源博客上查看印度学生参与的统计数据。以下是 GSoC 2018 最被接受的学生名单。 这些名单还包括非 IITians,因此如果您不是来自 IIT 并且准备好在 GSoC 中努力工作,则无需低估自己的能力。

图片来源:谷歌

要查看 GSoC 每年访问 Google Summer of Code 的 Timeline 页面的截止日期和计划时间表。

注意:申请流程在 3 月左右正式开始,谷歌大部分时间在 2 月的第一周公布组织名单。尽早开始是好的。

资格标准

  • 您在注册时必须年满 18 岁。
  • 在宣布接受的学生建议书之日,您目前必须是经认可的大学的全日制或非全日制学生(或已被录取并承诺参加秋季学期)。
  • 您必须有资格在计划期间将居住的国家/地区工作。
  • 您不止一次被 GSoC 录取为学生。
  • 您必须居住在当前未被美国禁运的国家/地区。有关更多信息,请参阅计划规则。

好的……但是如何开始以及我是否足以参与?

我们知道,如果您是编程初学者,或者您认为 GSoC 只适合顶级程序员,那么您肯定会问这个问题,因为这是一项全球性的竞赛,参与其中并不容易。首先,请记住,如果您真的喜欢完整的过程和编程,这不是火箭科学,而且您不需要是计算机科学或 IT 专业。来自所有学科领域的学生都是成功的 GSoC 学生,我们已经讨论了非 IITians 也包括在内的统计数据。所以现在我们想问你几个问题……

  1. 您是否至少了解一种编程语言,如 C、C++、 Java、 Python、Ruby,并且您是否在大学阶段有这方面的经验?
  2. 你熟悉版本控制吗(如何使用Git和Github…)?
  3. 你知道如何为开源项目做贡献吗?
  4. 您对 Linux 还是 Ubuntu 感到满意?… 老实说很抱歉,但如果您使用 Windows,您会卡在中间。许多开发工具和技术在 Windows 和几乎所有组织的 Linux 系统或服务器的 GSoC 代码中都不能很好地运行。

在您进入 GSoC 之前,上述事情真的很重要。如果您对上述所有问题的回答都是“是”,那么您的 GSoC 之旅将变得更加轻松。如果不是……那么别担心,你可以给自己一些时间来学习上述所有内容。

如果您是初学者,那么首先您需要精通至少一种编程语言。一旦你学会了它,选择一个特定的领域,比如安卓开发、网络开发或任何你喜欢的领域,选择一个特定的领域并在其中制作项目。探索该领域并熟悉版本控制(Git 和 Github)。了解如何为开源项目做出贡献并探索 Github 上的一些项目。开始贡献并在您的领域获得更多经验。学会热爱 Linux 并习惯它,探索它的命令并了解文件结构。你也可以选择Ubuntu是初学者友好的,所以你也选择它。
您需要记住的另一件事是,您的软技能在 GSoC 中也很重要。您将经常通过电子邮件、Skype、Slack、Discord、IRC 等与导师互动。您还将准备文档、报告和博客文章。您可能需要参加会议或研讨会,并且在您为项目做出贡献的过程中还需要导师的帮助,因此在这里您的软技能或沟通在 GSoC 中非常重要。您也将能够理解并很好地响应反馈。

完成以上大部分事情??? … 现在让我们看看 GSoC 之旅以及如何申请?

使用 GSoC 开启您的旅程

1. 选择组织:

第一步从选择参与的组织开始。对于学生来说,这是一个重要且令人困惑的决定,因为不能保证 Google 会为 GSoC 选择他们的组织。我们肯定会讨论这一点,但要选择一个组织,您需要访问 GSoC组织页面,您可以根据您的领域和技能组合将组织列入候选名单。您可以根据您选择的项目或域过滤掉类别。

一旦您入围,该组织就会查看他们在 Github 上的开源项目、其他资源以及他们的实际工作。检查该项目是否适合您,然后准备一份您想要贡献和合作的组织和项目的列表。以下是选择组织时的一些提示……

  • 尽早开始是好的。因此,最好在 11 月至 12 月之前完成此步骤。
  • 我们已经提到,无法保证您的组织会被 Google 列入候选名单,因此您可以选择 2-3 个组织,但请确保不要增加数量,否则您将无法同时关注多个项目。
  • 列出过去几年在 GSoC 中连续入选的组织。这些组织有更高的机会再次入围。您可以从存档页面查看入围组织的列表。

选择组织后,您可以与他们联系(例如:Amahi),直接与导师聊天并了解项目,与过去的参与者交谈,查看过去 GSoC 评估中的项目,您可以查看以下代码库这些组织。通过 Slack/Gitter/IRC 加入组织频道。在那里介绍你自己,告诉他们你自己,你的技能,让他们知道你想为他们的回购做出贡献。他们总是欢迎新手或贡献者,他们随时准备提供帮助。在他们的频道中保持活跃并提出相关问题。询问他们希望在项目中看到的功能。了解他们的期望并讨论他们的想法。

2. 开始贡献:

一旦您选择了组织和项目,就开始为其做出贡献。这是 GSoC 最重要的阶段。当您新加入贡献者时,您可以从修复简单的错误或编写文档开始。从小的贡献开始,然后转向主要的贡献。因此,一旦您在项目上花费了一些时间,您就可以开始在项目中添加新功能,因为您将对组织中使用的语言、平台或软件以及那里的工作方式有所了解,并且将能够将点连接。如果您发现某些问题并解决这些问题,您还可以提出一些问题。一步一步来,但要尽可能多地做出贡献。以下是您开始为项目做出贡献时的一些提示……

  • 通过 IRC 联系导师并订阅开发者邮件列表。在频道上保持活跃并随时获取有关项目的更新。
  • 仔细阅读组织指南以获取贡献,例如如何提出问题或如何提交补丁。
  • 与提出问题和编写文档相比,修复错误或添加功能会给您带来更大的影响。
  • 学习一些贡献所需的技能和技术,清除您的基本疑虑。
  • 作为新手,不要害怕提出拉取请求,也不要害怕寻求帮助。你会得到人们的支持和帮助。此外,当您修复第一个错误时,请在 IRC 中让人们知道。当您受到他们的赞赏并且人们开始在组织中了解您时,您的信心就会增强。

3. 继续贡献直到组织公布:

如果你在 11 月至 12 月开始为该项目做出贡献,那么直到 2 月至 3 月你都会在 Github 上看到你的良好贡献图表,你会发现自己是一个自信的开发者。因此,请在 Google 公布组织列表时(2 月至 3 月)继续贡献。组织名单出来后,筛选出他们提供的项目,并最终确定您希望在暑假期间从事的工作。现在,您需要在暑假期间全心全意地工作,并为您选择的项目做出贡献。如果您已经为该组织做出了一段时间的贡献,那么您入围的机会就会增加。

注意:如果不幸的是您的组织没有被选中,请开始为任何其他组织做出贡献,不要失去希望。

4. 提出你的项目建议:

您需要尽快发送您的项目提案并请求导师的反馈。您的项目提案是完整的文档或项目的详细描述。把你的提案分解成不同的部分,比如你为什么要参与这个项目,你在 16 周的暑假期间会做出什么贡献。您的完整计划以及您将如何在该编码期内逐步构建项目。仔细考虑您的提案并写下所有描述。您的提案将在确保您的选择方面发挥重要作用。阅读质量提案要素,以下是您提出提案时的一些提示:

  • 保留详细的提案,因此请记住页数/字数无关紧要。尝试在您的提案中添加技术细节,如果您曾经为任何其他组织或开源项目做出过贡献,请在您的提案中提及它们。
  • 如果您的提案得到过去 GSoC 学生的审核,那就太好了。 (他们会告诉你提案中的优点和缺点)
  • 提及您将使用的语言或框架,如果有任何前端项目,您可以包含图表。此外,在那里包括您的目标。
  • 您的项目时间表应该格式正确,以便在几周内分解您的计划。提及您从第一周到上周的任务。
  • 您的提案将成为GSoC 中的广告,因此您需要说服您的导师提供理由,说明您是该项目的合适人选。

准备好提案后,与社区分享并征求反馈。他们的反馈将帮助您改进您的申请,并增加您入围的机会。进行改进后,提交您的最终 PDF 并等待结果。
查看下面的一些建议并获得更多关于它们的想法。

  • FOSSAsia Open Event Android 应用程序的增强
  • 维基百科的准确性审查

5. 继续贡献并等待结果:

提交提案后,您无需闲着。继续贡献,它会给人留下好印象,它会创造一个你是一个认真贡献者的形象。等待谷歌的结果,回顾一下你在开源贡献中学到了多少。

GSoC 的优势

完成 GSoC 之旅后,您会发现自己是一个更加自信的开发人员。以下是我们想提及的一些好处:

  • 你会获得更多为开源项目做出贡献的机会,并且你会学到很多关于开源文化和社区的知识。您有机会与世界上最伟大的开发人员互动。在此过程中,您将学习很多技术、工具、版本控制,并且还与优秀的导师和程序员建立了强大的网络。
  • 印度学生的津贴数额巨大,为1500 美元(数额因国家而异)。
  • 参与 GSoC 为您打开了很多工作机会。您社区的成员可以将您推荐给某个地方,或者您也可以获得实习机会。您还可以获得 Google 申请的推荐,以获得实习或全职工作机会。谷歌已经联系了很多人,并提供了实习/工作机会。
  • Google 或 GSoC 的绝对标签可为您提供国际信誉,并在从参加会议到提升您的简历的任何地方提供帮助。

一些对您有用的链接:

  • Google Summer of Code 官网
  • 学生指南