GSoC 2017でChecker Frameworkに貢献してきた

Google Summer of Code(GSoC) 2017に参加し,完遂しました.
雑な感想です.

GSoCはGoogleが実施しているイベント(?)で,学生が夏休みの間OSSに貢献するためにいい感じの機会を提供している感じです.
2〜3月にGSoCと提携しているOSSプロジェクトに対して何をしたいかの提案書を書き,採用されれば6〜8月の間コードを書きOSSに貢献します.
6〜8月の間は3回に分けGoogleから報奨金が支払われます.
参加者の国によって額は異なりますが,日本だと大体60万円相当です(ドル建てなので支払い時のドル円によって異なる).

貢献したプロジェクトはChecker Frameworkです.
Checker FrameworkはJavaプログラムにある型システムに基づく型を型アノテーションを用いて記述し,プログラム内に型エラーが無いかを検査するためのフレームワークです.
Java8で導入された型アノテーションのきっかけになったプロジェクトです.
櫻庭さんの記事が分かりやすいと思うので詳しくはそちらを読むと良いと思います.
このプロジェクト内のデータフロー解析周りを弄くっていました.

良かったこと

  • 気になっていたプロジェクトに参画できた
  • ビデオチャット(英語)を頻繁にやったので英語力が上がった(気がする)
  • データフロー解析周りの知識がついた
  • Project Type AnnotationsのSpec LeadやEGの人らと関われた
  • 60万円手に入った

辛かったこと

  • 大学が7月末まであるので忙しくて辛い
  • ミーティングがビデオチャット(英語)なので辛かった
  • メンターが忙しすぎてレビューが結構滞った

まとめ

基本的には良いことだらけなので皆余裕があれば参加すると良いと思います.
プロジェクトもピンキリであるので,適切な難易度を選べば技術力でめちゃくちゃ苦労するということは無いと思います(当然それなりの苦労はありますが・・・).
英語も最初のうちは戸惑うけど,何度も聞き直せば何度も伝わるように言ってくれるのでなんとかなりました.

提案書の採用では既にOSS活動を行っていたりすると有利に働くので,GSoCの募集が始まるよりも前の今のうちから色々すると良いと思います.