僕にとってのリチャード・ストールマン

created: *Date: 2015-03-12*

堀内寛己(ほりうちひろき) x19290@gmail.com

ストールマンとの出会い

僕がストールマンのことを知ったのは、 1986 年頃、和田英一先生の講義ででした。先生は MIT ハッカーズの堕落(先生は実際に MIT を訪問されていました)についてひとしきり話されたあと、遠い目[1]をして「でもストールマンは変わりませんねえ。 グニューって知ってますか? みんなタダなんですよ」とおっしゃったのです。 僕は当時から市販のソフトウェアが高価なことを不思議に思っていたので、この話には強く引き付けられました。

会社に入って僕はラッキーでした。とても有能で先見の明のある先輩がいて、ストールマンの作品として名高い GNU Emacs というアプリを出身校から持ち込んでくれたのです。それは夢のようなアプリでした。しかもタダなんです。当時の僕のストールマンの印象は、 「自分のずば抜けた才能を惜しげもなく皆と分かち合ってくれる信じ難い聖人」でした。しかしこれは一面的な見方なのです。 そのことがわかったのはだいぶ後のことでした。

ストールマンたちの理想郷

彼は 1971 年から 1983 年まで、職員として MIT の人工知能研に在籍しました。 当初そこ(コミュニティー)は彼にとって理想郷でした。ストールマンは何より友情を大切にしました。 彼の友人たちは「ソフトウェア」という彼らの共有財産を皆で分かち合っていました。他人が書いたソフトウェアを読んで研究したり自分の目的に合わせて書き換えたり[2]、 自分が書いたソフトウェアを(それがいいものなら)気前よくコミュニティーに寄贈したり、誰かが書いたソフトウェアの誤りを別の誰かが気付いて、 自発的に直してあげたりということが日常的に行われていました。物理的実体と異り[3]ソフトウェアはコピーするのに何のコストも必要なく、 共有しても何も減りません。共有すればするほど皆が豊かになるという素晴しい性質を持っています。コミュニティーが健全に維持されていた間は MIT ハッカーズはそのことを当然のこととして知っていました。彼らはまた、外部からの訪問者をも友人としてもて成しました。

社会の崩壊

ところがこの理想郷を破壊する者が現われました。もとはと言えばコミュニティーの一員であった一部のハッカーが商業主義に毒され、 ソフトウェアを独占することが金儲けにつながると知ってベンチャー企業を立ち上げたのです。 そして次々にコミュニティーのハッカーを引き抜いていきました。 コミュニティーは最後にはストールマンと僅かなハッカーを残すだけになってしまいました。

彼を悲しみのどん底に突き落し、激怒させた商業主義の象徴は他にもあります。NDA (Non-Disclosure Agreement 秘密保持契約)です。このころのコンピューターメーカーは、自らの技術情報を顧客に開示するときに、 「絶対に他者には教えません」という契約書にサインさせるということを行うようになっていました。ストールマンにとって「他者に教える = 人助け」ですからこの契約が意味することは「私は絶対に人助けしません」です。 コンピューターを使うにあたって最初にすることがこんな約束だなんて、悲しすぎます。

彼はこれらの出来事を「社会の崩壊」だと感じたと言います。

今わかったのですが、この社会の崩壊という表現を理解するには少し補足が必要です。

彼が言う崩壊させられた社会とは、MIT の人工知能研という文字通り近未来の空間にできあがった時代を先取りした社会でしょう。 それが、単に現代の当たり前のビジネス慣行によって傷付いただけと言えます。彼は骨の髄まで左翼です。つまり人民の味方で、平等主義者で、 平和主義者で、共有を重んじ、そして何より「未来の社会」を目指す人です。このくらいのことでめげてはいけないのです。

GNU プロジェクトと Linux

実際、彼はめげませんでした。1983 年に彼はインターネット上で、「GNU という OS を開発します(開発中です)。 最終的にはこんな感じのものにする予定です」と宣言して (GNU 宣言[4])、それを一人で書き始めたのです。 そしてこのプロジェクトの支援母体としてフリーソフトウェア財団 (FSF) という非営利法人を立ち上げて自ら社長に就任しました。GNU はもちろんタダで、ユーザーの自由を最大限に尊重した OS です。彼は GNU を中心とした理想郷を再び建設しようと考えたわけです。

技術的にはそのころ人気のあった Unix という商業 OS から良いところを取り入れ、それを超えるものを目指しました。OS と言っても標準アプリはブラウザーとメモ帳だけ、なんてことがないように、最初から豊富なアプリを取り揃えることも計画されました。

そして彼が宣言したのとほぼ同じ OS が、今この世に存在します。それが世間では “Linux” として知られるものです。

