第1回 当然知ってるよね? オープンソースが意味するもの新入学生/新社会人応援企画第2弾(1/2 ページ)

本特集は、特にコンピュータを生業とするエンジニアやビジネスマンにとって、オープンソースとどう関係していくべきかを知る手引とするべく、オープンソースの歴史と現状を短時間で理解できるよう紹介していく。今回は、オープンソースが何を意味するかを理解しよう。

» 2007年02月26日 08時30分 公開
[ITmedia]

 1998年、エリック・レイモンド氏らによって提唱された「オープンソース」は、PCとインターネットの普及という波に乗り、業界の地図を塗りかえた。オープンソースは技術的に成熟し、日々実績を重ねつつある。その一方で、どうやってそれを使うべきか、あるいはコミュニティーとどうつきあっていくべきかと戸惑うユーザー、企業も数多い。

 本特集では、特にコンピュータを生業とするエンジニアやビジネスマンにとって、オープンソースとどう関係していくべきかを知る手引とするべく、オープンソースの歴史と現状についてまとめる。

 今回は、あらためて「オープンソース」の意味について、歴史や最新動向などを見ながらまとめていく。知らない人からは同じように見える「オープンソース」「フリーソフト」「フリーソフトウェア」の違いなども今回の解説で理解できるだろう。

なぜオープンソース?

 「オープンソース」という言葉は、1998年2月3日にエリック・レイモンド(Eric S. Raymond)氏ら*が生み出したものだ(図1)。ソフトウェアのソースコードを無償で公開し、誰でも自由に閲覧・改良および再配布できるようにすることを指している(コラム1、詳細はのちに説明)。

図1 図1 オープンソースをめぐる歴史

 では、レイモンド氏らが「オープンソース」という言葉を提唱した理由は何だろうか? 実はレイモンド氏自ら、「オープンソースという言葉は、マーケティング用語として作り出された」と告白している*。1998年といえば、Netscape CommunicationsがWebブラウザのソースコードを公開した年でもある。レイモンド氏らは、Microsoftとの戦いに敗れ、ビジネス上苦境に立たされていたNetscapeの活動を支援するため、オープンソース活動を展開したというのである。

 実際、ソースコードの公開は1月22日に発表され、2月3日に「オープンソース」という概念が発表されている。Netscapeのソースコード公開は、前年に発表されていたレイモンド氏の論文「伽藍(がらん)とバザール」*に着想を得たものだった。この論文はLinuxの成功を見て嘆息したレイモンド氏が、ソフトウェア開発においては、伽藍(仰々しい建物の中で賢者たちがものづくりをするスタイル)よりもバザール(市場のように誰もが自由にやり取りしながらものづくりをするスタイル)の方が有効であることを指摘したものである。

 伽藍のイメージから、この論文がプロプライエタリ*なソフトウェアを批判するものだと想像するかもしれない。しかしどちらかというと、それはもともと「フリーソフトウェア」に向けて発せられた言葉だった。そう、オープンソース以前にLinuxやその周りの文化がそう呼ばれていた名前に対してだ。「ハッカー*の復讐」という文書の中でレイモンド氏は、フリーソフトウェアがハッカーコミュニティーにひどい損害をもたらしていたとまで書いている。

