今までのOSS Contributionを振り返る【4 merged/1 closed】【TechRAMEN】

はじめに

TechRAMEN 2024 Conferenceに参加するため、北海道は旭川に行ってきた。 TechRAMENは最高カンファレンスだったし、旭川は最高シティだった。 運営陣の勢いが凄すぎて大量のNote記事が書かれているため、今回参加されなかった人にもぜひ読んでほしい。 note.com note.com

TechRAMENに楽しく参加したあと、「後日祭」としてのOSS Gateにも見学枠で参加してきた。 asahikawa.connpass.com OSS Contributionにチャレンジしている皆さんを見守りつつ、たくさんご飯を食べた。圧倒的進捗と言って良いでしょう。 とはいえ頑張っている人々を前にして食べてばかりいるのも忍びないため、今までに自分が行ってきたOSS Contributionを振り返ってみる。 分量は多くなく、全部で5個のPRをあげていて、そのうち4個をマージしてもらっている。

google/go-github

github.com google/go-githubGitHub APIのGoクライアント。これを仕事で使っている時、ちょうどGitHub APIにアップデートがあり、新しいヘッダが追加された。 Expiration options for personal access tokens - The GitHub Blog このニュースを見た時、こいつはプルリクチャンスだ!!と高まったので、その日のうちに対応PRを出した記憶がある。 すぐにレビューしていただいて、「フォーマットしてね」「テスト追加してね」と言ったあるあるのコメントをいただいた。 これはOSSに限らず、PRを出すときにやるべき基本的なことだが、ここで勉強させていただいた。

この頃はまだ学生で内定先の企業でインターンをしていた。これから職業人生が始まるというタイミングでこういった経験ができたのはとてもよかった。

過去の自分、かわいい

x-motemen/blogsync

x-motemen/blogsyncは、CLIはてなブログへの投稿などができる便利ソフトウェア。こちらも仕事で使う機会があり、コードを見たところGoのバージョンが当時のlatestと比べて古めだったので、これまたプルリクチャンスであった。高まる。 github.com

Songmuさんにシュッとマージしてもらった

aws/aws-cdk

これはマージされなかったPR。 aws/aws-cdkは、TypeScriptやPython/Go/Java/.NETといったプログラミング言語を使ってIaCができる面白ソフトウェア。 これを仕事で使う機会があったのだが、何の問題があってPRを出したのか全然思い出せず、PRを見てもよくわからなかった🤔 (自分が作ったPRなんだけどなぁ) github.com これは同じ問題に対処するより良いアプローチのPRが別で出されており、こちらがマージされた。 github.com ちなみに、「TypeScriptやPython/Go/Java/.NETといったプログラミング言語を使って」とサラッと書いたが、これどうやってると思います? これはjsiiという激アツソフトウェアで実現されている。気になる人は見てみてほしい。 github.com

runfinch/finch

runfinch/finchは、Mac向けのコンテナランタイム。内部ではlimaを使っていたりして、Mac上でいい感じにコンテナを動かすことを目指して作られている。

これを手元で試してみたところ、どうにもうまくいかなかった。Issueやコードをパラパラと眺めているうちに、自分の環境のユーザ名に . が含まれていることが原因であることがわかった。 これがわかった時、修正できた時にはほんとに興奮した。最高の瞬間である。そんなわけで、興奮冷めやらぬうちにPRを上げた。 github.com これが無事にマージされて、brew update してバグが治っていたときの感動を忘れはしない。

lumeland/lume.land

(2024/07/29追記) 後日祭開催中に出したPRをマージしてもらっていた。

lumeはdeno製の静的サイトジェネレータ。自分の個人サイト(w-haibara.com)はこれを使っている。 久しぶりにこのサイトのメンテをしようとしたところ、lumeの2系がリリースされていることに気がついた。

Migration Guideに沿って作業していたところ、1文字typoを発見したので、このドキュメントを管理しているレポジトリにPRを上げた。 Migrate to Lume 2 - Lume github.com

楽しく後日祭の打ち上げをしている間に、シュッとマージしてもらっていた。

おわりに

これまでに自分が行ったOSS Contributionをまとめた。数は少ないが、ひとつひとつに面白く取り組んだのは覚えている。

特にバグ修正をする際には、「仕様は知っているがコードの中身はわからないソフトウェア」を1から読み込んで、原因となっている箇所を特定する必要がある。 こういった経験で、大きいコードベースを読み進めるテクニックだったり、あるいは「まぁ読めばわかるか」という自信というか楽観を持てたのが、確実に仕事にも活きている。 これからもやっていくぞ。