オープンソースソフトウエア文化

Open Source Software Communities

永井 武

  1. はじめに

    18から19世紀にかけて、紡績、織物、鉱山業などが手工業から水力、蒸気を使用するものになり、産業革 命がいくつかの段階を経て成し遂げられた。

    情報革命は、1950年代から始まった大型汎用機時代、1980年代からのwintelといわれるパソコン(以下PC と略記)の時代を経て、オープンソースソフトウエア(Open Source Software 以下OSSと略記)の時代にさしか かっている1)。OSSとは、プログラムのソースコードが公開され、誰もがプログラムを見たり、使用したり、 コピーしたり、改良することが許されるソフトウエアである。因みに、大型汎用機時代、PC時代のソフトウ エアの多くはソースコードは公開されず、コピーを禁止している。

    1984年、リチャード・ストールマンが提案しフリーソフトウエアの概念GPL(GNU Public License)が生まれ た。ソフトウエアは開発した人に著作権があり、他の人が使用するためには代償支払うなどして許諾(ライセ ンス)を受ける。GPLは1989年に少々改版され、ソフトウエアは公共の知的財産であるから自由にコピー、 使用、改変、再配布してよい、ただしGPLソフトウエアを利用して開発されたソフトウエアもGPLとなると いうもので、今日に至るまでその通りに実行されている。この運動は著作権擁護の運動とは逆の方向なので、 コピーライトをもじってコピーレフトと呼ぶ2)。その後、ブルース・ペレンスのオープンソースの定義ver.13)、 BSD(Berkley Software Distribution)、NPL(Netscape Public License)、MPL(Mozilla Public License)、パブリッ クドメインなど微妙に異なるライセンスが共存するOSSの時代を迎えている。

    なぜ現在のPC時代からOSS時代に移る必要があるのか、その理由を以下に述べる。

    (1) 情報社会のインフラともいうべきOS(Operating System)が、全世界のハッカ(真のプログラマ)
         のボランティア活動によって育てられている
    (2) 同様にアプリケーションソフトウエアも世界中のハッカが提供している
    (3) ストールマンが提案しているGPLは、情報社会のソフトウエアは古くから伝えられている科学的知見と
         同様に全人類の共有財産であり、利用は自由であるというものである
    (4) 科学的知見と同様、知りたい人、使いたい人は無料で利用できる
    (5) OSとアプリケーションソフトを無料にすると、ソフトウエア産業は成り立たなくなると危惧する人が
         いるかもしれないが、今後本研究で述べるように、その心配はなく、むしろ情報技術利用がさらに広まる
    (6)  大型汎用機時代、PC時代のビジネスは、大きな資本と情報技術が必要であるが、OSS時代の情報産業は、
         これまでより資本と技術がなくても可能となる4)
    (7)  大型汎用機時代、PC時代のように使用するソフトウエアのソースコードが非公開であると、障害が
         おきたときに困るとユーザが感じるようになった
    (8)  ユーザの立場でみると大型汎用機時代は、情報装備に莫大な費用が必要であった。PC時代でも一人1台
         以上のPCを会社が従業員に配布するときなどまだ費用はかかる。OSS時代は、OS、アプリケーション
         ソフトは無料のものを使い、その先のソリューション、保守に費用をかけ、全体として安くて使い易い
         情報システムを入手する。ユーザのこの願いをかなえるのが、OSS時代のビジネスモデルである
    (9) 現在の情報社会の問題は、世界中の人が使用しているWindowsおよびそのAPIが公開されていないので、
         マイクロソフトに依存しないとプログラムは作成できない。これはソフトウエアの発達を阻害する
    

    本研究はOSSの現状を述べ、将来日本の目指す方向を提示する。

  2. OSSの全体像

    表2.1に主なOSSを示す。これらはOSS社会では非常に有名なもので、順不同であるがこの表に示す順に 概略を述べる。

    表 2.1 主なオープンソースソフトウエア
    分類 ソフトウエア
    OS Unix,Linux,FreeBSD,GNUsystem
    GUI GNOME,KDE,X Window System
    webブラウザ Firefox,lynx,amaya
    エディタ Emacs, vi, Latex
    アプリケーション OpenOffice, StarSuite
    インターネットサービス Apache,Sendmail,BIND
    DBMS PostgreSQL,MySQL
    ファイルサーバ Samba
    プロトコル TCP/IP

    2.1 OS

    2.1.1 Unix

    OSSの始まりは、1969年にベル研究所のデニス・リッチー、ケン・トンプソンによって開発されたUnixで あろう。当時ベル研究所には多くの測定器、分析機があり、データ収集、データ処理にDEC、HP、プライム、 パーキンエルマ、ワングなどのミニコンが使用されていた。しかし、これらのミニコンのOSは別物であり、 処理結果のやりとりは不可能であった。この状態を解決するには、高級言語で書かれた移植性がよいOSを開 発してそれぞれのミニコンにインストールすることと考え、実行した。ベル研究所内でUnixのよさが証明さ れた。

    Unixには商品価値は十分にあったのだが、当時のベル研究所はAT&Tの子会社でありAT&Tは独占禁止法で 情報産業への参入は禁止されていたので、Unixのソースコードを公開し全世界に無料で配布した。OSのソー スコード公開と無料配布はこれが初めてである。Unixのソースコードは世界中の大学のコンピュータサイエン ス学科で教材として使われ、改良と機能の追加が行われた。結局、250種類のUnixができた。有名なのは、 UCB,CMU,MITのUnixである。1986年、AT&Tが分割され情報産業への参入が許されたので、各社から Solaris,HP-UX,AIX,SCOなどの有料のUnixが発売され使用されている。ここで問題なのは、異なるメーカの異 なる機種間でデータがやり取りできるようにUnixが開発されたにもかかわらず、微妙に異なるUnixが世界中 にできてしまったことである。ベンダ(供給)側がユーザを囲い込むためにそうなるのであるが、ユーザには迷 惑である。しかし、大型汎用機時代に比べればデータのやりとりは容易になった。インターネット上のサーバ OSとしてUnixは約25%のシェアをもっている5)。

    2.1.2 Linux

    PC用UnixとしてはFreeBSDの方が歴史は古いが、典型的なOSSとして有名なLinuxをとりあげる。1991 年、ヘルシンキ大学生のリーナス・トーバルズがPC用Unixの必要性を感じ、タンネンバウムのMinixを参考 にして独自に開発した。さらに、2.1.1で述べたUnixが微妙に異なる版ができたことを教訓にして、Linuxの核 心部分(カーネル)の版の管理は現在もリーナス・トーバルズ自身が行うようにして開発している。

    1991年、Linuxの最初である0.01版をインターネット上で公開し、使いたい人はどうぞ使ってください、ま た、改良案、バグがあったら教えてください、とよびかけた。それ以来、ボランティア開発協力者が現れ現在 開発者は5万人ともいわれる。ユーザは全世界で5000万人を超えている6)。

    Linuxは、無償だから使われているだけでなく、いくつかの教訓を世界に示している。コンピュータのハー ドウエアは、ムーアの法則7)が現在も続き18ケ月で処理能力が2倍に進歩するが、価格はほとんど変わらない ということを40年間続けてきたので、その進歩はドッグイヤーといわれている。それに比較すると、ソフト ウエアの進歩は遅い。IBM、富士通、マイクロソフトなど1社で開発するソフトウエアには限界がある。マイ クロソフトが1996年に発売したWindowsNTサーバは、1980年代に開発を開始したが、バグが多く残り動作 は不安定である。Linuxはリーナス・トーバルズが中心となり、世界中の5万人のソフトウエア技術者が協力 することで、ソフトウエア開発速度が高く、バグが少なく、動作は安定している。その上無料で使えるので世 界に広まる速度が速い。LinuxとWindowsNTサーバ、WindowsXPエンタプライズを比較すると、遅いソフト ウエア開発速度を上げる最善の方法は、OSS文化であると世界中が注目している8)。

    2.2 GUI(Graphical User Interface)

    GUIはコンピュータと人間の接点ともいうべき大切なソフトウエアで、大型汎用機の時代はCUI(Character User Interfsce)使用された。ムーアの法則が続いてコンピュータの価格が下がり、個人的にコンピュータが使 われ始めたころ、アップル社がコンピュータ資源の一部を使用して、ソフトやファイルをアイコンで表し、ソ フトを起動したり、ファイルを開いたりするのに、アイコンのダブルクリックで可能にした。その他、ファイ ルの消去はごみ箱にすてる動作、ファイル、編集などのメニューなどさまざまな機能をつけた。これが、多く のユーザに受入れられた。これを見てマイクロソフトは、MS-DOSをGUI化してWindows1.0とした。

    MS-DOSは、1981年にIBMが初めてPCを商品化したときに採用したOSでCUI(Character User Interface) である。CUIであるUnixを手本としたOSであるので、人間が文字入力によってコンピュータを操作していた。 CUIはコンピュータの操作を難しくしていた。

    2.2.1 GNOME(GNU Network Object Model Environment)

    1969年に開発されたUnixはCUIであったが、UI(User Interface)を改良するために、多くのwindowを開い て作業を行うX Window Systemが使われた。

    GNOMEは1997年LinuxのUIを改良するために、ミゲル・デ・イカザが開発したOSSである。レッドハッ トソフトウエア社が協力したので、RedHatLinuxの時代(2003年まで)から現在のFedoraCore6までパッケージ され、Redhat系Linuxのデスクトップ環境はGNOMEが使える。GNOMEの環境を一言で云えば、Windows に年々近づいているといえる。

    2.2.2 KDE(K Desktop Environment)

    GNOMEに先行したLinuxのデスクトップ環境ソフトでFedoraCore6にパッケージされている。Windows に似ている点でGNOMEと同じといえるが、使用した感じは異なる。使用する人の好みで選択肢があるのは幸 せである。ただしこのKDEは、過去にQtという独占的ライブラリィを使用していたので、Qtに拘束されるお それがあったが、1998年にQtの制約はなくすという発表があり現在は広く使われている。

    2.3 webブラウザ

    webブラウザは、インターネットユーザ拡大のキラーアプリケーションというべきソフトである。1989年欧 州粒子物理学研究所(CERN)のティム・バーナーズ・リーが、webサーバソフトとwebブラウザを開発した。 1993年、イリノイ大学スーパーコンピュータセンタ(NCSA)がMosaicというブラウザを開発し、OSSの形で 世界中にインターネット経由で配布した。これでインターネットの普及にはずみがついたが、イリノイ大学当 局がOSSを管理しようとしたためMosaicの改良は停止し、開発メンバはいなくなった。シリコングラフィッ クス社CEOジム・クラークが、旧Mosaic開発メンバに新たなブラウザ開発を提案した。ネットスケープ社を 設立し、Netscapeというブラウザを開発した。アカデミックユースは無料、企業で使用する人は1本2000円 である。これが世界中に広まり使われた。

    これを見てマイクロソフト社はWindowsにインターネットエクスプローラ(IE)というブラウザを組み込んで 販売を始めたので、ユーザは自然にIEを使うようになりネットスケープ社の経営は不振に陥りAOL社に買収 された。ブラウザ業界は以上のような状態であるが、なおOSSのブラウザFireFoxがあり、かなりのユーザが いる。

    2.3.1 Mozilla

    ネットスケープ社のNetscapeブラウザの開発プロジェクト名であるが、ネットスケープ社がAOL社に買収 されたので、ブラウザはOSSとなり、RedHatLinuxにパッケージされ配布された。FedoraCore1までMozilla がパッケージされていた。

    2.3.2 FireFox

    2004年11月、FedoraCore3からブラウザはFireFoxがパッケージされている。ベン・グッドイヤとブレイ ク・ロスが、Mozillaのセキュリティを高めるために全面的に書き直した。IEの脆弱さに企業ユーザは困って いるので、FireFoxを使用する人は増加している。

    2.4 エディタ

    プログラムを作成する、プログラムを修正する、文章を作成するなどを行うソフトウエアである。商用ソフ トではマイクロソフト社のワードが最も多く使用されている。

    2.4.1 vi

    1970年代にUCBのビル・ジョイが開発した。Unixに組み込まれ、OSをインストールしただけで使用でき る。OS、TCP/IPの設定はviを使用して行う。

    2.4.2 Emacs

    1985年、GPLを提案しOSSの世界で有名なリチャード・ストールマンによって開発され、匿名ftpで世界 中に配布された。日本でも多くのプログラマが使用し、その使い易さはわかったが、プログラム作成の際日本 語のコメントをつけることができなかった。何十人ものボランティアが協同で日本語入力を可能にして、Unix やLinuxを使用している人はほとんどEmacsを使用している。メール送受信、ニュースの送受信などワードと アウトルックでできること以上の機能を備えている。

    2.4.3 Latex

    スタンフォード大学のドナルド・クヌース教授が1977年に考案した文書整形システムであるTexをベース に、レスリー・ランポートによって開発された文書整形システムである。数式、数学の記号、図、表などをワ ープロソフトとは異なる方法で処理する。厳密にはエディタではないがここに分類した。開発当初からパブリ ックドメインソフト(PDS)で全世界に配布された。Linuxにパッケージされており、筆者も愛用している。情 報処理学会への論文投稿は、20年前から紙にプリントして郵送するのではなく、Latexのソースファイルをネ ットワーク経由で送信する。

    2.5 アプリケーション

    アプリケーションソフトはWindowsやLinuxの上で働くソフトのことでWindowsでは、ワード、エクセル、 パワーポイント、アクセス、アウトルックなどが有名であり、マイクロソフト社ではこれらをまとめてマイク ロソフトオフィスと名づけて販売している。

    2.5.1 OpenOffice

    OpenOfficeは、マイクロソフト社のオフィスと同等の機能をもつアプリケーションソフトを、サンマイクロ システムズ社が開発、販売していたStarOfficeをオープンソース化したものである。ワープロはWriter、表計 算はCalc、プレゼンティションソフトはImpress、データベース管理ソフトはBaseという名称である。多数 のLinuxにパッケージされており、Linuxユーザは無料でマイクロソフトオフィスプロと同等の機能を入手でき る。日本の文科省が全国の小中学校にPC教室を設備しようとしているが、国家財政は破綻している。そこで LinuxとOpenOfficeに着目している。PCのハードウエアは約5万円であるが、これを動かすソフトは Windowsとオフィスで5万円は必要である。このソフトの予算が不要になるのである。この動きが日本全体に 及ぼす影響は大きい。

    2.5.2 StarSuite

    サンマイクロシステムズ社が開発、販売しているのはStarOfficeである。StarOfficeに一太郎の文書を処理可 能にし、サポートサービスを加えアジア圏では商標権の関係でStarSuiteの名称で2002年から販売されている。 有料のソフトではあるが、ソースコードは公開されている。

    2.6 インタネットサービス

    2.6.1 Apache

    世界でシェア70%のwebサーバソフトである。webサーバソフトも、ブラウザを開発したティム・バーナ ーズ・リーによって開発された。ブラウザのMosaicと同様にwebサーバソフトもイリノイ大学のNCSAで書 き換えられたものがインターネット経由で世界中に配布された。世界中のユーザから寄せられた意見をもとに 毎日のように改版(パッチをあてる)した。Mosaicと同様大学当局の介入の後、メンバはネットスケープ社へ 移り新たな有料のwebサーバソフトの開発をはじめた。

    ブライアン・ベーレンドルフ、ベン・ローリーらは、NCSAの改版だらけのwebサーバソフトに自嘲の意味 を込めてパッチだらけを意味するApacheという名前をつけて改良を始め、世界中に無料で配布した。これが Linuxと同様の効果をもたらし、スキルの高いユーザが改良に協力する体制が確立し、Apacheの性能がネット スケープのNetscape、マイクロソフトのIISなどのwebサーバソフトを凌駕している。現在webサーバソフ トの中でシェアは1位である。

    2.6.2 Sendmail(Postfix)

    Sendmailは1970年頃エリック・アルマンが開発した。インターネット上で使用されるメール転送のソフト であり、Arpanetのときから使用されているアプリケーションである。研究情報のやりとりのために税金で開 発したソフトなので、はじめからOSSである。1990年にインターネットの商用利用が始まり、ユーザが7億 人にもなると、セキュリティ対策をせずにSendmailをオープンリレーを許可するのまま使用すると、スパム メール送信の足がかりにされはじめた。原則セキュリティ対策をしたPostfixが主流になりつつある。

    2.6.3 BIND(Berkley Internet Name Domain)

    1970年代にポール・ヴィクシィによって開発されたBINDは、DNS(Domain Name System)サーバソフトの 名前である。DNSは、世界中でインターネットに接続されている7億台のコンピュータを識別するためにつけ られたIPアドレスとeメールアドレスやURLに使用されているドメインネームを相互変換するソフトである。 IPアドレスは32ビットの2進数であり、コンピュータとネットワークは2進数しか理解できないが、人間が 32ビットの2進数を扱えば必ずミスが入る。これを回避するために、人間はeメールアドレスやURLを使用 して入力するが、enterキーを押すとDNSが2進数のアドレスに変換して理解するのである。インターネット のすべてのアプリケーションが利用するソフトであり、これがOSSであることはインターネット普及を早め た要因である。

    2.7 RDBMS(Relational Data Base Management System)

    現在使用されている情報システムのほとんどはデータベースシステムであるといっても過言ではない。なか でも1970年に開発されたリレーショナルデータベース(RDB)は、世界中で最も多く使用されている。このこ とは、オラクルというRDBソフトを販売しているオラクル社が世界第2位のソフトウエアメーカーであるこ とを見れば明らかである。オラクルの最も低価格のソフトでも500万円であるが、このRDBMSソフトにも OSSがある。

    2.7.1 PostgreSQL

    PostgresというRDBMSソフトがUCBのマイケル・ストーンブレーカ教授によって開発された。1988年か ら大学の外にも配布し始めたが、やがてバグその他の対応は研究室では不可能になり、Postgresの開発は中止 された。その後カナダ在住のマーク・フルニエを中心とするグループが、PostgresをPostgreSQLと名称を変 え、OSSとして公開している。本学のRDBの演習に利用させていただいている。商用webサイトをOSSで 構築する際、代表的な構成として、Linux,Apache,PostgreSQL,PHPが使用されている。これらのソフトウエ アの頭文字をとって、LAPPと呼んでいる。超低価格で商用webサイトを構築できる。

    2.7.2 MySQL

    スエーデンのマイスィーケル(MySQL)社が開発を行い、オープンソース版、商用版を出している。ユーザの 環境、能力、費用に応じて、ライセンスやサービスを選択できるようになっている。欧米で多く使用されてい る。商用webサイトをPostgreSQLの代わりにMySQLを使用するケースも多くそのときはLAMPと呼ぶ。

    2.8 ファイルサーバ、Samba

    アンドリュー・トライジェルが開発したファイルシステムである。その機能は同じネットワーク上にある LinuxマシンとWindowsマシンのファイルを共有可能にする。ファイルと同様にプリンタを共用できる。仕事 の都合でLinuxを使う人、Windowsを使う人、両方使う人がいるので非常に便利である。さらに仕事上のファ イルに対し、アクセスを許可するしないの管理、いわゆるアクセス管理の機能がある。

    2.9 TCP/IP

    TCP/IPはインタネットのプロトコルとして使用されている有名なソフトで、解説書が300冊にもおよぶので、 ここではTCP/IPもOSSの代表的ソフトである、という紹介にとどめる。2.6インターネットで、 Apache,Sendmail,BINDをとりあげたが、これらはTCP/IPのアプリケーション層といわれているもので、 TCP/IPの一部である。

  3. オープンソースソフトウエア活動

    3.1 GNU(GNU is Not Unix)プロジェクト

    1985年、リチャード・ストールマンにより設立された。Unix互換のGNUsystemというOSを作るためであ る。しかし、GNUsystemの完成は遅れ、代わりにEmacs,Gcc,X Window Systemが世界中に広まった。FSF(Free Software Foundation)という財団も作り、GNUsystem開発資金にあてた。集まった資金は少なかったが、0で はなくGNUの活動は今日まで続いている。GNUsystemの完成形はLinuxによって実現されたので、ストール マンはLinuxをGNULinuxと呼ぶことを提案しているが、ハッカ達の賛同は得られていない。

    3.2 OSDLInc.(Open Source Development Laboratories)

    OSDLは、2000年8月にIBM、インテル、CA(Computer Associates)、HP、NEC、日立、富士通が中心とな り設立されたNPOである。2003年には、リーナス・トーバルズも参加した。その後、参入する企業が増え、 2005年7月には70社となった。活動の目的は、OSSの利用促進である。

    現在は、市場を3つに分け市場ごとに活動している。

    1つ目の市場は通信である。通信事業社が、信頼性の高いソフトを必要としていることに対応し、Linuxを使 用できるよう開発を進めている。第3世代の携帯電話にはLinuxが使用され、クレジットカード、音楽再生、 テレビ、地図情報、定期券などの機能がつけられ、使用されている。

    2つ目は、IT企業向けである。ユーザが安くて堅牢なソフトウエアを求めているが、まだ満足できるものを 供給できていない。ソフトウエアの基盤であるOSの使用料が安く、多くのユーザが同じOSを使用すればソ フトウエア全体が安く、バグが少ないものを供給できる。

    3つ目は、ユーザ企業向けである。Windowsに比べて安く、セキュリティに優れているので、ユーザ企業に はメリットである。

    以上のように、ネットワーク社会の基盤である通信事業社、IT企業、ユーザ企業3者にとってメリットのあ るOSS文化がこれから実用化されつつある。ユーザ企業が今後OSSのメリットを享受するためには、ITのス キルを上げ、ユーザ自身が満足できるシステム構築に参加することが必要である。

    OSSとは異なるが、インタネット上で不特定多数の人が作成しているウィキペディアという百科事典がある。 もちろん無料で公開されている。科学誌Nature、2005年の調査によると、科学に関する42項目のうち、ウィ キペディアは、1項目平均4つの誤りがあったがブリタニカにも平均3つあった。その調査報告の直後、ウィ キペディアの誤りは訂正されたが、ブリタニカは次の版までそのままである。情報を公開して、世界中から共 有するという文化が広まりつつある。

  4. おわりに

    OSSで情報産業は成り立つのか、という素朴な疑問が聞こえてくる。ある情報システムを導入した企業は毎 日情報システムを構成しているソフトウエアを使うことになる。トラブルに対処しながら使い続け、事業の変 化に対応して情報システムを構成するソフトウエアも進化させる必要がある。OSやアプリケーションソフト が無料もしくは安価に構築できても、このトラブル対応や事業の変化に対応するための費用まで無料にして欲 しい、とユーザは言わない。これまでユーザは、情報システムを迅速に変えられないためにビジネスを簡単に 変えられなかったが、変化に迅速に対応するための費用は惜しくはない、とユーザは思っている。変化に対応 する情報システムを供給するIT企業も効率化して、利益がでる体制とする。安価で良質な情報システムが広く 使われるようになる。これが、OSSでもビジネスが成り立つモデルである9)。

    よりよいソフトウエアを迅速に開発できる土台ができたといえる。情報システムの開発をこれまでのまま進 めるか、安価で安全そして迅速に変化に対応できるOSSにするか、決めるのはユーザである。

参考文献

  1. ThinkIT監修、日本Linux協会、LPI-Japan協力:オープンソース白書2006、インプレス(2006)
  2. クリス・ディボナ、サム・オックマン、マーク・ストーン編著、倉骨彰訳:オープンソースソフトウエア、 オライリィ(1999)、p.118
  3. 同上、p.329
  4. 同上、p.373
  5. ThinkIT監修、日本Linux協会、LPI-Japan協力:オープンソース白書2006、インプレス(2006)
  6. 同上
  7. デビッド・ヴァイス、マーク・マルシード著、田村理香訳、Google誕生、イーストプレス(2006)、p.84
  8. リーナス・トーバルズ、デビッド・ダイヤモンド著、風見潤訳、中島洋監修:それがぼくには楽しかった から、小学館プロダクション(2001)
  9. 井田昌之、進藤美希著オープンソースがなぜビジネスになるのか、MYCOM新書(2006)