2001年5月7日執筆

オープンソース時代の到来

今、コンピュータの世界にはオープンソースという妖怪が徘徊している。この 言葉はマルクスの「共産党宣言」の冒頭の部分のパロディであるが、今まさに 妖怪のようにコンピュータの世界にオープンソースという思想が入り込んでい る。

現在、元々コミュニティーや個人の著作物であったソフトウェアだけではなく、 多くのメーカまでもが、自社のソフトウェアをオープンソースにしている。ま さしくオープンソース時代の到来と言えなくもない。そして、このオープンソー スとは、コンピュータと人間との新しい関係の始まりだとも言える。なぜなら それは、コンピュータシステムを作る主役が、メーカからユーザに転換する可 能性を秘めたことであるからである。

オープンソースソフトウェアとは何か

オープンソースソフトウェアとは、かつて「フリーソフトウェア」と呼ばれて いたものの一部で、ソースコードが公開されているものの新しい呼称である。

これは、元々Linuxが商用で使われ始めた頃に、フリーソフトウェアと呼ばれ ていて、「タダ(free)なものが信用出来るのか」「タダ(free)なものを金にし て良いのか」といった、`free'という語にある「無料」というニュアンスが、 商用利用の妨げになるということから、無料というニュアンスを含まない語を 使うようすることにしたのが始まりである。ただし、「フリーソフトウェア」 という言葉に出て来る`free'は、本来に「無料」という意味ではなく。あくま でも「自由」という意味である。

厳密な定義については、 http://www.opensource.gr.jp/osd-ja.htmlを見て戴くとして、ここでは 簡単に定義を要約しておく。

  1. 自由

    元となるソフトウェアだけではなく、派生したソフトウェアも同じライセンス で配布が自由でなくてはならない。

  2. 公開

    ソースコードは人間の読める形式で公開されてなくてはならない。

  3. 平等

    用途や応用分野に制限を与えてはならない。また、個人やグループに対して差 別的な制限を与えてはならない。

  4. 公正

    何らかの追加ライセンスに対する同意や、特定の条件でのみライセンスされて はならない。

オープンソースによって何が可能になるか

従来のソフトウェアとオープンソースの大きな違いは、その公開性である。こ の公開性によって、様々な可能性を作っている。

ソースコードには、そのソフトウェアの全てが記述されている。つまり、ソー スコードが公開されているということは、そのソフトウェアに含まれている全 ての技術が公開されているということになる。

この結果、類似のソフトウェアへの技術の転用が可能になる。つまり、技術の 交換手段として使えるわけである。このことにより、知識の共有が可能になる。

また、情報が公開されるということは、秘密がなくなるということでもある。 そのため、秘密保持に関する努力が必要でなくなる。これは、秘密保持契約な しで、誰もが開発に参加出来るということでもある。

これは開発が元々の開発者だけではなく、それ以外の者の参加も可能にすると いうことでもある。これにより、開発の必要なコストを抑えることも不可能で はないし、元々の開発者の力量を超えたソフトウェアを作ることも可能になる。

さらにこれらのことは、「開発元」が特定の個人や会社であるということに縛 られなくて済むということでもある。万一「開発元」がなくなっても、「開発 元」はいつでも交替することが出来る。このことにより、ソフトウェアの寿命 は事実上なくなる。「開発元」の都合によって、ソフトウェアの寿命が決定さ れないということは、ユーザが使いたい限りずっと使い続けるということが出 来るということである。

多くの場合、商用のソフトウェアは、ユーザにとってあまり必要でないバージョ ンアップを行なったり、あるいはそのバージョンアップの結果、古いバージョ ンのソフトウェアは見捨てられたりする。特に厄介なのは、ハードウェアやOS がバージョンアップしてしまうと、必要でもないのにアプリケーションをバー ジョンアップしなくてはならないということが起きることである(たとえば、 Office-XPはWindows 95の上で動かないから、Office-XPを使いたければ、 Windowsのバージョンアップが必要になるし、Windows 95を使い続けたければ、 最新のOfficeは諦めなくてはならない)。しかし、オープンソースのソフトウェ アでは、基本的にこのようなことは、起きない。ある特定のバージョンの仕様 に満足なら、それを使い続けることが可能であるし、