“Linux”

GNU の開発は、協力者も増えて少しずつ進みました。 そしてあとは「カーネル」というパーツを完成させればいいというところまで行ったのです。 しかしその最後の一歩が途方もなく難しいということがわかってプロジェクは行き詰まりました。

ところがフィンランドの自室にこもって、まだローンも払い終わっていないような PC 互換機を使いながら始めた個人的プロジェクトが発展し、 気がついたらその一歩を飛び越えていたのが Linus Torvalds 通称 Linus (カタカナ表記は間抜けな感じになるのでしません)です。彼も最初は一人でしたが、 最終的にはインターネットを通じて多くの協力者を集めました。彼らが最後の一歩を飛び越えられたのは、Linus が不世出の天才だったのと、 彼らとストールマンたちとでは仕事の進め方が色々な意味で違っていたからです。

Linus たちは、自分たちが書いた代替カーネルと、既にできあがっていた GNU の部品を統合して、「本当に使える OS」にしてしまいました。彼らはそれを “Linux” と呼びましたが、ある意味ではこれは GNU が完成した瞬間でもあったわけです。

GNU と Linux に関するすっきりしない話

後述しますが “Linux” は、Windows と互角に渡り合える、むしろこれを凌駕する性能を有していました。 しかも世界一高価な CD (音楽 CD のことを思い出してみてください)として知られた Windows に対し、 ネットから無料でダウンロードできるのです。世間は、わかりやすい Linus たちの功績を称えました。そしてよく状況を理解しないまま “Linux” という呼称を宣伝しました。面白くなかったのがストールマンです。彼はこの OS を GNU/Linux と呼ぶよう強く求めましたし今も求めているはずです。

ストールマンのこの主張には、「OS 全体の呼び名として Linux は相応しくない。Linux はカーネルの名前である」というものが含まれています。自著を読むかぎり Linus は “Linux” を開発した気になっていましたから、 これを聞いたときはたぶん面白くなかったはずです。しかし程なく彼はこの主張を受け入れました。

僕が注目するのは、ストールマンが「GNU と呼べ」とは言わなかったことです。それどころかこの OS の実に「半分」に Linus たちの貢献を認めていることです[5]

これだと少し美談になってしまいます。GNU/Linux というすっきりしない呼び名は、ストールマンの「Linux カーネルは仮のカーネル」「本物のカーネルは自分たちが作る」という意思の表れでもあります。自分たちの手で本物のカーネルを作って Linux カーネルを置き換えたら、初めてそれを本当の GNU と呼ぼうというわけです。こういうのはつまらない意地だと思います。

フリーソフトウェアとその定義

既に述べたようにストールマンたちが作ろうとしていた OS は、そして図らずも GNU/Linux として結実した OS は無料[6]で自由なソフトウェアです。 英語では無料も自由もフリーなので、こうしたソフトウェアをフリーソフトウェアと呼ぶことがあります。 フリーソフトウェアの対義語は独占ソフトウェアです。

ストールマンによればフリーソフトウェアとは以下の 4 つの自由を備えたソフトウェアのことです:

0. 目的を問わず、プログラムを実行する自由
多くの独占ソフトウェアはこれに関して何らかの制限を課しています。またこれによれば、 「平和利用に限る」という一見善意のソフトウェアもフリーソフトウェアではないことになります。
1. プログラムがどのように動作しているか研究し、そのプログラムに あなたの必要に応じて修正を加え、採り入れる自由
ほとんどの独占ソフトウェアは、「リバースエンジニアリング」という行為を禁じています。 リバースエンジニアリングは独占ソフトウェアを研究する唯一の手段です。
2. 身近な人を助けられるよう、コピーを再頒布する自由
ストールマンにとってこれは、ソフトウェアをコストゼロで複製し、身近な人のために世の中を一つ豊かにする自由ですが、 独占ソフトウェアの世界ではソフトウェアの無断コピーは犯罪扱いです。
3. プログラムを改良し、コミュニティー全体がその恩恵を受けられるよう あなたの改良点を公衆に発表する自由
これこそが GNU/Linux の、いやインターネットのすべての良いものの発展を支えた原動力です。

無料という言葉は一言も出てきません。(参照: フリーソフトウェアの定義 - Wikipedia)

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

