FreeBSD 和 Google 暑期代码项目
Google 暑期代码项目 (GSoC) 是 Google 公司赞助的年度活动。它使贡献者能够在夏季“实习”开源软件项目 8 到 22 周。工作在一位或多位导师的指导下完成,并且努力将获得津贴。FreeBSD 自 2005 年以来每年都是参与组织,并且在 2024 年再次被授予指导组织的职位,拥有11 个项目。
如果您对操作系统开发感兴趣,“实习”一个像 FreeBSD 这样长期且成功的开源操作系统是一个极好的机会。FreeBSD 成立于 1993 年,是一个用于服务器、桌面和嵌入式计算机平台的先进操作系统。它提供了高级网络、令人印象深刻的安全功能和高性能。它是许多商业产品的基础,包括索尼的 Playstation、任天堂的 Switch、NetApp 的 OnTap/GX、瞻博网络的 Junos 操作系统,并且是苹果 OS X 核心起点的基础。该项目由数百名“提交者”和更多在操作系统不同部分拥有经验的贡献者组成。我们许多过去的 GSoC 学生后来都成为了 FreeBSD 开发人员。夏季结束后,贡献者可能会得到 Google 或 FreeBSD 基金会的赞助,在会议上展示他们的工作成果。这可能是一个很好的工作网络机会!
重要步骤
-
确定您是否有资格参加 GSoC。
-
及时关注时间轴。
-
找到一个项目和一个导师。
-
向 Google 提交提案。
查找项目和导师
一个至关重要的步骤是选择合适的项目和导师。如果您想获得成功,请尽早开始您的搜索。项目想法列表 是一个有用的起点,但不要局限于这些项目。您可以尝试给项目上列出的技术联系人之一发送邮件和/或给[email protected]列表发送邮件。介绍你自己,并描述你的兴趣和经验。这可能会引起一位或多位开发人员的兴趣,他们可能会建议一个项目和导师。
我们还维护一个更通用的想法页面。这些项目不太适合作为暑期代码项目,因为它们的范围可能比一个夏季更大或更小,或者可能没有那么明确的导师。如果您确实决定提议其中一个项目,我们建议您发送邮件到我们的[email protected]寻求帮助。这些页面存在是为了提供灵感。另一个寻找关于 FreeBSD 中即将开展的开发项目的项目想法的地方是FreeBSD 状态报告。贡献者也受到欢迎,并且确实鼓励,提出您自己的想法,如果提案很强,我们会尝试为您匹配一位导师!
为了获得灵感,您可以查看往年贡献者的项目。
提案指南
贡献者负责撰写提案并在申请截止日期前提交给 Google。以下提纲改编自 Perl 基金会。提案的目的是确定要做什么,解释为什么要这样做,并说服我们
-
您有资格完成此项目。这意味着既要具备必要的背景,又要展示对问题的总体理解。
-
您拥有完成项目所需的资源(尤其是时间!),并在暑期代码项目的工作期间内完成。
一份优秀的提案将包括(至少)
一般信息
-
姓名
-
电子邮件
-
电话
-
IM/IRC
-
可用性
您每周将花费多少小时来完成这项工作?其他事情呢?您今年夏天还有哪些其他义务(工作、学校、假期、婚礼等)?尽可能具体:项目何时开始和结束?(您应该在程序开始前准备好制作一份每日时间表。)
请注意:参加 Google 暑期代码项目需要大量时间投入,如果您已经计划了其他暑期全职工作,则不应申请。
-
个人简介
你是谁?你为这个项目带来了哪些技能?您之前参与过 FreeBSD 项目吗?(之前参与并非必需,但理想情况下,您至少应该安装过 FreeBSD,也许还修复过一两个错误)如果您的项目包括使用特定语言(例如 C)或特定环境(例如内核或嵌入式平台)进行编程,那么您在该领域有哪些经验?您是否熟悉或使用过版本控制系统?您是否完成过与您的项目想法相关的课程?您认为您需要学习什么才能完成此项目?
-
可能的导师
可选,但强烈建议。如果您尚未联系过他们,请不要在此处填写姓名。
项目信息
-
项目标题
不超过 40 个字符,您提议要做什么。
-
项目描述
几段描述您的项目。直接复制想法页面上的内容将被拒绝 - 提案应表明您已对问题及其解决方案进行了一些研究。包括您将要做什么以及为什么这对 FreeBSD 项目有益。
-
可交付成果
可量化的结果和相关代码里程碑的列表。我们建议在中期评估之前至少有两个里程碑,之后有两个。在适当的情况下,此时间表应包括多个可提交或可发布的点,以便人们尽早地受益于和/或测试您的工作。
-
测试计划
您的代码的哪些部分需要测试以及您计划如何测试它们?这可能包括功能和性能测试。
-
项目时间表
项目需要多长时间?您何时可以开始工作?
沟通和开放性
我们期望项目工作在 git 中完成,并要求将工作定期推送到公共存储库。提供公共访问权限有助于协作,允许项目存档,并帮助导师和社区支持和监控正在进行的工作。贡献者还将被要求维护和更新其工作成果的 wiki 页面。电子邮件(包括邮件列表)、IRC、即时消息(Matrix、Slack 等)和视频会议是过去贡献者和导师进行沟通的一些方式。鼓励贡献者也使用这些和其他方法与更广泛的 FreeBSD 社区互动。
常见问题
-
在哪里可以找到截止日期列表?
GSoC 时间轴 是详细时间表信息的权威来源。
-
我在哪里注册?
所有贡献者必须在Google 暑期代码项目主页上注册并通过该页面提交申请。
-
您对可能想要提交提案的贡献者有什么建议?
经验表明,最强的提案来自在提交提案之前很久就联系了 FreeBSD 开发人员和潜在导师、寻求他们对提案想法的反馈以及撰写反映他们在探索和理解待解决问题领域所花费时间的提案的贡献者。即使您联系的 FreeBSD 开发人员最终不是该项目的导师,他们的反馈也可能非常宝贵。
-
我可以向 FreeBSD 项目提交多个项目提案吗?
可以,但请确保您为每个提案投入了足够的时间。我们无法接受每个贡献者超过一个项目,因此您可能最好花更多时间在一两个详细的提案上,而不是提交许多不太详细的提案。
-
FreeBSD 项目是否会接受多个贡献者来完成同一个想法?
一般来说,我们只会为任何给定的提案想法接受一位贡献者,因为我们想法列表中的大多数提案想法都是针对单个贡献者暑期项目而设计的。这是考虑提出您自己的想法,或者至少确保您对我们项目想法之一的提案反映了您独特的贡献和观点的一个很好的理由。如果您计划提交多个提案,您可以考虑使用列表中的想法提交一个,并使用原创想法提交另一个。
-
如果我的提案在申请过程中未被选中怎么办?我还能参与吗?
我们总是收到比贡献者名额多得多的优秀申请,但这并不意味着您无法继续完成项目。FreeBSD 项目始终欢迎新志愿者参与项目,并且通常很乐意为那些提案未被选中但仍希望继续完成项目的贡献者提供指导和支持。您需要与 FreeBSD 项目 GSoC 管理员合作以确定可能的导师。但是,Google 将不会为该参与提供资金。
-
我如何才能更多地了解 FreeBSD?
FreeBSD 项目主页 是了解该项目的最佳方式 - 从那里您可以访问 FreeBSD 手册、FreeBSD 开发者手册、项目邮件列表存档、定期项目状态报告等等。如果您对特定项目想法有疑问,请发送邮件给这些想法的技术联系人。如果您有与 FreeBSD 相关的通用 GSoC 问题,例如您无法联系到项目技术联系人、需要帮助查找文档或想知道谁可能是与您讨论您的想法的合适人选,请发送邮件至[email protected]。
-
我可以在哪里联系相关人员讨论提案想法或其他与 FreeBSD 和 GSoc 相关的话题?
您可以在FreeBSD 暑期代码项目 IRC 频道中与我们联系,发布到黑客邮件列表,或发送邮件至[email protected]。
-
我在哪里可以找到 Google 提供的更多信息?
最后修改于:2024年5月14日 由 Joseph Mingrone