SummerWind

Web, Photography, Space Development

Actions Runner Controller と OSS

Twitter で Actions Runner Controller (ARC) が GitHub の公式プロダクトになったというニュースを教えてもらった。

ARC は GitHub Actions の Self-hosted runner をスケーラブルに管理してくれる、いわゆる Kubernetes Controller の1つであり、これまで OSS コミュニティで開発されてきたものが GitHub の公式プロダクト1つとして開発されるようになる、ということらしい。

このニュースについて、正直なところ最初は複雑な気持ちだった。すごく嬉しい気持ちが半分、申し訳なさが半分だ。この ARC については以前の記事にも書いたように、当時リリースされたばかりだった Self-hosted Runner の管理を楽にするために趣味で書き始めたものだった。当時は仕事の同僚の多くが Kubernetes Controller の設計や実装に詳しい特殊な環境にいたので、会社の休憩時間に CRD の構造やオートスケールはどうしたらいいか、といった雑談をしていたのを思い出す。

しかし、2020年の前半に Kubernetes をまったく使わない環境に転職したのもあって、Issue への反応も怠るようになり ARC の開発からはフェードアウトしてしまった。申し訳なさはこのフェードアウトがあったから感じているのだと思う。振り返ると同じようなパターンで後悔した経験は他にもあり、自分がよくやりがちな良くない振る舞いの1つだと考えている。今ふりかえると「開発からは離れる」というスタンスを表明するなり明確にするなりしておけば、こういった後ろめたさのような感情は軽減されていたかもしれない。

ARC はその後、開発を始めた当初から積極的にコントリビュートしてくれていた当時の同僚の mumoshu さんを中心にコミュニティベースの開発に移行し、多くのコントリビューターと採用事例を集めて今回のニュースにつながっている。mumoshu さんは開発の初期からコミュニティのリーダーとしての振る舞いをしていて、なるほど OSS コミュニティでの開発はこういうことなのか、とすごく学びがあったのを今でもよく覚えている。

そういったわけで今回のニュースについて当初は複雑な気持ちで見ていたものの、GitHub チームからの Acknowledgements をみてみると自分のアカウントも記載してくれていたり、mumoshu さんや当時同僚でこの活動を見てくれていた superbrothers からもプロジェクトを立ち上げた価値についてのポジティブなコメントもいただいたりして、自分も少しは貢献できたのかな、と今は少し前向きにこのニュースを喜べるようになったのだった。みなさんありがとうございます。今後も ARC をよろしくお願いします。

それにしても Proof of Concept (PoC) 的に書き始めたコードが OSS にしたことをきっかけにこんなに大きく成長するなんて本当に想像もしていなかった。正直なところ、ここ数年は Issue や PR がいきなり飛んできて対応が必要になるような OSS での開発には疲れを感じるようになってしまっており、自分には向いていないのかもしれない、とさえ考えるようになっていた。しかし今回のような OSS やコミュニティの力を改めて目の前で見てしまうと、たとえ PoC 的なものでもとりあえず使えるようにして公開し、フィードバックをくれた人たちに感謝しつつ開発にも参加してもらう、といった活動を続けていくことを諦めてはいけないのだなと強く思うのだった。

Moto Ishizawa

Moto Ishizawa
ソフトウェアエンジニア。ロケットの打上げを見学するために、たびたびフロリダや種子島にでかけるなど、宇宙開発分野のファンでもある。