GSoC2018
目录
Google Summer of Code 2018

Google Summer of Code 是一个全球性项目,旨在向学生介绍开源软件开发。学生在大学放假期间,与一个开源组织合作完成为期 3 个月的编程项目。
自 2005 年启动以来,该项目汇集了来自全球 108 多个国家/地区的近 13,000 名学生参与者。Google Summer of Code 为 608 个开源组织贡献了超过 3300 万行代码。
请查看 Google Developers 网站,了解有关该项目运作方式的更多信息。
OpenStack 有机会参与 2014 年 Google Summer of Code(更多详情 此处),结果非常积极:我们有 6 名实习生在 5 个不同的项目上工作,现在,其中一些实习生继续为我们的社区贡献。 鉴于如此出色的成果,我们决定再次申请成为 2018 年 Google Summer of Code 实习的指导组织。
常见问题解答链接:此处
实习时间表
请查看 GSoC 2018 实习网站,了解有关项目时间表的更多详细信息。
- 1 月 4 日:组织申请开放
- 1 月 23 日:组织申请截止日期
- 2 月 12 日:公布组织名单
- 3 月 12 日至 27 日:学生申请期
- 4 月 23 日:公布被选中的学生
- 4 月 23 日至 5 月 14 日:学生了解导师,阅读文档,为他们的项目做准备
- 5 月 14 日:学生开始编写 Google Summer of Code 项目代码
- 6 月 11 日至 15 日:导师和学生提交第一阶段评估
- 7 月 9 日至 13 日:导师和学生提交第二阶段评估
- 8 月 6 日:“停止下笔”日期
- 8 月 6 日至 14 日:学生提交代码、项目摘要和导师评估
- 8 月 14 日至 21 日:导师提交最终评估
- 8 月 22 日:公布 Google Summer of Code 的最终结果
什么是 OpenStack
OpenStack 是一个开源的 IaaS 云计算平台。它的使命是为任何规模的公共和私有云提供灵活的解决方案,为此,考虑了两个基本要求:云必须易于实施且具有大规模可扩展性。
为了满足这些原则,OpenStack 被划分为协同工作的不同组件。它包括 计算、存储、网络,以及帮助构建这个项目,The Cloud 的所有其他部分。
OpenStack 正在 不断发展,并且每天都在讨论新的令人兴奋的项目。
我们鼓励新贡献者参与并帮助我们使 OpenStack 成为最完整、最可靠和最灵活的开源云服务!
导师
如果您有兴趣在本轮担任导师,请在下方添加您的姓名、电子邮件、IRC 用户名以及您感兴趣的指导项目类型。请确保这些项目是 OpenStack 中的官方项目,并在 governance projects.yaml 中注册。
- Victoria Martinez de la Cruz - victoria AT redhat.com - vkmc - Manila (文件系统)
- Supun Wanniarachchi - supunpramoda AT gmail.com - Supun - Glance (镜像) 和 Swift (对象存储)
- Jay Bryant - jungleboyj AT gmail.com - jungleboyj - Cinder (块存储)
- Ivan Kolodyazhny - e0ne AT e0ne.info - e0ne - Cinder (块存储)
- Hongbin Lu - hongbin034 AT gmail.com - hongbin - Zun (容器管理)
- Raildo Mascena - raildom AT gmail.com - raildo - Oslo.config (配置库) 和 Castellan (通用密钥管理器接口)
- Davanum Srinivas - davanum AT gmail.com - dims - Zun (容器管理)
- Brian Rosmaita - rosmaita.fossdev AT gmail.com - rosmaita - Glance (镜像)
- Erno Kuvaja - ekuvaja AT redhat.com - jokke - Glance (镜像)
- Balazs Gibizer - balazs.gibizer AT ericsson.com - Nova (计算)
- Harry Rybacki - hrybacki AT redhat.com - hrybacki - Keystone (身份)
- Lance Bragstad - lbragstad AT gmail.com - lbragstad - Keystone (身份)
- Colleen Murphy - colleen AT gazlene.net - cmurphy - Keystone (身份)
- Rodrigo Duarte - rodrigodsousa AT gmail.com - rodrigods - Keystone (身份)
对导师的期望
申请期间
- 确保您每周可以抽出 3 到 4 小时来指导申请人。
- 在 IRC 上保持可用,并准备好回答有关 OpenStack、贡献流程以及您想要指导的项目的问题。
- 明确实习任务。在 实习想法 wiki 中添加有关学生需要做什么以及他们将使用哪些技术的详细信息。我们提供了一个模板来使这项任务更容易。
- 帮助审查学生提案。提供您所知道的所有关于学生的信息:此人在申请期间对该项目的参与程度如何,他们为了解项目和进行首次贡献付出了多少努力,他们是否积极主动和独立。我们希望选择最好的申请人,这些信息对选择阶段非常有价值。
实习期间
- 与您的学生保持流畅的沟通。确保他们没有遇到任何障碍,并在遇到障碍时帮助他们解决。他们应该建立起他们的开发环境,积极参与社区的主要沟通渠道,并准备好实习任务指南。
- 帮助您的指导对象取得成功。分享您在技术专业知识和流程意识方面的知识。有时您学到的东西可能会很困难,可以分享并节省学生的很多时间。
- 跟踪您的指导对象的工作。确保安排每周一次的交流,并记录他们正在做的事情。
- 确保将您的指导对象介绍给社区的其余成员。他们认识的人越多,他们就越容易解决可能遇到的任何障碍。
- 如果您需要帮助或有任何疑问或疑虑,请随时联系 GSoC OpenStack 协调员。
- 如果学生在实习期间不活跃,请务必提前告知 GSoC OpenStack 协调员。
实习结束后
- 与您的学生保持联系。他们可能对继续他们的贡献和/或在他们贡献的项目上获得全职工作感兴趣。
- 确保您的学生了解不同的社区聚会。
- 给您的学生一些关于如何参与社区的建议。
导师建议
不知道成为导师需要什么?请查看以下资源,以获取有关如何成为该实习的导师的更多信息,并获得有关指导的一些有用的技巧/窍门
学生
学生申请期于 3 月 12 日开放,并于 3 月 27 日结束。
如果您想提前开始您的提案,请在此处添加您的姓名、地点、电子邮件、IRC 用户名以及您感兴趣的项目(如果您已经知道的话)
- Sebastian Minutto - - elsauto - Zun
- Edozie Izegbu - eai267@g.harvard.edu - edzye101 - Keystone (Flask 支持)
- <姓名> - <电子邮件> - <IRC 用户名> - <项目>
对学生的期望
申请期间
- 了解 OpenStack 以及您要申请的项目。 确保您了解 OpenStack 软件的作用,您要贡献的项目目标是什么,以及社区如何进行沟通。查看 How_To_Contribute wiki,并确保您始终拥有 社区文档。此外,您可能希望将您的 开发者指南 针对您要贡献的项目进行书签。当然,我们鼓励您在 IRC 上的主要通信渠道 和 邮件列表 中提问。清晰简洁,提供支持信息(日志、配置、环境信息)到粘贴文件中。您可以使用 https://paste.openstack.org 来实现此目的。
- 安装并运行您要贡献的项目的开发环境。 我们使用 Devstack 来设置我们的工作环境。请查看您的项目 wiki 页面,了解有关您特定项目的更详细设置说明。您还希望向您的导师和/或您的项目 IRC 频道寻求指导。
- 查看实习任务并提出您可能有的任何问题。 与您的导师和您要申请的项目的团队成员交谈。
- 关注 IRC 上发生的事情,包括您的项目频道和 GSoC 频道。 此外,询问您的导师是否有每周会议,如果有,会议时间和地点是什么。
- 将您的姓名添加到此 wiki,以便我们知道您有兴趣申请此实习。 确保指定您的所在地、IRC 用户名、电子邮件以及您感兴趣的项目。
- 从小型任务开始贡献。 帮助代码审查、提交错误修复、更正您看到不准确或可以改进的任何文档。
- 记住要保持活跃。 努力工作。提出好的问题。如果知道答案,请回复其他人的问题。远程实习之所以有效,是因为学生与他们的导师和团队的其余成员保持开放和流畅的沟通。
- 完成您的申请并提交。 我们在 GSoC2018/StudentApplicationTemplate 中为您提供了一个模板。
被选中后
- 立即与您的导师联系。与他们一起合作,定义你们将如何一起工作:从哪里开始工作,何时开会,如何分享您的更新,以及在遇到障碍时如何联系他们。您应该可以在 IRC 上联系到,并在讨论和会议期间保持活跃。不要害怕在公共频道中发言:这是我们期望您做的事情。开源是在开放的情况下完成的,我们希望您乐于分享您正在做的事情以及您是否有任何问题,以便您的导师和社区的其余成员可以分享他们的想法。
- 制定一个时间表,说明您将如何解决实习任务。将工作分成几周,定义一些里程碑,并考虑一些额外的余量。
- 建立一个博客来记录您的工作,并开始分享您的 OpenStack GSoC 体验。写博客对您和可能对参与开源感兴趣的人来说都是很棒的。
实习期间
- 帮助处理日常任务,例如审查同行代码、修复错误、报告错误、整理错误(验证报告的错误是否可重现并保持错误列表的组织性)、增强文档。
- 每周提交进度报告,以便您的导师了解您这边的情况。如果您对如何与您的导师互动有任何疑问或疑虑,请联系 OpenStack GSoC 协调员。
- 如有疑问,请发送您的代码进行审查。这是开源中的良好实践。
- 您也是团队的一员,因此不要害怕参与对话并表达您的意见。您合作得越多,您的实习就会越有效。所有通信都应公开进行,即不要使用私人电子邮件。坚持使用 IRC 频道和邮件列表。
沟通
有问题吗?评论吗?疑虑吗?请随时联系我们,我们在这里提供帮助!
通过 openstack-dev 邮件列表 和 openstack-internships 邮件列表 与协调员、导师和学生取得联系。
此外,您可以在 irc.freenode.org 的 #openstack-gsoc IRC 频道找到我们。
实习提案
申请者需要在 Google Summer of Code 2018 管理网站中,在 3 月 12 日至 3 月 27 日期间提交实习提案。
一份好的项目提交应该包含以下内容
- 项目标题
- 学生姓名
- 学生背景(包括社交媒体,如 Twitter、博客、Github 等)
- 实习任务的简短摘要
- 实习任务详情和路线图(按里程碑分隔)
- 实习任务时间表(您将如何处理实习任务的更详细描述)
- 成功标准(如何知道您完成了任务?)
- 您的贡献对 OpenStack 的重要性
为了方便起见,我们为您留下了一个提案模板,请在 GSoC2018/StudentApplicationTemplate 处查看。
您还可以查看之前的申请:
准备好了吗?开始撰写您的提案吧!
实习想法
学生可以选择用于其申请的建议项目维护在 Internship ideas wiki 上。这并不意味着学生必须严格遵守此列表;不要犹豫,提出您自己的项目。积极主动!所有 FOSS 开发人员都习惯于主动提出他们面临的任何新挑战的想法,我们希望在我们的实习生中看到同样的情况!
撰写提案时,请尝试估算您的时间表,以适应 GSoC 编码的 4 个月时间。此外,请注意,GSoC 不考虑编码以外的项目,因此其他想法(如社区任务或 i18n 工作)不适合此实习。
当前实习想法的简要表格见下文。访问 Internship_ideas 以获取更多详细信息。
| 实习任务 | 项目 | 学生 | 主要导师 | 次要导师 |
|---|---|---|---|---|
| 将 Gnocchi 指标添加到 Manila | Manila | 待定 (TBA) | vkmc | 不适用 |
| OpenStack 作为虚拟 Kubernetes 节点 | Zun | 待定 (TBA) | hongbin | dims |
| 改进 Cinder 集成以用于 Docker 容器 | Zun | 待定 (TBA) | dims | hongbin |
| 帮助实现 Cinder 中的通用备份驱动程序支持 | Cinder | 待定 (TBA) | jungleboyj | e0ne |
| 镜像生命周期支持:'已退役'镜像 | Glance | 待定 (TBA) | rosmaita | jokke |
| 消除未缓存镜像的冗余下载 | Glance | 待定 (TBA) | rosmaita | jokke |
| 将 Nova 中的旧版通知转换为新的版本化框架 | Nova | 待定 (TBA) | gibi | 不适用 |
| 策略测试 | Keystone | 待定 (TBA) | hrybacki | lbragstad |
| Flask 支持 | Keystone | 待定 (TBA) | 不适用 | 不适用 |
| 原生 SAML | Keystone | 待定 (TBA) | cmurphy | rodrigods |
| 使 keystone 成为一个功能齐全的 IdP | Keystone | 待定 (TBA) | 不适用 | 不适用 |
更多想法
仍然没有符合您兴趣的项目吗?
请查看更多项目想法:
- Cinder - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/cinder-specs,n,z)
- Keystone - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/keystone-specs,n,z)
- Neutron - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/neutron-specs,n,z)
- Nova - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/nova-specs,n,z)
- Oslo - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/oslo-specs,n,z) 和正在进行中的规范 (https://git.openstack.org/cgit/openstack/oslo-specs/tree/specs/kilo)
- Rally - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/rally-specs,n,z)
- Sahara - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/sahara-specs,n,z)
- Swift - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/swift-specs,n,z)
- Trove - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/trove-specs,n,z)
- Zaqar - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/zaqar-specs,n,z)
- Glance - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/glance-specs,n,z)
- Searchlight - 浏览正在提出的规范 (https://review.openstack.org/#/q/project:openstack/searchlight-specs,n,z)