Skip to content

與 Kotlin 一起的 Google Summer of Code 2026

這篇文章包含 Google Summer of Code 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 編譯器 Fuzzer (Kai) [困難, 350 小時]

近年來,fuzzing(模糊測試)已成為在軟體中尋找複雜 bug 的廣泛技術。 Kotlin 編譯器也不例外:先前的 fuzzing 努力在不同的編譯器子系統中發現了 200 多個去重後的 bug。

然而,現有的 fuzzer 實作已經過時,無法合理地進一步演進。 本專案的目標是根據以往的經驗以及現代工具與技術,從頭開始打造一個新的 Kotlin 編譯器 fuzzer,名為 Kai

本次實習的主要目標是為 fuzzer 的未來開發建立堅實的基礎。重點領域包括:

  • 設計支援外掛化 (pluggability) 的 fuzzer 架構
  • 選擇用於產生、變異和處理 Kotlin 程式碼的工具
  • 定義檢測編譯器失敗的可靠方法
  • 設計用於收集、分類和處理已發現問題的適當工作流程

作為交付成果,我們的目標是建立一個模組化且易於演進的 Kotlin 編譯器 fuzzer 原型,而不是單體式 (monolithic) 的實作。發現真實的編譯器 bug 將是一個巨大的加分項,但這不是本次實習的首要目標。

如果您對該專案有初步疑問,請透過以下方式聯絡導師:marat.akhin [at] jetbrains.com

預期成果

一個具有外掛化架構、支援未來演進的 Kotlin 編譯器 fuzzer 原型。

必備技能 (must-have)

  • 精通 Kotlin 或其他基於 JVM 的語言
  • 技術英文能力足以閱讀相關論文和文件
  • 對編譯器有基本了解

加分技能 (nice-to-have)

  • 熟悉 fuzzing 或其他形式的程式分析
  • 具有 Kotlin 編譯器外掛程式、IDE 外掛程式或其他可外掛系統的經驗
  • 具有從零開始 (greenfield) 的開發者工具專案經驗

您將學到什麼

  • 編譯器 fuzzing 的實務經驗
  • 內部開發者工具是如何設計和建構的
  • 如何設計和實作可外掛系統

可能的導師

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 互通性的概念驗證,並附有記錄的設計決策、權衡、限制和未來方向。

必備技能 (must-have)

  • 目前正在攻讀或最近完成了電腦科學或相關領域的學位
  • 熟悉 Swift
  • 對程式語言和互通性感興趣

加分技能 (nice-to-have)

  • 熟悉 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