今年の夏にGoogle Summer of Code(GSoC)というプロジェクトに参加しました.
プロジェクトでは学生開発者として,CiliumのネットワークフィルタのICMP対応を行なっていました.

この記事では,参加した当時を振り返りつつGSoCについて簡単に紹介します.

GSoCとは

GSoC1はGoogle主催の,学生のOSSコントリビューションを支援するプロジェクトです.

学生は予めリストアップされたOSSプロジェクトの中から,参加したいものを選び,プロポーザルを提出,採択されれば夏の10週間で開発をすることになります.
また,開発中は学生一人につき,OSSプロジェクトから一人以上のメンターがつき,技術的なアドバイスをもらうことができます.
気軽にわからないことなどを質問できるので,とてもありがたいです.

OSSならどれでもGSoCのプロジェクトとして参加できるわけではないですが,今年の統計だと199のOSSが集まったらしく,有名なものも多いのでより取り見取りです.
参考までに,2021年の参加プロジェクト一覧はこちらです.

またプロジェクトを完了すると,報酬金が支払われます.金額は毎年変動するようで,今年は2700USDでした.2

プロポーザルの提出

GSoCに参加するにはプロポーザルとして,開発アイデアをA4で3〜4枚のドキュメントにまとめて提出し,採択される必要があります.
また,OSSプロジェクトによってプロポーザルを出す前に,既存のissueを解決するなどの条件があるので,それも満たさなければいけません.
自分の参加したCiliumでは,コミュニティSlackに参加して一言挨拶と,一個以上のissue解決が条件としてありました.

なお,開発アイデアは必ずしも0から考える必要はなく,OSSプロジェクト側でやってほしいことをリストアップしてくれていたりします.
もちろん自分で完全オリジナルのアイデアを出すこともできますが,その場合は担当メンター探しも必要になります(とはいえコミュニティに相談すれば親切に対応してくれるでしょう).

GSoCでは3月から始まる約1ヶ月のプロポーザル準備期間と,2週間の提出期間があります.
プロポーザルの2週間の提出期間中では,OSSプロジェクトの人のコメントをもらうことができます.そのためプロポーザルは一度早めに出して,コメントをもらって修正するのがおすすめです.3

参考までに自分の出したプロポーザルはこちらです(個人情報等は抜いています).

開発期間

プロポーザルが通れば,あとはメンターと相談しつつ開発していきます.
Ciliumでは週に一度Slackで進捗報告をすることとなっていました.

また,開発中に中間レポートと最終レポートをGSoC運営に提出する必要があります.
これを出して,審査が通ることでそれぞれ報奨金が支払われます(中間審査が通ると45%,最終審査が通ると55%の支払い).

中間審査はGSoCが用意するフォームに答えていき,最終審査はGistや自分のブログに開発内容をまとめて,その記事へのリンクを提出します.
参考までに自分の出した最終レポートはこちらです.

GSoC 2022

来年のGSoCは色々と仕様が変わるようです.(https://opensource.googleblog.com/2021/11/expanding-google-summer-of-code-in-2022.html)
特にこれまでのGSoCは学生のみ参加可能でしたが,来年からは18歳以上であれば誰でも参加できるようです.

日程や要項等は公式サイトでおそらく1〜2月くらいに公開されるので,気になる人は確認しておきましょう.

おわりに

GSoC 2021では修了した学生が参加可能なオンラインカンファレンスが開かれました. OSSにコントリビュートして報奨金がもらえるだけでなく,メンターがついてくれたり,こういったカンファレンスに参加できるのもGSoCの良さだと思います.

プロジェクト中に出す書類やコミュニケーションが全て英語でやりとりされるのは,日本人参加者にとって一つのハードルになりますが,最近は機械翻訳も発達しているので,やってみれば案外なんとかなったりします.
来年からは学生以外でも参加できるので,興味がある人はぜひ挑戦してみてください.

さてこの記事はCyberAgent 22 新卒 Advent Calendar 2021 最終日の記事でした.
記事を投稿してくれた皆さんも,読者の皆さんも,25日間お疲れ様でした!!


  1. 読み方はおそらくジーソック ↩︎

  2. しかし手数料で数千円持っていかれる ↩︎

  3. ですが自分は締め切り2日前くらいに初稿を出していました… ↩︎