Kotlin による Google Summer of Code 2026
この記事には、Kotlin による Google Summer of Code 2026 のプロジェクト案のリストと、Kotlin コントリビューター向けガイドラインが含まれています。
Kotlin リソース:
- Kotlin GitHub リポジトリ
- Kotlin Slack および #gsoc Slack チャンネル
ご質問がある場合は、[email protected] までお問い合わせください。
Kotlin コントリビューター向け Google Summer of Code (GSoC) ガイドライン
はじめに
GSoC FAQ とプログラムのアナウンスを確認してください。
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時間]
近年、ファジング(Fuzzing)はソフトウェアの複雑なバグを発見するための手法として広く用いられています。 Kotlin コンパイラも例外ではなく、これまでのファジングの取り組みにより、さまざまなコンパイラサブシステムにわたって 200 以上の(重複を除いた)バグが発見されました。
しかし、既存のファザーの実装は現在では古くなっており、これ以上合理的に進化させることができません。 このプロジェクトの目標は、これまでの経験と現代的なツールや技術に基づき、新しい Kotlin コンパイラファザー Kai をゼロから構築することです。
このインターンシップの主な目標は、ファザーの将来の開発のための強固な基盤を築くことです。重点分野は以下の通りです:
- プラグイン可能性(pluggability)をサポートするファザーアーキテクチャの設計
- 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 の境界を越えてどのように呼び出しを行うか、そして異なるランタイム間でオブジェクトの生存期間(object lifetimes)をどのように管理するかを設計することが含まれます。
目標は、Swift と Kotlin/Native の相互運用(interop)の概念実証(PoC)を作成し、設計上の決定事項やトレードオフを文書化し、制限事項や今後の方向性を評価することです。
期待される成果
Swift と Kotlin/Native の相互運用の概念実証(PoC)。設計上の決定事項、トレードオフ、制限事項、および今後の方向性に関するドキュメントを含む。
必須スキル
- コンピュータサイエンスまたは関連分野の学位を取得中、または最近取得したこと
- 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)
