プログラミングコードへのアクセス性と品質

「上流の情報を確認しやすいことが、情報の安定性を産むんじゃないか」ってのを自分で書いて、少し思ったのは、プログラム言語のコード(特にライブラリ)にも同じようなことが言えるんじゃないかということ。
柔軟なコードを書きやすい言語だと、個々人で自分ライブラリを作ってる人がいっぱいいる(気がする)。古くはLISPとか最近だとPerlとかRubyとかPythonとか*1。現状だとそれぞれの人が使っているライブラリは、権威のあるサイトにコレクションされているものか、あるいは自分がたまたま発見したものだけだ。そうすると、言語標準では足りない働きを補うために、似たような「働き」をするライブラリがぽんぽん生産されている上に、まただれかがそれらを改良した亜流を世に放ったり放ってなかったり、なんてことになってそうだ。
特に、最近流行りのAjax用のコードなんかは、モノがJavaScriptだけにソースは元からオープン。ちょっと人のライブラリに手を加えてみました、なんてこともたまにある。僕もやった。
上で書いたように、既にある情報へのアクセスのよさが情報の安定具合を決めるならば、有象無象のライブラリをぐぐっとひっくるめた検索システムと、各ライブラリに対するモデレーションシステムなんかがあれば、もうすこしコード書きにとって、幸せな世の中になったりしないだろうか。欲しい「働き」を持ったライブラリが、いくつもすぐに発見できて、かつ、モデレーションの機能でその中から品質のよいものを見つけられる。改良したら、そのデータベースに即登録。本当に改良になっているかどうかは、モデレーションシステムによって他のユーザーが判断する、と。
んーでも、どうやって検索するかが大問題だなあ。「働き」って簡単に書いてるけど、自分の欲しい「働き」をどう表現すればいいかさっぱりわからない。同じ「働き」でもいろんな実装の方法がある以上、使っているAPIやキーワードで検索するのにも限界があるし、テストケースで検索するにしても、個々の構成は違うけど全体としては同じ「働き」をする、なんてこともざらにあるだろうし。結局「このコードが意味するものはなに?」という意味論の泥沼に足をつっこんでいくだけだろうか…。
いやまてよ、flickrはてなブックマークみたいに、各コードにタグを付けたらどうだろう。数が十分に集まれば、それなりに精度のいい「コードに対する意味」がそこから浮かびあがってこないだろうか…。

ま、結局、前に書いた(http://d.hatena.ne.jp/sshi/20050225/p1)のと同じ話になってしまった。このアイデアよっぽど好きなんだなボク。

*1:Squeakなんかもそう?