こんにちは、Saitoです。
先日、はじめてOSSにPull Requestを出して、無事マージされました。
やってみたら思ってたよりずっとシンプルで、楽しくて、達成感もあったので、この記事ではそのときのことをまとめておこうと思います。
🚀 OSSをやろうと思ったきっかけ
きっかけは大きく分けて2つあって、
1つは「もっとコード書きたいな」と思ったから。もう1つは、「自分も作る側になってみたいな」と思ったからです。
手を動かしてコードを書く時間を取り戻したかった
最近、仕事では要件定義や仕様調整など、ドキュメントベースの作業が増えてきていて、
コードを書く時間が以前より少なくなっていました。
もちろん、そういう工程に関わるのはエンジニアとして大事な経験だと思っています。
でもやっぱり、「コード書いてる時間がいちばん好きだな」と気づいて。
せっかくなら趣味の時間は、もっと手を動かして、自由に開発できる時間にしたい。
そう思って、何かコードを書くきっかけを探していたときに、「OSSにコントリビュートする」という選択肢が浮かびました。
使うだけじゃなく、返す側になってみたかった
普段の開発ではたくさんのOSSライブラリに助けられています。
Spring Bootに始まり、JUnit、 kotest、 Spring Batch、etc…。
それこそ、ライブラリなしではアプリケーションが成り立たないくらい。
そんな中でふと、「自分も作る側になれたら面白いかも」と思うようになりました。
正直、最初は「貢献ってむずかしそう」「自分にできることあるかな」って思ってたんですが、
初心者向けのIssueを探してみたら、意外と入りやすいものも多くて。
まずは小さくてもいいから、「使わせてもらってばかり」から、「ちょっとでも返せる側」になってみたかった。
そんな思いで、挑戦してみました。
🔍 最初のIssueの探し方
GitHubの検索機能を使って、以下のようなクエリで探しました:
language:Kotlin language:Java language:Ruby is:issue is:open label:"good first issue" no:assignee sort:created-desc
Kotlin・Java・Ruby で書かれていて、初心者歓迎なIssueをピックアップして、
「これならできそう」と思ったものに「やってみたいです!」とコメント。
すると、2時間くらいでアサインしてもらえて、拍子抜けするほどスムーズでした。
🧩 実際に取り組んだ内容
コントリビュートしたリポジトリはこちら:
Kotlinで書かれたアルゴリズムやユーティリティ関数を集めたOSSで、かなり初心者フレンドリーな構成になっています。
私が取り組んだIssueは、バブルソート(Bubble Sort)の実装でした。
内容としてはこんな感じ:
-
List<Int>
を受け取って昇順にソートするバブルソートをKotlinで実装する - Kotlinらしい書き方(idiomatic)を意識する
- READMEにエントリを追加する
実際のPRはこちら👇
feat: add Bubble Sort #26
こちらのリポジトリはまだまだ簡単なissueがたくさんあるので、kotlin書ける(もしくはキャッチアップしたい)方は見てみてください!
😌 やってみて感じたこと
最初のPRだったのでちょっと緊張していましたが、思った以上にスムーズに進みました。
PRを出したあと、細かいレビューコメントなどは特になく、すんなりマージしてもらえて、
「あ、本当にこういう形で参加していいんだ」 と実感できたのが一番の収穫でした。
そして、自分の書いたコードが、
知らない国の、知らない誰かのプロジェクトに組み込まれるっていうのは、
少し不思議で、それでいてすごく嬉しい体験でした。
コードって、国境も言語も超えるんだなあと実感できて、
「やってみてよかったな」と素直に思いました。
🔭 次のステップ
今はもう少し規模の大きいリポジトリにも挑戦しています。
Kotlin向けのアサーションライブラリ Atrium にIssueをもらって、現在進行中です。
次の目標としては、Star1000以上のプロジェクトに継続的にコントリビュートすること。
小さなところからでも、ちゃんと実績は積み重なっていくと思うので、引き続きやっていきたいです。
💬 これからOSSをやってみたい人へ
もし「興味あるけど怖いな」と思ってる人がいたら、
まずは小さなIssueをひとつ拾ってみるのをおすすめします。
「やります」とコメントして、PRを出してみる。
わからないところがあれば、正直に聞けばOKです。
想像よりずっとフレンドリーで、迎え入れてくれるプロジェクトは多いです。
一歩踏み出すだけで、けっこう世界が広がります。
📝 おわりに
OSSって、最初はハードルが高く感じるかもしれませんが、
やってみたら意外と「コード書くのが好きな人たちの集まり」なんだなと思いました。
自分が作ったものが誰かのプロジェクトの一部になる体験、
想像以上に楽しくて、やりがいがありました。
またひとつ、コードを書く理由が増えたなという感じです。
引き続き、楽しみながら貢献していきたいと思います。