オープンソースという言葉は,漠然とした意味合いで使われることがある。だが,それによって大きな問題が生ずる危険があること,そして,起源となった「オープンソースの定義」に従うべきであると,筆者は主張する。なぜなら,オープンソースの本質は,ソフトウェア開発のあるべき姿を示した精神といえるものであり,それなしに正しい議論は生まれないからである。

(本誌)

 「オープンソース」という言葉がメディアに登場する頻度は,確実に増えてきている。Linuxはオープンソースなので成功したらしい,政府もオープンソースを推進するそうだ,米Microsoft社のWindowsに唯一対抗できるのはオープンソースだ――。万事がこんな具合だ。流行りのタームと言ってしまってもよいだろう。ところが,オープンソースとは何かと聞かれた人は,たいていこう答える。「オープンソース? 知ってるよ。ソースがオープンてことだろ」。

 確かにオープンソースは誤解を招きやすい言葉だ。しかし「オープンソース」は「ソースがオープン」,すなわちソースコードが何らかの形で公開されていることと必ずしも等価ではない。ソースコードの公開はオープンソースの大前提なのだが,ここで言うオープンソースは,それ以上に詳細かつ明確な定義を持つ一つの概念なのである。

 この手の話に馴染みのない方であっても,「オープンソースの定義」(The Open Source Definition,OSD)というものについては聞いたことがあるのではないだろうか。この定義に基づくソフトウェアのみを「オープンソース・ソフトウェア」と呼ぶべきというのが私の立場である。正確には,「オープンソースの定義」で規定された条件(現在は10カ条)を満たすライセンスの下で公開されているソフトウェアのことである。

 しかし,どうして細かな定義に振り回されなければならないのだろう? このような疑問に一言で答えるのは難しいが,私ならこう答える。オープンソースは,ソフトウェア開発の方法論の一つ,「バザール開発」と組み合わされると力を存分に発揮する。しかし,単にソースコードがそこらにあるというだけでは,バザール開発はうまく機能せず,そのままプロジェクトが失速してしまう可能性がある。すなわち,オープンソースの定義は,バザール開発プロジェクトで期待される成果を最大化するための必要条件なのだ,と。

 オープンソースの定義は,一見無味乾燥な条文の羅列で,しかも恣意的に決められたように見える。それが,どうしてそのように重要な役割を果たすのだろうか。以下では,この定義がバザール開発という文脈で果たす大きな意味を,歴史的な経緯と個々の条項の分析という二つの側面から考えてみたい。

オープンソースに対する批判

 突然外国からオープンソースとその定義とかいうものが降ってきて,それに従えという輩がいる。けしからん。

 こういった不満や批判を聞くことがある。「オープンソースとは誰かが自分の都合で勝手に決めたものであって,そんなものを強制されるいわれはない。言葉の使い方は自分の勝手だ」という意見だ。

 まず,「言葉の使い方は自分の勝手だ」という方から反論しよう。そもそもオープンソースの定義が1997年に登場するまで,オープンソースという言葉は存在しなかった。海外のニュースグループなどでは「Open Source Code」というような用例はいくつか存在していたようだが,ほとんど使われていなかったことは確かである。また日本では,私の知る限りオープンソースという言葉が使われていたことはなかったようだ。要するにオープンソースは新語であって,固有名詞なのだ。ゆえにオープンソースという言葉を使う以上,その定義に従って正しく使う必要があると私は思う。同じ言葉で意味している内容が人によって違うと,議論が成立しない。

 大体,単にソースコードが公開されているだけならば,なぜ「ソースが公開されているソフトウェア」と呼ばないのか。無反省にオープンソースと使ってしまう時点で,「オープンソース」という流行に乗ってしまっていると言わざるを得ないのではないか。

 確かにUnixの世界ではオープンという言葉は濫用されてきたきらいがある。しかし,だからといってオープンソースの意味を類推で「オープン」プラス「ソース」だと捉えてよいわけではない。例えば「携帯」プラス「電話」というケースを考えてみるとよい。二つの言葉が組み合わさって,異なる,あるいはより限定された意味を獲得した言葉だ。オープンソースもそれと同じである。

 もう一つ,「誰かが勝手に決めた」という点はどうだろうか。私はそうではないと考える。オープンソースは突然,無から飛び出してきた言葉ではない。20年以上に渡る「フリー・ソフトウェア運動」の論理を一般的により分かりやすい形で抽出したものなのである。このあたりの事情を考えるには,その前史となるフリー・ソフトウェア運動から説き起こす必要があるだろう。

