OSSを維持するのはむずかしいな…というひとりごと。
OSS(オープンソースソフトウェア)を作りはじめる理由は人それぞれだろうけど、その多くは「自分がほしいから」だろう。内から湧き出た「内的動機」というやつだ。「おれのかんがえたさいきょうのプロダクト」を作りたい。これはOSSを駆動する原動力として、とても健全だと思う。
プロダクトが一定の品質に達して、そして運よく世の中のニーズと合致すると、他人から称賛を受けるようになる。
「すばらしいプロダクトをありがとう!」「寄付ボタンを設置すべきだよ!」
世界のどこかにいる誰かに感謝されたり、褒められたりしたら、人間やっぱりうれしいもの。これは「外的報酬」というやつで、退屈な人生のスパイスとしては悪くないんだけど、その反面で危うさも持ち合わせている。
この種の快楽は麻痺するのがとても早くて、身を任せるとすぐに「もっと感謝されたい!褒められたい!」と底なしの欲求に支配され、やがて飢えに苦しむことになる。やはりモチベーションを自分の外側のものに依存するのは危険だな…と思いつつも、これを完全に無視することは難しい。
もうひとつ厄介なのが、多くの人が使ってくれるほど、そのプロダクトが公共性を帯びてくるということ。
誰が見ても不具合とわかる報告への対応はある意味簡単で、ただ直せばいい。しかしながら実際に直面するのは、そんな明確な問題ばかりではない。
例えば、究極的にシンプルでミニマルなものを目指して開発を進めていたところに、「新たなオプションを追加しました!これでAという要求にもBという要求にも応えられます!」ってプルリクエストが送られてきたら…?
「その提案はコンセプトに合わない」という理由で断るにしても、せっかく相手の用意してくれた好意を無駄にしてしまうことに変わりはない。ごめんねという気持ちと、どう伝えれば傷つけずに納得してもらえるだろうか…という試行錯誤とで、正直いうとかなり消耗する。
多くの人が使うということは、思い描く理想形もその人の数だけあるということ。都度話し合って納得してもらうほかない…というのは、なかなか骨の折れる話である。
OSSもある程度の規模になると、不具合報告や改善要望などのやりとりも増えてきて、本当にさまざまな人が使ってくれていることを実感する。
そのほとんどは親切でいい人なんだけど、悲しいことに…ごく稀に、利己的な人に遭遇してしまう。無言でエラーの内容だけ貼りつける人。動かないけどどうすればいい?って聞いておきながら、用が済んだら返事もなく立ち去る人。
あなたが相手にその態度をされたら腹が立つでしょう…?って、いちいちもやもやするけれど、遠くインターネットの向こう側、顔も見えない人に思いを馳せるというのは、人間にとってなかなか難しいことなのだろう。
「OSSはみんなの助け合いで成り立っているんだよ」「あなたのほんの少しの気遣いが助けになるんだよ」と辛抱強く伝え続けると、中にはわかってくれる人もいる。そうやって1ミリずつ世界をよくしていくことはできるけど、利己的な人間をゼロにすることは絶対にできない。こういうのは確率論であって、関わる人数が増えるほど消耗する機会が増えるのは仕方のないことなのだ。
そんな消耗を繰り返しているうちに、ふと「あれ、自分の善意にただ乗りされてる…?」「なんで失礼な人たちのために自分の寿命を削っているんだ…?」と気づいてしまって、虚無に落ちることになる。
他人をコントロールするのは不可能だしすべきでないというのがこの世の理。自分が燃え尽きてしまわないように、自分自身ができることはなんだろう?いま気をつけているのは…
こうやって文字にすると、なんだか当たり前のことしか言っていないようにもみえる。
いろいろ思うところはあるけれど、同じ興味分野の素敵なこだわりを持つ人たちと出会えるのはうれしいし、そういう仲間たちと議論を重ねながら、一緒に最高のものを目指していけるのはとてもエキサイティングである。肩の力を抜いて、無理のない範囲で続けていけたらいいですね。