16.3.2 Kotlin 2026 年 Google Summer of Code

原文链接: https://kotlinlang.org/docs/gsoc-2026.html

16.3.2 Kotlin 2026 年 Google Summer of Code

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

注意: Kotlin 资源:* Kotlin GitHub 仓库 * Kotlin Slack 以及 #gsoc Slack 频道 如果你有任何问题,请通过 gsoc@kotlinfoundation.org 联系我们

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

入门

  1. 查看 GSoC 常见问题和项目公告。

  2. 熟悉 Kotlin 语言:

  1. 了解 Kotlin 开源社区:

如何申请

  1. 查看项目构想,选择一个你愿意参与的项目。
  2. 如果你不熟悉 Kotlin,请阅读 Kotlin 网站上的入门信息。
  3. 参考 GSoC 贡献者指南。
  4. 通过 GSoC 网站申请。
  • 我们建议你编写一段与所提议项目相关的可运行代码示例。你也可以向我们展示任何你特别引以为豪的代码示例。
  • 说明你为什么对 Kotlin 感兴趣,以及你在 Kotlin 方面的经验。
  • 如果你参与过开源项目,请提供你的贡献记录。
  • 如果你有 GitHub、Twitter 账号、博客,或技术/科学出版物作品集,也请一并提供。
  • 披露因考试、假期等其他安排而与 GSoC 时间线产生的任何冲突。

谢谢!我们期待阅读你的申请!

项目构想

Kotlin 编译器模糊测试器(Kai)[困难,350 小时]

近年来,模糊测试已成为一种被广泛使用的技术,用于发现软件中的复杂缺陷。Kotlin 编译器也不例外:此前的模糊测试工作在不同编译器子系统中发现了 200 多个去重后的缺陷。

然而,现有的模糊测试器实现如今已经过时,无法合理地进一步演进。本项目的目标是基于以往的经验以及现代工具和技术,从零开始构建一个新的 Kotlin 编译器模糊测试器 Kai。

本次实习的主要目标是为模糊测试器未来的开发奠定坚实的基础。重点关注的方向包括:

  • 设计支持可插拔性的模糊测试器架构
  • 选择用于生成、变异和处理 Kotlin 代码的工具
  • 定义检测编译器故障的可靠方式
  • 为收集、分类和处理所发现的问题设计合适的工作流

作为交付成果,我们希望能创建一个模块化、易于演进的 Kotlin 编译器模糊测试器原型,而不是单体式实现。发现真实的编译器缺陷会是很大的加分项,但这并不是本次实习的首要目标。

如果你对本项目有初步问题,请联系导师:marat.akhin [at] jetbrains.com

预期成果

一个具有可插拔架构、支持未来演进的 Kotlin 编译器模糊测试器原型。

所需技能(必备)

  • 熟练掌握 Kotlin 或其他基于 JVM 的语言
  • 具备足以阅读相关论文和文档的技术英语能力
  • 对编译器有基本了解

所需技能(加分项)

  • 熟悉模糊测试或其他形式的程序分析
  • 有 Kotlin 编译器插件、IDE 插件或其他可插拔系统的经验
  • 有从零开始构建开发者工具项目的经验

你将学到什么

  • 编译器模糊测试的实践经验
  • 内部开发者工具是如何设计和构建的
  • 如何设计和实现可插拔系统

可能的导师

Marat Akhin,JetBrains

本项目包含一项测试任务。请发送邮件至 education@kotlinlang.org 获取详细信息。

Swift 到 Kotlin 互操作(概念验证)[困难,350 小时]

现代软件项目很少只存在于单一语言生态系统中。在 Apple 平台上,Swift 是主要语言,而 Kotlin 被广泛用于共享和跨平台的业务逻辑。然而,目前还没有一种直接的方式把 Swift API 导入 Kotlin。

在本项目中,你将在现有的开源 Swift–Java 桥接方案基础上,把 Kotlin/Native 作为目标运行时加入其中。这包括设计如何向 Kotlin/Native 暴露 Swift API、调用如何跨越 Swift/Kotlin 边界,以及对象的生命周期如何在不同运行时之间管理。

目标是创建一个 Swift 到 Kotlin/Native 互操作的概念验证,记录设计决策和权衡取舍,并评估其局限性与未来方向。

预期成果

一个 Swift 到 Kotlin/Native 互操作的概念验证,并附有对设计决策、权衡取舍、局限性和未来方向的说明文档。

所需技能(必备)

  • 正在攻读或近期已完成计算机科学或相关领域的学位
  • 熟悉 Swift
  • 对编程语言和互操作感兴趣

所需技能(加分项)

  • 熟悉 Kotlin

可能的导师

Artem Olkov,JetBrains

本项目包含一项测试任务。请发送邮件至 education@kotlinlang.org 获取详细信息。

Kotlin/Wasm 后端的尾调用支持 [中等,90 小时]

本项目聚焦于把尾调用提案集成到 Kotlin/Wasm 后端中。实习生将设计并实现尾调用支持,并通过基准测试评估其影响。

预期成果

为 Kotlin/Wasm 设计并实现尾调用支持,并附上基准测试和评估。

所需技能(优先)

对解释器和编译器有总体了解,并对优化和基准测试感兴趣。

可能的导师

Charlie Zhang,JetBrains

Kotlin 教育现状报告 [中等,175 小时]

Kotlin 在世界各地的教育场景中被教授和使用。本项目旨在创建一份结构化、及时更新的概览,说明 Kotlin 在哪些地方被教授、以及如何被教授。

预期成果

  • 一份突出趋势与空白的“Kotlin 教育现状”报告
  • 可供内部和公开使用的可复用数据集
  • 为未来战略提供参考

所需技能(优先)

  • 研究能力和数据分析能力
  • 对编程教育和开发者生态感兴趣

可能的导师

Ksenia Shneyveys,JetBrains