フリーソフトウェアとは

 「フリーソフトウェア」はリチャード・ストールマン(Richard M. Stallman)氏が提唱している言葉で、氏は「使用、学習、コピー、改変、再配布を自由に行えるソフトウェア」と定義している。また、そのようなソフトウェアであることを保証するGPL(GNU General Public License)ライセンスを作成、公開している*

 GPLというライセンスが世に出たのは1989年だが、ストールマン氏による活動は1970年代から行われていた*。1970年代といえば、まだソフトウェアが売り物にすらならなかった時代だ。コンピュータメーカーは、主にハードウェア(メインフレームやミニコンといわれた大型で高価なコンピュータ)を製造・販売して売り上げの柱としていた。

 しかし、技術の進歩や市場の需要によって、コンピュータは徐々に小型化、低価格化していく。そのような流れの中で、最初はハードウェアのおまけでしかなかったソフトウェアが売り物と見なされる状況が出来上がっていったのだった。

 以上の状況を背景に、それまでプログラマー仲間の間で自由に使うことのできたソフトウェアが使いにくくなっていったという。MIT(マサチューセッツ工科大学)の人工知能研究室に在籍し、メインフレームやUNIX文化に親しんでいたストールマン氏は、ビジネスマンがやってきて、自由なハッカー文化からソフトウェアを奪い去ろうとする状況に反発したといわれている。1984年に、OSからアプリケーションまで、あらゆるソフトウェアを自由に利用できるコンピューティング環境という理想を掲げてGNUプロジェクトを開始したのだ。

コラム1 ソースコードとは?

ソースコードは、コンピュータの動作を記述したもので、ソフトウェアを作る上での基になる。大まかに表現すると、ソフトウェアとは「ソースコードを実行ファイルに変換したもの」といえる(図A)。例えば皆さんが日常使っているWebブラウザやメールも、ソースコードから変換された実行ファイルによって動いている。

 しかし、なぜオープンソースではソースコードを問題にするのだろうか。結論から言うと、その理由は次の2つにある。

  1. 人間にとって実行ファイルは読み書きしにくい
  2. 「ソースコードを実行ファイルに変換」するのは容易だが、逆に「実行ファイルをソースコードに戻す」ことは難しい

 例えばWebブラウザのInternet Explorerに不具合があった場合、前述の(1)の理由から、手元にある実行ファイルを直接修正することは非常に困難だ。しかし、もしInternet Explorerのソースコードが手元にあれば、ユーザーが自分で修正できる可能性がある。また、新しい機能の追加なども自由に行える。プログラマーにとって、ソフトウェアのソースコードは非常に重要なものなのだ。

図A 図A ソースコードとは

このページで出てきた専門用語

エリック・レイモンド氏ら

正確には、エリック・レイモンド氏、米国を中心にUNIX/オープンソース関連の出版事業を行っているティム・オライリー氏、Linux関連のシステム開発をしているVA Linux Systems Inc.(当時)の社長を務めるラリー・オーガスティン氏の3人による。

告白している

「ハッカーの復讐」という文書の中で、当時のオープンソース活動について述べたもの。氏が意図的にメディアを操作していた様子が描かれている。

http://cruel.org/freeware/revenge_of/

伽藍とバザール

http://cruel.org/freeware/cathedral.htmlで和訳が読める。

プロプライエタリ

英単語の「proprietary」。所有や独占を意味する。転じてオープンソース関連の文脈では、ソースコードが公開されていないソフトウェアや、オープンでない状態を指す。プロプラなどと略されることもある。

ハッカー

「コンピュータを使いこなして普通ではなしとげられない成果を生み出す人」を指す言葉。「コンピュータを使って他者を攻撃する」といった悪い意味で使われることもあるが、本来は前者の意味で使われるべき言葉(とハッカーコミュニティーは主張している)。

GPL(GNU General Public License)を作成、公開している

ストールマン氏が主宰するFSF(The Free Software Foundation)という団体によって管理が行われている。

ストールマン氏による活動は1970年代から行われていた

氏が開発したソフトウェアとして最も有名なのがEmacsだ。EmacsはUNIX/LinuxやWindows上でも動作するエディタで、非常に高機能であることから多くのファンに利用されている。Emacsは、1974年ごろからMITの人工知能研究室にいた多くの大学生の手で開発・改良が行われていたが、原作者がEmacsのソースコードを企業に売ってしまうという事件が起こった。こういったできごとをきっかけに、ストールマン氏はフリーソフトウェア活動を始めたといわれている。


       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