|
|
オープンソースとは何か
1998年10月1日[コンセンサス]より
ソースコード公開によるイノベーション オープンソースとは、全く新しい考え方に基づく大規模ソフトウェア開発のあり方である。あるソフトウェアのソースコードを無償(Free)で公開し、世界中のプログラマの誰もが自由(Free)にそのソフトウェアを改良して再配布することを許すソフトウェア開発方式のことだ。 Netscape社のブラウザは、現在このオープンソース開発方式になっている。7・8月合併号の本連載「Netscape社はどこへゆく」では、このNetscape社のソースコード公開について、そしてそれを支えるソフトウェア開発者たちの「不思議な文化」について触れた。今回は、Netscape社固有の話題ではなく、ソフトウェア製品という知的構築物がいかにして作られるべきなのかという視点から、この「オープンソース」という話題を取り上げて考えてみたい。 オープンソースという言葉は、98年になってから正式に使われるようになった用語であり、その前身は、パブリックドメイン、シェアウェア、フリーウェア、フリーソフトウェアといった言葉が使われていた(表1参照)。主に商用ソフトウェアに対立する概念で、プログラマが自由に作ったソフトウェア製品を限りなく無償に近い形で普及させるという思想に基づく活動である(以下、これら4つの言葉の総称として「フリーウェア的世界」という言葉を便宜上使うことにする)。
しかし、これらの用語のそれぞれが微妙に意味が違い、なおかつ、英語のFree(フリー)という言葉には、無償・無料という意味と、自由という意味の両方が含まれているため誤解を招きやすい。そこに来て、Netscape社のソースコード公開発表以来、この思想はハッカー的アンダーグラウンドの世界から、産業界のメジャーストリームに一躍おどり出ることとなった。そこで、その道の大物たちが一堂に会して、このオープンソースという新しい用語を正式に使っていこうということで合意したのである。 昔からある4つの言葉(表1参照)に対して、オープンソースとは、言葉通り、ソースコードを公開して配布すること自身に価値を置いている。ソースコードを公開すると、世界中の誰もが自由にオープンで分散した開発に参加可能となり、その方がずっと素晴らしいイノベーションが生まれるはずだという思想に基づいた考え方だ。ここには別に、自由や無償を条件付けるような反商業的なイデオロギーは一切含まれていない。 この思想が論文として発表されたのが、97年5月、エリック・レイモンドによってであった。原題は「The Cathedral and the Bazaar」。山形浩生氏による邦訳(「伽藍とバザール」)をインターネット上で読むことができる(http://www.post1.com/home/hiyori13/freeware/cathedral.html)。オープンソースの流れを大きく変えた論文として、本論文は一読の価値がある。 従来のソフトウェア開発方式(一企業内での大型プロジェクト)を、中央集権的管理によって構築されたCathedral(大聖堂)にたとえ、オープンソース開発方式を、人々が自分の意志で集まって賑わいを見せるバザールに模している。
この論文がオープンソースの流れを一気に加速させる理論的支柱となった。 1998年1月22日、ぼくがこの論文を初めて発表してからおよそ 7ヵ月後、Netscape社がCommunicatorのソースを無料でばらまく計画を発表した。この発表の前日でさえ、こんなことが起こるとはつゆほども知らなかった。 Netscape社の副社長兼技術担当重役の Eric Hahnが、発表のすぐ後にぼくにメールをくれた。こんな文面だ。「Netscape 全社員を代表して、そもそもこのポイント把握を助けてくれたことに感謝します。あなたの考え方と論文が、われわれの決断にあたって根本的なひらめきを与えてくれました」 翌週、ぼくは Netscape 社の招きでシリコンバレーに飛び、かれらの重役や技術陣との丸一日にわたる戦略会議(1998年2月4日)に出席した。ぼくたちはNetscape のソース公開戦略とライセンスをつくり、その他、いずれフリーソフト(オープンソース)コミュニティに重大で前向きな影響をもたらすはずの計画をつくりあげた。』(「The Cathedral and the Bazaar」の山形浩生氏による邦訳より抜粋)
フリーウェア的世界・第1世代 つまり、オープンソースの場合、誰かがあるソフトウェアの中核部分を自発的に開発してソースコードを公開し、そのソフトがインターネット上の世界中のプログラマをわくわくさせるような魅力に富んだものであると、彼らがよってたかって新機能を開発したり、バグを修正したりしながら、製品の完成度を高めていく。もちろん、彼らは誰からも強制されない代わりに、一銭も金をもらわず、ただただ「好きで楽しいから」素晴らしいプログラムを書く。それでソフトウェアは進化するというわけだ。 従来型ソフトウェア開発の立場から言えば、スペックもない、製品計画や製品戦略もない、いい加減なやり方で、実用に耐えるソフトウェアなど開発できるはずがない。 しかし、一部のプログラマ(通常は一企業のソフトウェア開発プロジェクトを構成する社員とコントラクタ)しかソースコードを見ることのできないクローズな開発体制(現在はこれが当たり前で、別にクローズと称しているのは、オープンソースの立場に立った人たちだけだが)に比べて、格段に質の高いソフトウェアが開発され、バグが修正されるスピードも格段に速いというのが、オープンソース派の主張なのである。 オープンソースという言葉こそ新しいが、前述したように、オープンソースに到るフリーウェア的世界の歴史は長い。もともとソフトウェア文化の中に、「Free」(自由、無償)という概念はずっと存在してきた。表2にその歴史をまとめたが、この領域で最も影響力の強かった人物は、リチャード・ストルマンである。ストルマンは、ビル・ゲイツの対極に存在する人物といってよく、過激な自由の標榜者だ。彼が始めたGNUプロジェクトでは、ソースコードの修正、再配布は自由にできるが、たとえば企業が追加変更したプログラムのソースコードを公開しないとライセンス違反となるような設定がなされ、思想的にソフトウェアの独占的利用は禁止している。 このストルマンの流れをくむフリーウェア的世界は、反商業的なため、ソフトウェア産業との親和性があまりにも悪く、思想的な部分が強すぎるきらいもあり、ある一定数以上の信奉者を得ることができなかった。フリーウェア的世界の第1世代と呼んでもよいのかもしれない。
注:スクリプト言語とは、インタプリンタで動くプログラミング言語処理系のこと。
Linux(リーヌクス)とApache(アパッチ) Linuxは、フィンランド・ヘルシンキ大学の学生、リーヌス・トーバルドが1991年、手作りで作ったPC用UNIXが中核部品となって、その周辺に世界中の優れたプログラマがネット上で自発的共同開発を行なった結果完成し、今も進化を続けるOSである。多くの米国企業が本格採用に踏み切るほど、完成度が高く、Windows NTの対抗馬として一躍脚光を浴びる存在となりつつある。Linuxのユーザ数とコードサイズの推移を図に示したが、97年から98年にかけてのたった1年で、約70万行のコードがネット上のプログラマの自発的共同作業によって生み出されているのは驚異的といえる。
Apacheは、IETF(Internet Engineering Task Force)のWeb関連のメーリング・リストのメンバが、ボランティア的必要にかられて、95年1月に開発を開始したWebサーバソフトである。98年6月、IBMが同社ソフト製品群WebSphereの一部として、Apacheの販売、サポートを開始した(表3に98年に入ってからのオープンソースの動きをまとめた)。
Netscape、Linux、Apacheに代表されるフリーウェア的世界・第2世代の特徴は、(1)ストルマンに代表される第1世代・反商業主義とは一線を画し、オープンソースで開発されたソフトウェアの周辺でのソフトウェア産業の隆盛を容認していること、(2)インターネットというインフラが存在することを前提に、物理的に離れた場所に居る世界中の膨大なプログラマたちの共同作業という環境を想定していることの2点に集約される。 この2点で、フリーウェア的世界・第2世代のコンピュータ産業に及ぼす影響は、第1世代のそれとは比較にならない程に大きい。もしも今後何年かの間に、オープンソース開発方式で生まれたソフトウェアが主流になれば、Microsoft社への富の集中を中心とする現在の産業構造にも変化が生まれる可能性がある。 ■
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ページ先頭へ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Home > The Archives > コンセンサス |
© 2002 Umeda Mochio. All rights reserved. |