開発者と利用者と開発リソースの話

俺は一応DXRubyを作って公開しているが、決してすごいプログラマではない。
これは前々から言っていることだ。
CでDirectXが扱えて、Rubyの拡張ライブラリを作ることはできる。
しかしそれは、あくまでも「かろうじてできる」という、下限すれすれのラインで、どちらかというとただのRuby利用者であり、実態はいわゆるフリーライダーである。


DXRubyはRubyからDirectXを扱うことができる。
作り始めたときにそのようなものが無かったから作った。
それから4年ほど寝かせて、ヒマになったから色々調べてみたところ、やっぱり似たようなものは無いっぽかったから公開してみた。
大事なのは、「それっぽいのはあるけど自分ならもっといいものが作れる」とか、そういう考えで作ったものではない、というところだ。
自信を持って作ったものではなく、自分が使いたいものが無かったから作っただけなのである。
自分は大したプログラマではないと思っているから、もっとすごい人が作ればもっといいものになるはずだとも思っている。
常に、もっとRubyに精通してて、DirectXにも詳しくて、ゲーム開発の経験が豊富な人なんかが、すごいものを作ってくれないだろうか、できれば俺が使いやすいような設計思想のものがいいな、と思っている。
しかし、いろいろ考えてみると、ここには大きな落とし穴があるようなのだ。


俺がDXRubyを作った理由は、上に書いたように、似たようなものがなかったからだ。
ということは、DXRuby以上のものを作れる実力のある人がいたとしても、DXRubyがあるから作らなくていいじゃん?とか思われる可能性がある。
DXRubyがそういうものの需要を例えば掘り起こしたとして、それでも機能・性能ともにあまりにもしょぼかったとすれば、自分のほうがもっとマシなのを作れるぜーって思ってもらえるかもしれない。
つまり、俺が頑張れば頑張るほど、もっとすごい人が似たようなもっとすごいものを作る可能性が反比例して下がっていくということになる。
これは大変困った話である。


オープンソースのプロジェクトは、企業がやってるものもあるが、基本的には誰かが趣味で作っているようなものだ。
DXRubyも完全に趣味の世界で、似たようなものが無いという状況は、Rubyの拡張ライブラリを作れる人の中にそういうものに興味のある人がいない、ということを表している。
すごい人はたくさんいても、作ることに興味を持ってもらえなければ、誰かが作ることはありえない。
たぶんすごい人は、他のすごいものを作っているのだ。
Ruby用ゲームライブラリは、とりわけDirectXをメソッドベースで扱えるようなものは、俺なんかが作らなければならないぐらい、開発リソースがいき届いていない。
言い換えれば、オープンソースっつーのは、微妙なものは微妙な人が開発しなければならないものなのだ。


なんとなく、Rubyのライブラリはほぼ例外なしに、全部すごい人が作ったものなのだと思っていた。
でもDXRubyを作っていて、「ひょっとして、俺みたいに微妙な人が作ってるライブラリって意外に多いんじゃね?」って思うようになった。
このブログを読んでいる人なら、作者は微妙だ、ということがわかるかもしれないが、読んでない人は、なんだかわからないけど拡張ライブラリを作るぐらいだからすごいんだ、と思いそうだ。
だって他のライブラリ作ってる人のこと知らないし、みんなすごそうなんだもん。
オープンソースというのは、そういうものなのだろう。
ふむ。