OSS 貢献を始めたきっかけ
周りに呼吸のごとく OSS 開発や貢献をしているエンジニアがいらっしゃるので、
そんな皆さんに触発されて「いつか自分も...」と思っていました。
そんな中、昨年初めて Terraform 関連の issue を 2 件起票することができました。
- https://github.com/hashicorp/terraform/issues/36603
- https://github.com/hashicorp/terraform-provider-aws/issues/42849
今年の取り組み
今年は別の OSS (Terrakube) で PR 作成に挑戦し、1 ヶ月程度の期間で 4 件マージしていただきました。
- https://github.com/terrakube-io/terrakube/pull/3029
- https://github.com/terrakube-io/terrakube/pull/3063
- https://github.com/terrakube-io/terrakube/pull/3026
- https://github.com/terrakube-io/terrakube-helm-chart/pull/259
以降に考えたことを整理したので、AI を使った実践例として参考になればと思います。
「目的」がハッキリしていれば何とかなる
私の弱みとして下記があります。
- 英語があまり得意ではない
- 興味のある OSS の使用言語やライブラリ (Go, Java, React 等) に精通していない
- 巨大なコードベースを理解する時間が無い
- そもそも家事・育児で時間が無い
英語が書けないことで、PR 本文どころかコミットメッセージを書くことも躊躇していました。
AI を使うことで、これらの課題が大きく解消されました。
- 読みやすい英語を生成してくれるので、ブランチ名・コミットメッセージ・PR 本文すべて良い案がすぐに出てくる
- ある程度理解できている言語であれば、AI が生成したコードをレビューし動作確認するだけで良い
- 上記 2 点により、時間不足も解消
まずは補助的な役割での参加にする
やはり OSS のコアの部分に手を出すのは大きなハードルがあります。
既存コードや歴史的背景の理解が無ければ、受け入れてもらうのは難しいのではないかと思います。
仮にそれらを理解した上でアクションするとしても、PR に指摘が入ると対応に時間がかかったり、コンフリクト解消に苦しんだり、最終的には断念するかもしれません。
今回挑戦した PR はどれも、「UI の特定ページに閉じた改善」「機能的には変化させない調整」という限定的なスコープで対応し、短時間で実装しています。
まとめ
育児の合間でも OSS 貢献ができました。
AI エージェントのような高度な活用や、重厚な課金プランは必要ありませんでした。
皆さんも無理のないように、ぜひ挑戦してみてください。