4/15/2009

車輪の再発明

題名は昔どこかのサイトで誰かが言ったすばらしい台詞。
意味としては、すでにあるものを再び発明するために労力を使うなんて馬鹿らしい、という意味だと思う。決して、再発明することによってそれを発明した人の経験を追体験できてすばらしいという意味ではないと思う。

なぜこのことを言うのか。今現在の世界ではあらゆるところで発明が日夜起きている。それの情報にどれだけ多くの人がアクセスすることができるのか、という観点をおいておいて、その発明を新たに知ることはそれを再発明する労力よりは割と軽微だと思う。もっともそれはよく訓練された検索エンジンが動いているからであり、ただその恩恵に対しては十分ありがたいと思うが、それが一般化されてしまうと忘れがちです。
話を元に戻すと、今度はアクセスの問題で、秘匿されている知識、発明はありますが、インターネット網で整備された巨大な図書館の存在は、それが存在していなかった時代に比べて、はるかに知識を手に入れることが容易になりました。またプログラムにおいては肝となる実装部分は本来は秘匿されていて、またあるいは高額な書籍の中に印刷されていました。ここにきて、オープンソースの話をするのですが、彼らは何のためにそれらをアクセス可能な形で残すのか。この動機付けに関して、商業に長く身を置いている人は、アクセス可能であることのありがたさを感じていながら、自身で身に着けた技術を隠すことが多いです。まぁそれで食っているのに、わざわざ手のうちをさらすまでもないのですが。
正直なところ、私もソースコードを公開する動機付けで1つだけいえるとすれば、「前に公開されている情報によって助けられたから」ということしかありません。言うなれば、「情けは人のためならず」ですな。特にプログラミングなんてほとんどどっかの誰かのコピペみたいなソースコードや誰かの提唱した考え方、アルゴリズムをふんだんに使って作っているのに、いまさら自分だけは秘密っていうのも・・・
まぁ、1つだけ大きな公開を躊躇させる懸念事項は、ソースコードの品質。ソースコードにも綺麗と汚いが存在するので、汚いソースコードを出したくないってことです。また誰かに再利用されるときに責任問題があったり、またその利用条件によって使えなかったりいろいろです。ソースコードは基本的に責任取らんから、好きに使って良いけど、「自分のものって言うなよ」って権利がいいのですが、ソースコードの独自性をどこまで認めるのかという問題が出てくると、改変禁止が一番分かりやすくて、でもそれは変えられ場合には誰の権利になるのかということが問題になります。
哲学で言うと、なんたかの舟という問題で、代替可能なもので作られたAを統一体としてのAとして認識させているものは何かって問題です。オリジナルや自己というものの本質を問う題目である。

それで再発明した場合には、発明しているのにすでに誰かのものっていうことで、全ての苦労が水の泡。権利問題もあるけど、なるべくならすでに発明されているものを利用してそれから先に行こうよって言うのが、私の基本スタンス。だってすでにあることを知ったときの脱力感が嫌いなんです。

0 件のコメント:

コメントを投稿