2021/06 から参加していた Google Summer of Code 無事修了しました。
GSoC では Add synthetics and symbol information for semanticdb in Scala 3
という題目で Scala3 の IDE や Linter のための基盤となる機能の開発をしていました。
今回の成果により Scala3 でも Metals (Scala の Language Server 実装) で go-to-implementation
, show-inferred-types
, show-implicit-arguments (& context-params)
などなどの機能が使えるようになる予定です。
https://summerofcode.withgoogle.com/projects/#5527632738779136
Yay! My two month of work finally merged! 🚀🚀 As @TomekGodzik mentioned, this feature will unlock many devtool features in Scala3.
— Rikito Taniguchi (@tanishiking25) 2021年8月12日
I want to give a shout out to @bishabosha who reviewed this gigantic PR and @TomekGodzik who gave me a many feedbacks from scalameta perspective! https://t.co/547QewAjmh
採択されるまで
もともと趣味で土日の空いた時間に Metals
の Scala3 サポートをちまちま進めていたのですが、せっかく学生なのだしGSoCを利用して数ヶ月の間フルタイムで Scala3 サポートの改善に取り組めないかと思い、GSoC で Scala の開発に取り組みたいと思い始めました。
Scala organization は 2018年までは GSoC に参加 していたのですが、残念ながらScala3の開発などで余力がなくここ数年の間はGSoCに参加していませんでした。
このままだと多分今年もScalaがGSoCに参加することはないなと思い、Metals の Scala3 サポートに取り組みたいんだけど GSoC 参加してくれたりしませんか?っていうことを Scala Center に対して問い合わせてみた。
すぐに前向きな返事が返ってきて、なんと3週間後にはGSoCに申し込みしたよとの連絡が!
🥳 Scala is part of Google Summer of Code 🥳
— Scala (@scala_lang) 2021年3月11日
❓19 Scala mentors, 28 projects proposed
⏳Starting from today, students have 19 days to apply
🙏 Help us spread the word and encourage students around the 🌎🌍🌏 to apply
🤓 More infohttps://t.co/d0fLNFQM3e
🧵
Thank you to our dear Scala mentors for proposing projects, make sure to follow them: @ckipp01@lootser@ShadajL@alxarchambault@noelwelsh@larsr_h@RomanowskiKr@adrienpi2@dwijnand@akmetiuk@julienrf@cyp3r@meriamLachkar@TomekGodzik@Wojciech_Maz@FelixMulder@sjrdoeraene
— Scala (@scala_lang) 2021年3月11日
本当にありがとうございます
すぐさま proposal を書き (今見ると結構ひどい...)
応募したところ、これまでのScalaコミュニティへのOSSコントリビューションが評価されたのか無事採用されました。良かった。
期間中
全体のレポートはここにまとまています。
期間中は毎週金曜日にに30-40分ほどメンターと進捗確認と来週やること、提出したPRやissueについて Google meets で議論をする機会を頂いていました。メンターは主に二人で一人はポーランド(Krakow)、もうひとりはスイス(Lausanne)でふたりともUTC+02:00に住んでいて日本とは7時間の時差があったのですが、僕がわりと夜型だったこともあり特に問題なくスムーズにコミュニケーションをとることができました。(レビュアーの主な活動時間が日本時間での22:00-26:00とかだったので、その時間帯にレビューに返事するとほぼリアルタイムで議論で非同期コミュニケーションができて良い)
おわりに
GSoC の倍率は非常に高く、日本のアカデミックカレンダーでは授業期間とGSoC期間が丸かぶりしており参加のハードルが高いですが、著名なソフトウェアに対してある程度大規模の貢献をフルタイムで行える機会や、国内にいながら世界中のソフトウェアエンジニアと肩を並べて仕事をできる機会はなかなかなく、参加する価値は非常に大きいと思います。興味のある方は是非来年にでも申し込んでみてください。
GSoC 一般のことについては正直あまりアドバイスできないと思いますが、もし来年 Scala が GSoC に参加していて、Scala (の特に Tooling まわり) に対して貢献したいという方がいらっしゃれば是非Twitterか何かで声をかけてください。何かお手伝いできるかもしれません。
GSoCは終わってしまいましたが、scalameta や dotty や metals への貢献はこれからも続けて行く予定です。
ダメ元でGSoC参加したいな〜という話を投げた結果本当に参加できることになり本当に嬉しかったです、GSoC on Scala を実現してくれた皆さん本当にありがとうございました。 (日本語で書いても伝わらないけど...)
乞食
今後のOSS活動の活力になります。