昨日、以前作ったOSSのライブラリにpatchが送られてきた。
https://github.com/Lewuathe/passport-yj
友人とかなり昔に作ったので、存在を忘れていたとまではいかないがpatchが送られてきたときは驚いた。何したらいいんだろうという感じだった。 patchの内容はpassport-yjの依存しているpassportモジュールの仕様が変わったから対応したらーということで送ってくれた。
僕は正直passportの仕様をキャッチアップできていなかったので、こうやってpatchが送られてきて嬉しかった。
自分たちが作ったソフトウェアがよりよくなるということ、そして何よりどこかの誰かが使ってくれているということが目で見える形で分かったからだ。
patchを送ってくれた人は少なくとも日本人ではあるみたいだけれど僕とは縁もゆかりもない人だ。(もっとも顔写真もなにもないので、縁もゆかりも本当にないのかもよくわからない) そんな人がどこかでこのライブラリを使って、改善点があったのでpatchを送ってくれた。送られたpatchを落としてきてテストして動作を確認する。僕自身も今までに大きなプロジェクト、小さなプロジェクトにちょこちょこpatchを送っていた。そこでディスカッションをしたり、取り込んでもらえたりもらえなかったり。そのコードはそういう意味で書いてあるのかと疑問が氷解したり。
そして気づいた。ああ、これがOSSへの貢献なんじゃないかと。
LinuxとかWebKitとか、大きなプロジェクトへの貢献を夢見てなんとなく憧れを抱いていたけど、今自分がやっていたことは紛れもなくOSS活動じゃないか。ずっとやりたいと思っていたことをいつの間にか僕はやっていた。誰かが仕事から帰ってちょこちょこっと作った小さなライブラリ僕が使い、僕が週末に作った小さなモジュールをどこかの誰かが使う。その誰かは日本の人かもしれないし、外国の人かもしれないし、人間ですらないかもしれない。(さっき見たらnode-jpはbotっぽいのにたくさんforkされてた)そういうコードを介した会話みたいなものはまさにソーシャルコーディングだし、僕はそれがやりたかった。
誰かが少しだけ世界を良くしようと思って作ったものを、他の誰かが使って実際に世界を少しだけ良くしている。大きさとか規模はあんまり関係なくて自分がそれを感じることができるかどうか。僕は見ず知らずの人からpatchが送られてくることでそれを感じた。
またいつでもpatchが来てもいいように、折角なので自動化テストを書いておこう。
きっと世界が少しだけ良くなると思う。