Google Summer of Code with Kotlin 2026
本文包含 Google Summer of Code (GSoC) with Kotlin 2026 的项目构想列表,以及贡献者指南。
Kotlin 资源:
- Kotlin GitHub 仓库
- Kotlin Slack 和 #gsoc Slack 频道
如果您有任何疑问,请通过 [email protected] 联系我们
Kotlin 贡献者指南 – Google Summer of Code (GSoC)
快速入门
查看 GSoC 常见问题解答和计划公告。
熟悉 Kotlin 语言:
- 官方 Kotlin 网站是一个很好的起点。
- 阅读官方文档以更好地了解该语言。
- 查看 JetBrains Academy 上的 Kotlin 课程或 Android 团队的培训选项。
- 关注 Kotlin X 或 Kotlin Bluesky 账号,了解最新消息和进展。
- 查看 Kotlin YouTube 频道以获取教程、提示和最新更新。
了解 Kotlin 开源社区:
- 浏览通用的 Kotlin 贡献指南。
- 加入 Kotlin Slack 频道与其他开发者建立联系,并就您可能有的任何问题寻求帮助。
- 加入 #gsoc 频道向 GSoC 团队提问并获得支持。
如何申请
- 查看项目构想并选择您想要参与的项目。
- 如果您不熟悉 Kotlin,请阅读 Kotlin 网站上的介绍信息。
- 参考 GSoC 贡献者指南。
- 通过 GSoC 网站进行申请。
- 我们建议您编写一个与所提议项目相关的可运行代码示例。您也可以向我们展示任何您引以为傲的代码示例。
- 描述您对 Kotlin 感兴趣的原因以及您使用它的经验。
- 如果您参与过开源项目,请注明您的贡献历史。
- 如果您有 GitHub、Twitter 账号、博客或技术/科学出版物作品集,也请一并注明。
- 请披露因其他事务(如考试和假期)而与 GSoC 时间表产生的任何冲突。
谢谢!我们期待阅读您的申请!
项目构想
Kotlin 编译器模糊测试器 (Kai) [困难, 350 小时]
近年来,模糊测试(fuzzing)已成为发现软件中复杂错误(bug)的广泛使用的技术。 Kotlin 编译器也不例外:之前的模糊测试工作在不同的编译器子系统中发现了 200 多个去重后的错误。
然而,现有的模糊测试器实现已经过时,无法合理地进一步演进。 本项目的目标是基于以往的经验和现代工具与技术,从头开始构建一个新的 Kotlin 编译器模糊测试器 Kai。
本次实习的主要目标是为模糊测试器的未来开发奠定坚实的基础。重点领域包括:
- 设计支持可插拔性的模糊测试器架构
- 选择用于生成、变异和处理 Kotlin 代码的工具
- 定义检测编译器失败的可靠方法
- 设计用于收集、分类和处理发现的问题的适当工作流
作为交付物,我们的目标是创建一个模块化且易于演进的 Kotlin 编译器模糊测试器原型,而不是单体式的实现。发现真实的编译器错误将是一个巨大的加分项,但这不是本次实习的首要目标。
如果您对该项目有初步疑问,请通过以下方式联系导师:marat.akhin [at] jetbrains.com
预期成果
一个具有可插拔架构、支持未来演进的 Kotlin 编译器模糊测试器原型。
所需技能 (必修)
- 精通 Kotlin 或另一种基于 JVM 的语言
- 具备足以阅读相关论文和文档的技术英语水平
- 对编译器有基本了解
所需技能 (优先)
- 熟悉模糊测试或其他形式的程序分析
- 有 Kotlin 编译器插件、IDE 插件或其他可插拔系统的经验
- 有绿地(greenfield)开发者工具项目的经验
你将学到什么
- 编译器模糊测试的实践经验
- 内部开发者工具是如何设计和构建的
- 如何设计和实现可插拔系统
潜在导师
Marat Akhin, JetBrains
本项目包含一项测试任务。请发送电子邮件至 [email protected] 以获取详细信息。
Swift 到 Kotlin 的互操作 (PoC) [困难, 350 小时]
现代软件项目很少只存在于单一语言生态系统中。在 Apple 平台上,Swift 是主要语言,而 Kotlin 则广泛用于共享和跨平台的业务逻辑。然而,目前还没有直接将 Swift API 导入 Kotlin 的简便方法。
在这个项目中,你将在现有的开源 Swift–Java 桥接器的基础上,添加 Kotlin/Native 作为目标运行时。这包括设计 Swift API 如何暴露给 Kotlin/Native、调用如何跨越 Swift/Kotlin 边界,以及如何跨运行时管理对象生命周期。
目标是创建一个 Swift 到 Kotlin/Native 互操作性的概念验证 (PoC),记录设计决策和权衡,并评估局限性和未来的方向。
预期成果
一个 Swift 到 Kotlin/Native 互操作性的概念验证,包含记录完整的设计决策、权衡、局限性以及未来的方向。
所需技能 (必修)
- 目前正在攻读或最近完成了计算机科学或相关领域的学位
- 熟悉 Swift
- 对编程语言和互操作性感兴趣
所需技能 (优先)
- 熟悉 Kotlin
潜在导师
Artem Olkov, JetBrains
本项目包含一项测试任务。请发送电子邮件至 [email protected] 以获取详细信息。
Kotlin/Wasm 后端中的尾调用支持 [中等, 90 小时]
该项目专注于将尾调用(tail call)提案集成到 Kotlin/Wasm 后端中。实习生将设计并实现尾调用支持,并通过基准测试评估其影响。
预期成果
设计并实现 Kotlin/Wasm 的尾调用支持,并提供基准测试和评估。
所需技能 (首选)
熟悉解释器和编译器,对优化和基准测试感兴趣。
潜在导师
Charlie Zhang, JetBrains
Kotlin 教育现状报告 [中等, 175 小时]
Kotlin 在全球范围内的教育环境中被教授和使用。该项目旨在对 Kotlin 在何处以及如何被教授创建一个结构化的、最新的概览。
预期成果
- 一份突出趋势和差距的“Kotlin 教育现状”报告
- 可供内部和公众使用的可重用数据集
- 为未来战略提供输入
所需技能 (首选)
- 研究和数据分析技能
- 对编程教育和开发者生态系统感兴趣
潜在导师
Ksenia Shneyveys, JetBrains