ちょうど GNU/Linux が新し物好きの注目を集めていたころ、その中でも影響力のあったエリック・S・レイモンドという人が、 安っぽさとイデオロギー臭がつきまとうフリーソフトウェアという用語では実業界は動かせないと判断し、 ほぼ同じものを指す別の用語として「オープンソースソフトウェア」というものを提唱しました。これが大当たりします。彼らは既にあった Debian フリーソフトウェアガイドライン (DFSG。フリーソフトウェアという言葉が使われていることに注意)をベースに、 その起草者であるブルース・ペレンズと共同して「オープンソースの定義」を仕立て上げました。レイモンドらは FSF の向こうを張って OSI という組織を立ち上げ、「OSI 認定ライセンス」というのを発表して行きました。この戦略も当たりました。 今はこれと同じ「認定ライセンス戦略」を FSF も後追いしています。後追いという点では、実はフリーソフトウェアの「定義」という表現自体が OSI の真似なのです。定義の内容は What is Free Software? という古い(しかしオンライン文書としては DFSG よりわずかに新しい)文書がベースになっているのですが、これが「定義」という表現に書き変わったのはオープンソースの定義の後です。

ともあれ、ストールマン愛を伝えることがこの文の趣旨なので、 以降もオープンソースソフトウェアよりフリーソフトウェアという用語を使います。

GNU/Linux とフリーソフトウェアの成功

1998 年の 11 月、 通称ハロウィーン文書と呼ばれるマイクロソフトの内部文書が先のエリック・レイモンドによってスッパ抜かれました。これによるとマイクロソフトは GNU/Linux (原文では Linux) を始めとするフリーソフトウェア (原文ではオープンソースソフトウェア)が主にインターネットのインフラの分野で確固たる地位を築いていること、 そしてその強さの本質的な理由について正しく認識していました。それはインターネットの中でもとくに優秀な連中が、 本業の余暇に力を結集したからだと言うのです。この文書は、これらフリーソフトウェアの勢力を削ぐために、 「プロトコルの脱共有化」という戦略を提言しています。フリーソフトウェアより性能の勝る、ただし秘密の通信規約に基いた製品を開発して、 マイクロソフトに従順な顧客を今まで以上に囲い込んで行くという意味です。これは今でも盛んに行なわれています。ご存じかもしれません、 OneDrive はこの路線の製品です。OneDrive に囲い込まれた顧客に逃げ道があるのかないのか。 今ならあるのですが将来どうなるのかわかりません。

ハロウィーン文書は、インターネットのインフラの分野ではフリーソフトウェアの脅威を認めていましたが、 オフィスや家庭で使われるマイクロソフト製品の優位性を脅かすものではないとも述べていました。製品のシェアを見るかぎり、 それは今も圧倒的な真実です。

恐るべき GPL の罠

フリーソフトウェアの定義くらいなら、これを書いたのは限りなき善意の人だと思う人もいれば、 世間知らずのただの夢想家だと思う人もいるでしょう。しかし僕が思うに彼はもっと恐しく執念深い人です。 あるいは彼は独占ソフトウェアの世界に壊滅的な打撃を与えようと考えているのかも知れない、と思わせる節があります。それが GPL (GNU General Public License) です。

GPL はソフトウェアのライセンスの一つです。ストールマンのアイディアによるもので、GPL の趣旨に賛同するあらゆるフリーソフトウェアを保護することを最初から念頭に設計されました。その目的は完全に達成され、今や GPL はフリーソフトウェア界で最も広く採用されているライセンスとなっています。Linux カーネルも GPL で保護されています。

GPL は孫コピーの配布に注文を付けるという構造をしています(独占ソフトウェアのライセンスなら孫コピーの配布なんてそもそも許しません)。GPL で保護されたソフトウェア(部品)は誰でも使えます。 しかしひとたびそれを取り込んで再配布(孫コピー)しようとすればそこに大きな罠が待っています。孫コピーを配布する者には、 ソースコードと呼ばれる決定的な技術情報をすべて開示する義務が生じるのです。ソースコードには、 問題のソフトウェア部品を利用してそのメーカーが新たに書き下したソースコードも含めなければなりません。 通常これはそのメーカーにとって重大な企業秘密になりますが、隠しておけば訴えられて敗訴するでしょう(いくつか判例が出ています)。GPL のソフトウェアを取り込んで再配布されたソフトウェアは、それ自身が GPL のソフトウェアになるということもできます。もはや誰も、 自由なのか強制なのか、とにかくその再配布を止めることはできないのです。

GPL の評価、ストールマンの評価

GPL のこのような強さは、著作権を通常の逆方向に適用するというストールマンの驚天動地のアイディアと、 それを具現化した同僚の弁護士の力の賜物です。

GPL について知ったマイクロソフトのおそらく直情径行型の社員がこれをウィルス呼ばわりしたことは、よく知られています。 それはそうでしょう、善意が伝染するのですから。 競合と顧客をも疎外することで成立していたマイクロソフトのビジネスにとってこれは打撃になり得ます。

