すっごい小さなところからOSSにコントリビュートした

以前、職場の人が、あるjsライブラリのGitHubリポジトリ

「nodeだけじゃなくて、bowerでもinstallできるようにしてくれよー」(英語)っていうissueをカジュアルに立てていて、

「気負わずにOSSにissue立てたりする姿勢尊敬しますー!」と言ったら、

Rubyのコミュニティとか参加してたら結構そういう人いるんじゃないですか?」と言われた。

「初心者向けのコミュニティ(よちよち.rb)ということもあって、やっぱりハードル高く感じちゃいますね。今Railsにコントリビュートしてるのは僕が知ってる限りだと2人です(※)」 と答えると、

「いや、Railsへのコントリビュートはレッドオーシャンなんで、もっと別のOSSをターゲットにしたほうがいいですよw」と言われたことがすごく心に残っていた。

「なるほど、コントリビュート○貞を捧げるのはRails以外が良さそうだな」とそれ以降思っていて、期せずしてそのチャンスが今月2回もあったっていう話。

※よちよちでRailsのコントリビュートしてるのは僕の知ってる限りだと @yuki3738 さんと @5t111111 さん。
@yuki3738 さんがコントリビュートした経緯はこちらに -> 新米エンジニアがRailsにコントリビュートした話 - スパイスな人生

つくって学ぶプログラミング言語

300近いはてブ数を集める、達人出版会から出ている「つくって学ぶプログラミング言語 RubyによるScheme処理系の実装」という本、実は前職の先輩が著者なので、わかんないことがあったら直接聞ける的安心感もあって、仲間内で読書会をやっていた。

たまたま、読書会中に @katorie さんが「本のとおりに書いていると動かないかも」という箇所を発見し、「PR出しましたよー」って僕から直接伝えられるメリットもあるなと思い、自分が本のGitHubリポジトリにPRを出す流れとなった。

とは言ってもコード的には、カンマを1つ消すだけなので1バイトの修正でしかない。

github.com

さらに言えば、リポジトリの管理者は知り合いなのであって、「初めて他人が管理するリポジトリにPR投げる」って意味では心理的ハードは最大限に低いはずなのだけれど、やっぱりPR送る瞬間はそれなりに緊張感があったw

そんな緊張とは裏腹にあっさりマージしていただいて、晴れて「つくって学ぶプログラミング言語 RubyによるScheme処理系の実装」のコントリビューター(と言っていいのだろうか??)になることができた。
少なくともGitHubのContributions Graphには載った。

f:id:highwide:20150729022204p:plain

autodoc

仕事でRuby 1.9系のAPIをいい加減2.x系にしたいねって話があって、それにあたってドキュメンテーションを改めてきちんと行った上で、Ver. up後の動きを確認したいねってことになった。

そこで、 r7kamura/autodoc が使えるかもって話になったものの、 autodocを bundle install したあとにテストが必ずErrorになる事態に陥った。

当然最初はgemを疑う前に、自分たちのAPを疑ったものの、どう見てもautodoc内のラムダあたりでsyntax error吐いてるしなぁと思い至る。

そこで試しに、vendor/bundle配下のautodoc gemを直接、 arrow記法が使われてたlambdaのsyntaxを -> から lambda に変えてみると動いた!

むむ、これは本格的にgemのラムダ周りが怪しいのかもしれないと思って、ググってたらとうとうこんな情報を見つけた。

ruby-journal.com

えええ〜、Ruby 1.9系と2.0系だと、 -> と引数の ( のあいだにスペースあると動かないの...マジで!?
と思いながらも、スペース消すだけだしなと思って、「プルリクチャンス」だと思うことにした。

ここも、r7kamuraさん、日本人だし、(あちらは僕のこと知らないけど)僕はRebuild.fmでrubotyとか作ってる人だって知ってるし...って感じで多少心理的ハードルは低かったように思う。

というわけで、7/27に出したPRを早々に7/28マージしていただいて、ご丁寧に CHANGELOG.mdthx @highwide とまで書いていただいた。(嬉しかった)

github.com

ただし、こちらもスペース消すだけなので、1バイトの修正w

そんなわけで

結果的に、7月はOSS2つに、計2バイトのコントリビュートができたw
ただし、単純なコントリビュートが常に善かというとそういうわけではなくて、OSSのメンテナさん的に「逆に対応がめんどい」みたいなこともあるらしいと聞いてはいる。
でも、そのへんの話はケースバイケースだったり、メンテナさんの考え方次第的なところもあるとは思う。
というわけで、個人的にはこんな感じで経験積んで、ときにはリジェクトされたりしながらも、使っているOSSにカジュアルな貢献ができるようになればいいとは思っている。

蛇足

autodocに出したPRがマージされた7/28が自分の誕生日で、ちょっといい誕生日になったなと思った。