オープンソース前史:RMSから始まった

 すべては1971年,米マサチューセッツ工科大(MIT)のAI研究所にやってきた風変わりな青年,RMSことRichard Mathew Stallman氏から始まった。

 1960年代から1970年代にかけては,米DEC(Digital Equipment Corp.)のPDP-10に代表されるような大型汎用機が全盛だった。この時代,少なくともビジネス的にはハードウェアが重視され,ソフトウェアはほとんどハードウェアのおまけ並みの存在として考えられていた。しかし,Stallman氏のようなプログラマ,いわゆるハッカーたちにとっては,いわば蜜月の時代でもあった。なぜならおまけであるがゆえに,ソフトウェアはハッカーたちの共有財産として扱われていたからである。皆がソースコードを見せあい,移植や改良はすべて自由。それが当たり前だったという。この当時,フリー・ソフトウェアもオープンソースもまだ存在しなかった。なぜなら,ソフトウェアとは元々そういった,自由に誰でも利用できる存在として捉えられており,ことさらそうでないものと区別する必要がなかったからである。

 ところが1980年代に入ると状況は一変する。時代遅れとなった大型汎用機は次々と退場し,代わって小型のパーソナル・コンピュータやワークステーションが世を席巻した。市場が拡大した分,ソフトウェアのソースコードを原則非公開で再頒布禁止とし,その上でライセンスを販売するというビジネスモデルが成立するようになった。Stallman氏風に言えば,「独占的(proprietary)」なソフトウェアが次第に主流となってきたわけだ。こうして生まれた幾多のソフトウェア企業の中で,結果的に最も成功したのが,Bill Gates氏率いるMicrosoft社だった。MITのAI研究所内に存在したハッカー・コミュニティも,優秀なハッカーたちの大半を企業に高給で引き抜かれ,崩壊してしまう。公開と共有を旨とする昔ながらのハッカー文化は失われてしまった。

源流となるフリー・ソフトウェア運動

 しかし,それでもなお昔ながらの伝統に固執し,「ソフトウェアは誰でも自由に利用できるべきだ」と考えていた人がいた。それがStallman氏である。彼は考えていただけではない。自ら誰でも自由に使え,かつそれが保証されているソフトウェアを書き始めた。これがフリー・ソフトウェアの始まりである。フリー・ソフトウェア運動が本質的に「復古運動」であったことは注目に値する。それが,現在にまで至るフリー・ソフトウェアの動きに,ある種の正当性を与えているからだ。

 Stallman氏は1984年,MITを辞めて「GNUプロジェクト」を立ち上げ,1985年にGNUプロジェクトを支えるフリー・ソフトウェア財団(Free Software Foundation)を設立した。GNUは,当時主流となっていたOS「Unix」のクローンを,完全にフリーな形で作ることを目標としたプロジェクトである。GNUプロジェクトでは,Stallman氏以下精鋭のプログラマが,エディタ(GNU Emacs)やコンパイラ(GCC)など,さまざまなGNUソフトウェアを粛々と開発し,近代的なオペレーティング・システムを構成する部品を蓄積していった。その成果は,品質の良さや移植性の高さから次第に注目を集めるようになり,Stallman氏の動きは徐々に多くの賛同(と多くの反発)を集めるようになっていく。

 GNUプロジェクトでは,当初さまざまなライセンスをソフトウェアごとに作成していたが,それらからエッセンスを抽出し,1989年にGNU GPL(General Public License)として一本化した。このライセンスは1991年にバージョン2となり,現在に至るまでこのGPL2が広く使われている。

 GPLのエッセンスは,「コピーレフト」と呼ばれる発想である。GPLには,以下の条件が明記されている。再頒布と改変の自由を保障することと,さらにその自由が,再頒布する相手にも引き継がれることである。これをライセンスに明記し,その法的根拠を著作権(コピーライト)法に求めている。普通,著作権はコピーを禁止するために使われるものだが,ここでは著作権が存続する限りコピーは自由,という全く逆の目標を達成するために“悪用”しているわけだ。

八田 真行 Masayuki Hatta

Debian Project Official Developer
GNU Project Translation Coordinator, Webmaster
1979年生まれ。Debian GNU/Linux公式開発者の傍ら,GNUプロジェクトの翻訳コーディネータを務める。GNU GPLやオープンソースの正式な定義である「The Open Source Definition」の日本語訳を公開。東京大学大学院経済学研究科に在籍中。