オープンソースの世界は非同期的

投稿日:2007年12月19日 作成者:yasunaka

昨日のブログには「創作活動は非同期的がいい」と書きました。そして「プログラミングだって立派な創作活動」とも書きました。その例として今日はオープンソースの世界を考えてみます。オープンソースの世界は昔から非同期的に時間が共有されていました。

オープンソースでのプログラムは世界中のプログラマー達がそれぞれの空いた時間などを利用して(たまに専任の方もいらっしゃいますが)開発されています。世界中の人が関与するということは、一同が会することはなく、時間も場所もばらばらに開発されていることになります。それでいて、ソースコードがおかしくならないように、うまく意思疎通をはからねばなりません。

オープンソースのプログラマーにとって意思疎通するための最も重要なものは、ソースコードそのものです。CVSやSubversionなどのバージョン管理システムを使うことにより、各プログラマーは誰がいつ、どの部分をどのように修正したのかがわかるようになっています。自分の修正が他人の修正とぶつかっていない場合には自動的にソースコードに変更点を反映させることができます。もし修正がぶつかってしまった場合にはそれを検知して、どこがぶつかったのかを教えてくれます。またどのように変更したのかを比較したり、バージョンを戻したりすることが自由に出来ます。

この仕組みがあるので、世界中のプログラマーが24時間、離れた場所にいても開発することができるのです。メールでのやり取りも重要ですが、それ以上にこのソースコード上でのやり取りができることが大きなポイントになっています。

これこそが、非同期的に時間を共有するための仕組みです。

オープンソースの世界に少しでも関わると、あ、世界につながっているんだなって、感じることができます。しかもこっちが寝ている時間帯でも誰かが関わっているかもしれない。非常に不思議な、面白い感覚にとらわれると思います。