オープンソースソフトウェア(OSS)の歴史<ソフトウェアの歴史<歴史<木暮仁

スタートページ> (主張・講演Web教材歴史ソフトウェアの歴史

オープンソースソフトウェア(OSS)の歴史


参考URL


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

オープンソースソフトウェアの定義

OSI(Open Source Initiative)は、OSD(The Open Source Definition)でオープンソースソフトウェアを次のように定義している(説明のために表現変更)。
参照:OSI(八田真行訳)「OSD(var.1.9)」
    http://www.opensource.jp/osd/osd-japanese.html

  • 1 自由な再頒布ができること
    無料頒布、有料販売の区別はしない
  • 2 ソースコードを頒布すること
    これが「オープンソース」の意味である
  • 3 派生ソフトウェアも同じライセンスを適用すること
    入手したオープンソースソフトウェアを変更したり、派生したソフトウェアを作成することができる(著作権の同一性保持の権利を適用しない)。
    しかし、それらは元のオープンソースソフトウェアと同じライセンス条件にしなければならない。
  • 4 作者のソースコードの完全性を保持すること
    バイナリ構築の際にプログラムを変更するため、ソースコードと一緒に「パッチファイル」など差分情報を頒布することを認める場合に限り、同一性の保持を要求してもかまわない
  • 5 個人やグループを差別しないこと
    輸出制限などの法規制がある場合も、ソフトウェア自体に制限を取り込んではならない。法に従うかどうかは別の問題である。
  • 6 利用分野で差別をしないこと
    商用での利用、特定分野での利用を禁止するなどの制限をしてはならない。
  • 7 追加ライセンスを要求しないこと
    再頒布をするのにあたり、機密保持や同一性保持などの制限を加えないこと
  • 8 特定製品でのみ有効なライセンスを設けてはならない
    開発したアプリケーションの一部にオープンソースソフトウェアが用いられているとき、そのオープンソースソフトウェアを取り出して自由に利用することを制限してはならない
  • 9 他のソフトウェアを制限しないこと
    オープンソースソフトウェアと同じ媒体で頒布される他のプログラムについてもオープンソースソフトウェアとするというような条件を要求してはならない
  • 10 技術的な中立を保つこと
    「~の条件に同意する」のボタンをクリックしないと入手できないような手段を禁止する。これは、他の頒布者の行動を制限するからである。

これは、OSIの主張する定義であり、これに合致しなければオープンソースソフトウェアといってはならないという排他的なものではない。しかし、この定義は広く受けいられているので、これと相違する場合には、みだりにオープンソースソフトウェアを名乗るべきではない。

オープンソースソフトウェアとフリーソフトウェアの関係

「フリー」には2つの意味がある。
  ・フリー=無料:利用権を無料で提供する
       いわゆる(シェアソフトに対する)フリーソフトがこれに該当する
  ・フリー=自由:著作権に制約されない→著作権での「何が」フリーなのか多様
       再頒布の自由? 改変(機能追加など)の自由? 二次著作物の頒布の自由?
 OSDのオープンソースソフトウェアの定義では、「無料/有料」については規定していない。「著作権」は放棄せず、その適用を緩和しているだけである。また、フリーソフトはソースコードを提供しないのが通常である。

ところが、オープンソースソフトウェアの名称が一般化する以前に、フリーソフトウェアという名称が使われていたこともあり、混同されていることが多い。
 また、ソースコードを公開しているのは、作成者の信念あるいはボランティア精神によるものだと認識されていることがあり、それが「フリー」との区別をあいまいにしていると思われる。そのような場合も多いが、ソースコードを公開することにより、他人にデバッグや改良をしてもらうこと、あるいは普及・発展することにより関連分野でのビジネス展開を期待する意図もある。

参照:IPA「OSSライセンスの比較および利用動向ならびに係争に関する調査報告書」2010年
    http://ossipedia.ipa.go.jp/doc/203/


代表的なオープンソースソフトウェア

以下、代表的なオープンソースソフトウェアを年代順に列記する。特にWebシステムでの主要なソフトウェアがオープンソースソフトウェアとして提供されている。なお上述のように、これらのソフトウェアが、すべてODSの定義に合致しているわけではない。

  • 1971年 UNIX
    現在でも広く利用されているOS。Linuxもこれをベースにしている。AT&Tが開発。当初は教育・研究用に限定してソースコードが提供された。なお、UNIXにはプログラミング言語であるC言語が搭載されていた。
  • 1982年 Sendmail
    現在でも最も広く利用されているメールサーバソフトウェア。エリック・オールマンが開発したMTAをSendmail社が発展させた。
  • 1987年 Peal
    WebページとアプリケーションをつなぐCGIによく用いられるプログラミング言語。ラリー・ウォールによって開発された。
  • 1991年 Linux Var.0.1
    オープンソースソフトウェアのOSとして広く普及。リーナスが個人的な実験として始めたのが、多くの賛同者を得て現在のものになった。
  • 1995年 PHP
    Perl を元にラスマス・ラードフが開発。その後、この発展のために設立されたZend Technologies により普及されている。
  • 1996年 PostgreSQL
    オブジェクト関係データベース管理システム。1983年にマイケル・ストーンブレーカーが率いるプロジェクトにより開発。1996年にPostgreSQLに変更。
  • 1998年 MySQL
    PostgreSQLと同様のデータベース管理システム。当初はスウェーデンのMySQL AB社が商用に開発。同社がサン・マイクロシステムズ(後Oracleに買収)に買収されたときに、オープンソースソフトウェアとして公開
  • 1999年 Apache
    広く利用されているWebサーバ管理システム。ブリアン・バーレンドルフによる開発。その後、Apacheソフトウェア財団により改訂・発展している。
  • 2000年 OpenOffice
    ワープロソフト、表計算ソフトなどオフィスソフトのオープンソース版。サン・マイクロシステムズ(現オラクル)がドイツの StarDivision 社を買収し、同社が開発していた StarOffice (StarSuite)を無償公開したのがベース
  • 2002年 Firefox
    マイクロソフトのIEと並ぶ代表的なWebブラウザ。Mozilla Foundationが開発。当初はPhoenixとされたが、2004年にFirefoxと改称、製品版となる。

オープンソースソフトウェアの概念の歴史

ソフトウェアの有料化

自動車のコストの約半分は電子機器であり、それに組み込まれているソフトウェアの費用は大きな割合になるが、ソフトウェアだけを取り出して販売をすることはない。それと同様に、コンピュータが普及しはじめた1960年代では、ソフトウェアはハードウェアの付属的な存在であった。有料・無料以前に、価格がなかったのである。

当時開発された言語であるFORTRANやCOBOLは、IBMやCODACYLで開発されたが、そのソースコードは公開されなかったとはいえ、「コンパイラの作り方」のような図書は多く刊行されたし、多くのノウハウが広く知られていた。
 OSは各メーカーの大きな資産であり機密情報になっていたが、他メーカーのコンピュータには搭載できなかったため、そのソースコードに関心を持つものは競合コンピュータメーカーであり、一般のユーザ企業は、ハードウェアを買えばOSがプレインストールされているので、不正コピーをする動機すらなかったのである。

それが大きく変化したのが>アンバウンドリングである。IBMは、1969年に司法省と独禁法をめぐる裁判で負けて、ハードとソフトのアンバンドリング(価格分離) 政策を発表した(日本のコンピュータメーカーがアンバンドリングしたのは1977年)。
 また、この頃からソフトウェアの価値が認識され、サードパーティによる汎用ソフトウェアが開発されるようになった。そのため、ソフトウェアの販売は、利用権の売買になり、ソースコードは企業機密になったのである。

1984年 GNUプロジェクトとFSF

1980年代中頃になると、ソフトウェア開発者の権利が厳しいことが、ソフトウェアの発展を妨げているという意見が強くなった。
 リチャード・ストールマン(Richard M. Stallman)は、「使用、学習、コピー、改変、再頒布を自由に行えるソフトウェア」が必要だと主張して、それをフリーソフトウェアと命名し、(商用の)UNIXではないが、同等なるソフトウェア開発プロジェクトであるGNU(GNU is not UNIX)プロジェクトを組織した。この運動は発展して、1985年にFSF(Free Software Foundation、フリーソフトウェア財団)が設立された。

GNUでは、フリーソフトウェアで問題とするのはいわゆる「自由」であり、ユーザがソフトウェアを実行、複製、頒布、研究、変更、そして改良する自由のことを指している。この自由を得るには、ソースコードが入手可能であることが前提条件になる。ここでは「無料」の概念はない。無料で入手したソフトウェアを有料で再頒布すること、その逆も認めている。
参照:GNU Operating System(八田真行約) 「フリーソフトウェアの定義」
    http://www.gnu.org/philosophy/free-sw.ja.html

  • プログラムを実行する自由
    入手したプログラムを、利用目的(私用でも商用でも)を問わず、開発者などの承認を得ずに使うことができる
  • 修正を加え、採り入れる自由
    入手したプログラムに必要に応じて修正したり、他のプログラムの一部に組み込むことができる。
  • 再頒布する自由
  • 入手したプログラムを(修正の有無を問わず、無料・有料を問わず)再頒布することができる。
  • 修正、改良したソフトウェアを公表する自由

これは著作権の放棄ではない。著作権を放棄すると、他の人が(ちょっとした変更を加えたりして)著作権を主張することが考えられる。それを回避するには、著作権を確保しつつ、上記の自由を与えるのが適切である。この概念をコピーレフト(Copyleft、著作権のCopyrightをもじった表現)という。

また、FSFは、フリーソフトウエアの概念を明確にしたライセンス契約書GPL(General Public License)を公表している。
参照:FSF「GPL」(第3版)
    http://sourceforge.jp/projects/opensource/wiki/licenses%252FGNU_General_Public_License_version_3.0

1998年 オープンソース運動とOSI

GNUの活動は、主張が正しく伝わらずに、「フリー=無料」と誤解される傾向があった。また、GSLでのコピーレフトの概念にとらわれなくても、その主張が実現できるとの考えがでてきた。それで、フリーソフトの否定的なイメージを払拭するために、「オープンソース」という名称を用いる動きが出てきた。

1998年、Webブラウザ競争は、マイクロソフトのIE(Internet Explorer)が勝利し、ネットスケープコミュニケーションズのNetscape Navigatorはシェア低下していた。エリック・レイモンドらは、Navigatorの立て直しのプロジェクト(Mozillaプロジェクト)を推進し、誰でも開発に参加できることが有効だとして、後にOSI(Open Source Initiative)が具体的に定義したオープンソースソフトウェアの概念(前述)を提唱した。

  • Eric Raymond、 山形浩生訳「伽藍とバザール」
    http://cruel.org/freeware/cathedral.html
    オープンソースソフトウェアの成功例である Linux の開発手法をバザール方式、それ以前にオープンソースソフトウェア開発でよく利用されてきた開発手法を伽藍方式と定義して、両方式の特徴を考察

  • Eric S. Raymond「The Revenge of the Hackers」倉骨彰訳「真のプログラマたちの回帰」
    http://www.oreilly.co.jp/BOOK/osp/OpenSource_Web_Version/chapter15/chapter15.html
    Netscape Navigatorのオープンソース化プロジェクトを通して、自由参加の開発スタイルが適していることを主張

国のオープンソフト政策

2000年代前半において、オープン系のソフトウェアは Windows や Office などマイクロソフト製品が独占的なシェアをもっていた。それに対して、オープンソースソフトウェアを重視すべきだとの意見が強くなった。

  • 国のIT環境が民間の一企業の動向で大きな影響を受けるのは不適切である。
  • IT化推進には、オープンソースソフトウェアの利用によるコスト節減が有効である。
  • IT産業を含む経済の発展のためには、著作権や特許を強く保護することで産業を守るよりも、自由な競争によって産業を活性化することが重要である。

参照:経済産業省、「オープンソースソフトウエアの利用状況調査/導入検討ガイドライン オープンソース・ソフトウエアの現状と今後の課題について」2004年
    http://www.meti.go.jp/kohosys/press/0004397/1/030815opensoft.pdf
比屋根一雄、飯尾 淳、谷田部智之「世界各国政府のオープンソース採用動向」2005年
    http://thinkit.co.jp/free/trend/2/1/1.html