Skip to content

Google Summer of Code with Kotlin 2026

本文包含 Google Summer of Code (GSoC) with Kotlin 2026 的项目构想列表,以及贡献者指南

Kotlin 资源:

如果您有任何疑问,请通过 [email protected] 联系我们

Kotlin 贡献者指南 – Google Summer of Code (GSoC)

快速入门

  1. 查看 GSoC 常见问题解答计划公告

  2. 熟悉 Kotlin 语言:

  3. 了解 Kotlin 开源社区:

如何申请

  1. 查看项目构想并选择您想要参与的项目。
  2. 如果您不熟悉 Kotlin,请阅读 Kotlin 网站上的介绍信息
  3. 参考 GSoC 贡献者指南
  4. 通过 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