ぺい

渋谷系アドテクエンジニアの落書き

OSSにコントリビュートしたら楽しかった

OSS楽しい!

僕みたいな学生エンジニアに限らず、お世話になることが多い世界中のOSSですが、つい先日ようやくコントリビュート童貞卒業したぺいです。
結構ハードルを感じている人が居ますが、もっと気軽にやってもらいたいと考え、今回は魅力について書いてみたいと思います。

何にコントリビュートしたか?

趣味で作っているアプリのバックエンドに使っているGoのWAFのgoaです。主にバグの修正やGAE対応です。

github.com github.com github.com github.com

説明努力をすれば、周りも助けてくれるかも?

goaの関係者が優しいというのもありますが、どのPRにしても色んな人の助けられてマージに至っています。「直そうと思ったけど、こういう問題があって難しいです」と正直に相手に伝えてみるといいと思います。場合によってはヒントを頂けます。そういったコミュニケーションを繰り返し、改善をしていけばマージ出来るコードになります。なので、実力に自信がなくてコミット出来てない人は、完璧でないといけないと気負いすることをまずやめたら良いと思います。

メリットがたくさん

何かの問題を解決することは、全体の構成を知るためにコードをたくさん読む必要があったり、そもそも言語の問題などが絡んでることもあります。なので、強制的に勉強になることが多く、自分の知識の穴埋めに丁度良いです。また、テクニックなども盗み放題なので、自分のものにすることが出来るのも魅力です。
解決するものによってはかなり大変なものもあります。(バージョンの問題や下位互換など)ですが、そういった問題解決はとても良い経験になり、個人でやっている開発にも応用できます。また、単純に達成感もありすごく楽しいです。なので、興味が少しでもあればチャレンジしてみると良いと思います。

小さいことでも貢献になる

初心者からするとハードルを感じてしまうPRやISSUEなど、「こんなしょうもないこと書いたら馬鹿にされないかな」とか、「間違ってたらどうしよう」とか、色々思うことはあると思いますけど、正直あまり気にしなくてもいいと思います。以下のようなものでも十分な貢献になります。

  • READMEやコメントなどのtypo修正
  • closeしていないコネクションcloseするだけ
  • 処理結果変わらないけど、若干無駄が減る
  • バグか分からないけど、怪しい挙動の報告

人気なOSS程、製作者は暇でないことが多いので、気づかないような小さいミスは見過ごしがちなので、結構PRチャンスはあるらしい?また、相手が知らないかもしれないバグを報告することも有益な情報です。特に自分が使っているOSSなら、自分のためにもなるので積極的にコミットすることをおすすめします。

中身のないISSUEはやめよう

Githubは誰でもアカウントが取れるので、気軽にOSS活動が出来ますが、全く利益を生まないようなISSUEを投げるのはやめましょうw f:id:tikasan0804:20170409223134j:plain 製作者側からしたら読む気が失せるような内容の報告が結構散見されます。相手も人間なので一定のマナーを守ること大事だと思います。

PRによってはテストが必要

コードの修正によって起きる変更に合わせたテストも加えることも必要です。どういうテストが必要なのかどこに書いたらいいかなどは、他のテストを参考にしたり、どうしても分からない時は聞くなりすると良いと思います。

今後も出来る限りコミットを継続し、色んなOSSに携わりたい!