さらに、公開ということによる安全保障が可能になる。つまり、公開されて全 てが明るみに出てしまうということで、ソフトウェア上の「やましいこと」が 排除されるのである。

たとえば、WindowsにはNSA(連邦安全保証局)による盗聴コードが含まれている という疑惑がある。マイクロソフトは「そのような事実はない」と主張してい るのであるが、ソースコードが公開されていないために、それを証明する術が ない。このため、「国防上の理由」ということで、一部の国では政府関係機関、 特に軍事関係の機関ではWindowsは使わないという決定をしている。

Linuxのようなオープンソースのプログラムの場合、そのような事実があるか どうかは、ソースコードを見れば一目瞭然である。つまり、ソースコードの公 開は、「潔白の証明」に使うことが可能なのである。

逆に、このことは「潔白でないことの証明」に使うことも可能である。なぜな ら、オープンソースのプログラムは、その公開性から、一種の「メディア」と して見ることも可能である(「告発的論文」と同じことである)。だから、逆に 「やましいこと」をソースコードに盛り込まなくてはならなくなった時には、 その「やましいこと」はプログラムに載って広く配布される。

たとえば、盗聴コードの例で言うなら、仮に何らかの機関が、盗聴コードを含 ませることを秘かに強制した場合、その盗聴コードの存在はソースコードの頒 布と共に広まることになり、そのような「陰謀」の存在を白日の元にさらすこ とになる。

いずれにせよ、ソースコードを公開するということは、「正直になる」という ことなのである。

オープンソースの解釈

ライセンス的な解釈は既に書いたことであるが、これをよりわかりやすいアナ ロジーから解釈をしてみよう。

そもそもがオープンソースとは、技術的協調を念頭に入れたものであるという ことである。これはつまり、技術情報を共有することにより、開発等を容易に しようというアプローチである。これはちょうど、「論文の公開」と同様なも のだと言える。つまり、ソースコードは技術をプログラムの形で記述した論文 だということである。

実は、オープンソースの源流であるGnuという運動があるのだが、その根本思 想は「科学は元々オープンなものであった」というものである。その流れをく んだ思想がオープンソースの思想ということになる。つまり、オープンソース とは、ソフトウェアを「商品価値」のある工業製品という見方をするのではな く、工業の源泉となる学術論文であるという見方をするというアプローチなの である。

そう考えれば、論文に許された「正当な引用」はもちろん合法であるし、追試 や発展が自由であるというのも納得出来ることであろう。また、内容がそのま まで著作者だけを変える「盗作」が不法であるということも、理解しやすい。 公開された論文がどのような扱いを受け、どのように利用されるかということ と、全く同じなのである。

ユーザシステムとオープンソース

さて、純粋に技術的なメリットについては、前節までに書いたようなものであ るが、それらが実際のユーザシステムにどんな変化をもたらすか考えてみよう。

まずオープン化というのは、つまるところが「開発元」が独占をやめるという ことである。それは、「開発元」の支配力が相対的に下がるということを意味 する。開発するということを「開発元」に依存しなくて済むのである。必要な らユーザ自身の手によって、開発(改良や改造)をすることが可能であるし、ユー ザ自身にその能力がなくても、「開発元」以外の開発者に開発を依頼すること が出来る。つまり、市場原理と無関係に、ユーザ自身が主導権を持って開発を することが可能になるということである。

従来、レセコンのようなエンドユーザシステムは、メーカの支配下にあった。 価格もメーカの都合なら、仕様もメーカの都合、メンテナンスもメーカの都合 である。そして、その内部仕様は公開されていなかったため、他社のシステム に移行したくても、容易ではなかった。

しかし、仮にオープンソースなシステムが存在すれば、その状況は一変する。 価格面のことを別にしても、自分の思い通りに改良することが出来るというこ とは、システムをより現場に近付けることにもなる上、その現場に近付けたシ ステムを使い続けることが出来るのである。これはメーカに対する強力な牽制 という意味もあるが、それにも増して仕様の面での主導権をユーザ自身が持つ ことが出来るということである。

この主導権の交替が、エンドユーザシステムをメーカの手から本来のユーザの 手に取り戻す革命なのであり、それこそがエンドユーザシステムにオープンソー スを採用することによる最大のメリットなのである。