Design and Implementation of
Gracious Days

牧野武文著:ハッカーの系譜(9)オープンソースの巨人たち (10) 後からやってきて市場を奪うマイクロソフトより引用:

インターネットが普及するに従い、ソフトウェアは個人や企業が所有するCPUの上で動作するものよりも、ウェブサーバー上で動作するものが増えていった。ユーザーは、さまざまなサーバー上で動作するソフトウェアを遠隔地からアクセスして利用するようになっていった。

それにともない、知らず知らずのうちにソフトウェアはオープンソース化していった。たとえばウェブはオープンソースだ。ウェブは、HTMLというマークアップ言語で記述されている。ブラウザーの役割は、このHTMLのコマンド行を読みこみ、それを解釈し、対応した表現をおこなっていくことだ。HTMLの「ソースコード」は、多くのブラウザーで「ソースを表示」を選ぶと見ることができる。ウェブがオープンソースであることで、従来のソフトウェアや知的財産とはまったく違った文化が生まれた。それはウェブが、一種の共有財産とみなされるようになったのだ。

(中略)

Javaも実質オープンソースだ。Javaは他のプログラミング言語と同じように、ソースコードをコンパイルし、実行形式にしてウェブに組みこむ。ところが、この実行形式は完全なバイナリーではなく、中間言語のような形態をとっている。そのため、実行形式を逆コンパイルすれば、簡単にソースコードに戻すことができる。HTMLと同じように、ウェブデザイナーたちは面白い試みをしているJavaの実行形式を逆コンパイルし、ソースコードを表示させて、どのように実現しているのかを学ぶ。HTMLと同じように、Javaの表現も猛烈な速度で進化してきたし、今でも進化し続けている。

Javaは逆コンパイルできるから、知らず知らずのうちにオープンソースになるそうだ。

今まで一部しか読んでいなかったので連載を通読してみたけれど、やっぱり変なところが多いと思う。その12の文末に参考文献が載っていたので、これらの文献がおかしなことを書いているのかも知れない(しかし、「伽藍とバザール」はなぜ参考文献にないのだろうか?)

「オープンソース」という言葉がどこから発生したのかは、Eric S. Raymond が回顧録 を書いている。時期的には1998年、Netscape Navigator のソースコードを公開することが決まり、その方法を議論している場だ。当時はフリーウェア、フリーソフトウェアという呼び方が NetNews やパソコン通信などの電子掲示板ユーザの間で一般的だった。しかし商用ソフトウェアを扱う企業にとっては「フリー」という言葉に抵抗がある。そして「フリー」が何を指しているのかが曖昧だ。FSF の掲げる “free” とも紛らわしい。Raymond の回顧録には、そういった内容が「フリーウェア」を使わなかった理由として記されている。当時のMS-DOSやWindows用のフリーソフトウェアはバイナリ配布で、ソースファイルを含まないものも多かった。無料で配布するけれど、ソースファイルは公開しない場合のほうが多かったように思う。

1998年にO’Reillyが主催した Freeware Open Source Summit で、この用語が正式に発表された。Tim O’Reilly もオープンソースの重要性を啓蒙した人物のひとりだ。「オープンソースがそんなに素晴らしいなら、なぜオライリーの書籍はオープンソースにしないのか」という面白い問答がある。リンク先のO’Reillyの言い訳を読むと、オープンソースという言葉を聞いたばかりの人々の混乱がよくわかるだろう。「書籍を無料で公開・配布するのは、ソフトウェアと違って著者と読者の両方が得する構図にはならない」というのがO’Reillyの言い訳だった。

オープンソースという言葉の定義は、現在は OSI (Open Source Initiative) がOpen Source Definitionとして保守している。この定義によると、ソースコードが公開されているだけでなく、自由に再配布できなければオープンソースとは言えない。逆コンパイルすればソースが読めるからオープンソースだ、という主張はあまりに乱暴すぎる。


Next post: FreeBSD(98)

Previous post: ライセンス(2)