16.3.2 Kotlin 2026 年 Google Summer of Code
4 分钟阅读
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 贡献者指南
入门
- 官方 Kotlin 网站是一个很好的起点。
- 阅读官方文档,更好地理解这门语言。
- 看看 JetBrains Academy 上的 Kotlin 课程,或 Android 团队的培训选项。
- 关注 Kotlin X 或 Kotlin Bluesky 账号,了解最新新闻和进展。
- 查看 Kotlin YouTube 频道,获取教程、技巧和最新更新。
- 了解 Kotlin 开源社区:
- 浏览通用的 Kotlin 贡献指南。
- 加入 Kotlin Slack 频道,与其他开发者交流并获得帮助,解决你可能遇到的任何问题。
- 加入 #gsoc 频道,向 GSoC 团队提问并获取支持。
如何申请
- 查看项目构想,选择一个你愿意参与的项目。
- 如果你不熟悉 Kotlin,请阅读 Kotlin 网站上的入门信息。
- 参考 GSoC 贡献者指南。
- 通过 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