ただマイクロソフトのもっと賢い社員、おそらくハロウィーン文書を書いたのに近い社員が、 このキャンペーンは逆効果であると知ったのかこれを取り下げています。「マイクロソフトが GPL をウィルス呼ばわりした」証拠は既にネットにはありません。

実業界も今では GPL が偉大な発明であることとその恐しさについて熟知しています。 そのことを誰よりも良く知るのがストールマンでしょう。反 GPL キャンペーンをすぐに取り下げたマイクロソフトは好例ですが、今では GPL の罠に引っ掛かる大物はいません。その意味ではこの罠に込めた彼の怨念は不発に終わったのかも知れません。一方、実業界での GPL の認知がそのままフリーソフトウェアの認知を示すというのなら、GPL は大成功を収めたのだとも言えます。

実業界での Linus の評価は比較的早く確立しました。その後を追うようにして、ストールマンが再評価されていったようです。 技術面は言うまでもなく、彼の真髄である思想面の影響も GPL の普及という形で確実に残りつつあります。彼が考えた「善意の伝染」を、 実業界はついに「良いもの」として認めたのだと僕は考えています。

僕は彼の一ファンに過ぎない三流プログラマーです。それでも彼のファンであり続けたということが僕の自信を深めます。 僕にとってのこのような息の長いアイドルはあと二人。一人は前述の和田先生、もう一人は高校のときに好きになったミュージシャンのパット・メセニーです。 そう言えばストールマンとメセニーの二人、歳が近いですね。

注釈:

  1. 遠い目

    ^ この文を公表するに先立ち、万全を期すために僕は twitter 経由で和田先生にチェックをお願いしました。 先生からはメールがあって、オウムの教祖のようになってしまったストールマンとは、今は距離を置いているとおっしゃっていました。

  2. 読んで研究したり自分の目的に合わせて書き換えたり

    ^ プログラマーにとって他人が書いたソフトウェアというのは、何でこんなに巧妙に動いているのだろう? ということを「研究」する対象でもあります。これは僕なりの確信ですが、 研究の手段として時にはソフトウェアの「書き換え」が必要になります。破壊検査です。 技術は進歩して今ではソフトウェアの分野でも非破壊検査が主流ですが、 最後は破壊検査が物を言うということを主張するプログラマーは多いのです。

  3. 物理的実体と異り

    ^ カーシェアリングのようなものを考えてみてください。あれは物理的実体ですから共有すれば減ります。 それでも共有することに立派な意義が認められているのですから、そのような制限のないソフトウェアを共有する意義は計り知れません。

  4. GNU 宣言

    ^ 1993 年頃の GNU Manifesto の和訳が残っています (http://think-gnu-distribution.appspot.com/html/tgb01.html)

    実は僕がこの歴史的文献を最後まで読んだのは、今回が初めてです。後半の「GNU の目標への反対とそれに対する反証」以降にはとても面倒臭いことが書かれていて、それで今まで真面目に読んでいなかったのです。

    しかし思うに GNU 宣言の真価はここにあります。彼が語る GNU が起爆剤となってもたらされるかもしれない理想の社会は、 SF そのものだからです。

    もし拙文を読んで彼に強く惹かれたなら、是非 GNU 宣言を最後まで読んでください。

  5. それどころかこの OS の実に「半分」に Linus たちの貢献を認めていることです

    ^ この文書の草稿を書いてずいぶん経ってからわかったことですが、ストールマンは Linus たちの貢献を半分よりももっと偉大なものであったと評価しています

  6. 無料

    ^ この手の文では「フリーとは無料のことではなく自由のこと」と釘を刺すのが普通です。実際、ストールマンもそう言っています。 しかし僕は「タダ」というのもフリーソフトウェアの重要な属性だと言いたいのです。

    独占ソフトウェアが有料なのは、それがロイヤルティー(印税)を要求するからです。ロイヤルティーの基本にある考えは、 「私の書いたものを勝手に使ってはいけない。金を払ってから使いなさい」というものです。 一方フリーソフトウェアが保証するのはそのような制限からの自由です。だからフリーソフトウェアには必然的にロイヤルティーが無いのです。 つまりフリーソフトウェアは、それ自体はタダと考えられます。

    最近のフリーソフトウェアには、開発の継続資金を調達するため「寄付」を募るものが多くなりました。 これを有料のフリーソフトウェアと考えることもできますが、支払いは利用者の自由意思に委ねられています。 依然タダで使い続けることもできるのです。

    僕自身は、寄付の機会にはできるだけ応じるようにしています。

updated: $Date: 2015-12-01$

[FSF Associate Member]