ストールマン『フリーソフトウェアと自由な社会――Richard M. Stallman エッセイ集』第1版の要約
リチャード・ストールマン『フリーソフトウェアと自由な社会――Richard M. Stallman エッセイ集』アスキー、2003年の要約です。
Richard Stallman, “Free Software, Free Society: Selected Essays of Richard M.Stallman”, 2002, GNU Press (http://www.gnupress.org/).
ソフトウェアについてのコメント
プログラム(ソフトウェア)の本質構造。プログラムのソースコードは、フリーソフトウェアの一つの条件である。
「通常、プログラムはまず、ソースコードという形を取る。この比較的高い水準のコマンドは、CとかJavaといったプログラミング言語で書かれる。ソースコードが書かれると、コンパイラと呼ばれるツールを使って、これをアセンブリ言語というそれよりも低い水準の言語に翻訳する。次に、アセンブラと呼ばれる別のツールを使って、アセンブリ言語のコードをマシン語という最終段階(最低水準)のコンピュータがネーティブに(母語として)理解する言語に変換する。」(11)
「上記のマシン語の形式は、バイナリ(2進)というもっとも基本的な表現である。コンピュータのすべてのデータは、0または1の値の連続から構成されているが、人間がそのようなデータを理解するのは非常に難しい。バイナリに簡単な変更を加えるためには、特定のコンピュータがマシン語をどのように解釈するか|についての詳細な知識をもっていなければならない。上記の例のような小さなプログラムであれば、そのようなことも可能かもしれないが、およそ面白い意味を持つようなプログラムでは、わずかな変更を加えるだけでもとてつもない労力が必要になる。」(12-13)
序文
フリーソフトウェア運動の目的は、自由社会の法律が開示され変更可能であるのと同様に、出来る限り多くのコードに透明性を保証し、変更可能にすることにある。フリーソフトウェアは、コードが支配する世界を、それ以前の社会の伝統と同じくらい自由にすることを保証するはずである。
※ ストールマンのもう一つの強調点は、市民社会における相互協力の感度(協力精神)を育むということにある(本書の第4章、第18章を参照)。単に変更可能であるということだけでなく、共に力を合わせて助け合い、協力し合うことに改めて意味を認めることができるようになるということが、市民社会においてフリーソフトウェア運動の導く一つの重要な可能性であることをストールマンは論じている。
第1部 GNUプロジェクトとフリーソフトウェア
第1章 GNUプロジェクト
プロプライエタリ・ソフトウェアは人々を分断し、支援できない状態に置くものであり、反社会的である。しかしプロプライエタリ・ソフトウェア企業は、プロプライエタリ・ソフトウェア以外の可能性がないと思うように導いてきた。
彼らがこの点に関して言いたいことは、実際には言われていない次の仮定の内にある。
第一の仮定は、ソフトウェア企業は自然権をもっているというもの、第二の仮定は、ユーザーはどのような社会を望むかについては考えてはいけないというものであり、第三の仮定は、企業がユーザーを支配する権利をもたなければ役立つソフトウェアは作られないというものである。だがユーザーを第一に考える限り、これらの仮定は成立しない。他人を助けることは社会の基礎であるのだから、プログラムを書き換えたり、共有したりする自由をユーザーはもたなければならないのである。この点に関して、自分は、まずは自由なOSを作ることが先決であると考えた。
フリーソフトウェアという語は誤解されることがある。したがってフリーソフトウェアにおいて本質的な自由とは何かについて示しておこう。フリーソフトウェアとは、以下の四つの自由を満たすソフトウェアのことである。
0.使用の自由、1.自分のために変更する自由、2.再頒布の自由、3.コミュニティ全体のために改良点を公開する自由。
注意すべきは、フリーソフトウェアとは価格とは関係がないということである。つまり、フリーソフトウェアは、ソフトウェアを有償で配布したり改良したりすることを除外するものではない。フリーソフトウェアは、ビジネスそのものに反対する訳ではない。フリーソフトウェアの配布、メンテナンス、カスタマイズ、改良によってお金を稼ぐことは、むしろ肯定される。
パブリックドメインソフトウェアや、変更を加えた私有バージョンを認めるようなソフトウェア(例えばX Window System)は、フリーソフトウェアではない。一方、GNUソフトウェアは、コピーレフトを採用している。コピーレフトという概念の中心の意味は、プログラムを変更し、それを流通させることを認めると同時に、独自の禁止条項の追加を禁止するという点にある。ここでは、書き換えられたプログラムもまたフリーでなければならない。
GNU/Linuxシステムを含むフリーソフトウェアのユーザー数は成長している。しかしフリーソフトウェアを支える思想の認知度は、そのペースと並行して高まっている訳ではない。人々は、いかにユーザー数を増やすことが出来るかということの方に遥かに熱心になっている。
第2章 GNU宣言
GNUとは何か?「GNUは、Gnu's Not Unixの略語で、使えるすべての人々にフリーで提供できるように私が開発しているUnix互換ソフトウェアシステムの名前である。」(55)。GNUに関しては、変更版のプロプライエタリ化は禁止される。
GNUが完成すると、システムのソースコードが公開され、システムのプログラミングにかかる無駄な労力を減らすことができるようになるほか、自由に変更を加えたり加えてもらったりすることができる。また、システムのソースコードを研究、改良するように勧めることで、学校は、はるかに優れた教育環境を提供できるようになるだろう。
ここで、いくつかの異論、問いに答えておくことにしよう。
「サポートを提供するためにプログラムは有償でなければならない」という異論に対して。アフターケアは製作元には期待できないのだから、サポートサービスを提供する企業は、そこから収益を挙げられるはずだ。
「報酬を要求してはいけないのか?」という問いに対して。ソフトウェアの制限によって報酬を得ることは、人類全体がプログラムから得る利益を少なくする。全員を貧しくするような仕方で利益を得ることは、ソフトウェアの制作から報酬を得ることを正当化するものではない。
「プログラマが餓えてしまうのではないか?」という問いに対して。プログラミングによって得られる報酬が低くなるだけで、報酬そのものが減るわけではない。
「人間には、自らの創造がどのように使われるかをコントロールする権利があるのではないか?」という問いに対して。(アメリカ合衆国では)知的財産権は、社会全体が利益を得ると認められたライセンスにすぎない。著作権は自然権ではなく、社会において構成され承認された権利にほかならない。
「金が儲かるという動機がなければ、誰もプログラミングしなくなるのではないか?」という問いに対して。これは問いが間違っている。正しい問い方はむしろ「儲けが少なくてもプログラミングをする人間はいるかどうか」とすべきであり、私の経験からすれば、間違いなくいる。
「プログラマは、何らかの方法で生計を立てなくてはならない」という異論に対して。プログラムの使用権を販売することでしか生計を立てられないわけではない。例えば、ハードウェアにOSを移植したり、アフターケアを行ったり、グループが集めた会費をもとにそのグループが必要とするプログラムを作ったりすることなどによっても生計を立てられる。
長期的には、フリーソフトウェアは、ソフトウェア開発の分野で無駄な労力を省くことによって、生産性を向上させ、楽しい活動に人々が自由に従事することを可能にする世界にむけての一歩になるだろう。
第3章 フリーソフトウェアの定義
フリーソフトウェアの条件は何か?フリーソフトウェアとは、以下の四つの自由を満たすソフトウェアのことである。0.使用の自由、1.自分のために変更する自由、2.再頒布の自由、3.コミュニティ全体のために改良点を公開する自由。これは「フリービール」という際の自由ではなく、これは「フリースピーチ」という際の自由と同じものである。
自由1と3は、プログラムのソースコードへのアクセス可能性を根本条件とする。従って、ソースコードの公開は、フリーソフトウェアの必要条件である。フリーソフトウェアは営利・非営利とは関係がない。フリーソフトウェアは営利目的でも利用できるのでなければならない。
第4章 ソフトウェアが所有権者を持ってはならない理由
著作権制度は、プログラムに所有権者を与え、彼をプログラムをコピーしたり変更したりすることの出来る唯一の人物にしようとする。
所有権者たちは、法律は疑問の余地のない自然の摂理を示していると思わせようとしている。しかし法律が正邪を決めるわけではない。
プログラムの作者は、自分とプログラムとの間に、他の誰かよりも重要な特権があると主張しがちである。それは誤っているが、私たちは自然権の主張に対して同情を感じる傾向にある。だが、著作権は公共の福祉に役立たない限り正当化できないものである。
所有権はソフトウェアの生産を促すという議論には欠陥がある。それは、ソフトウェアが所有権をもつことを社会が望んでいるかどうかということは、ここでは最初から問われていないということである。
市民は何を求めているのか? 自由に扱える情報である。例えば、単に実行するだけでなく、読んだり修正したりすることのできるプログラムである。プログラムが所有権者をもつならば、ユーザーは自分自身の生活の一部をコントロールする自由を失ってしまう。何より、社会は市民たちの自発的な協力を奨励する必要がある。その協力を海賊行為と呼ぶなら、所有権者たちは社会における市民の協力精神を抑圧しているのである。フリーソフトウェアは自由の問題であるという理由は、この点にあるのだ。
第5章 名前にどういう意味があるのか
第6章 「オープンソース」ではなく「フリーソフトウェア」と呼ぶべき理由
オープンソースとフリーソフトウェアは、思想的に違うものである。オープンソース運動にとって、ソフトウェアがオープンソースであるべきかどうかは、実践上の問題でしかない。オープンソース運動とフリーソフトウェア運動は敵対してはいない。
オープンソースソフトウェアの定義は、フリーソフトウェアのそれと比較して、緩いものになっている。
オープンソースという言葉は、企業にソフトウェアを効率的に販売するために考え出されたものに過ぎない。
実際的なメリットでフリーソフトウェアに誘われたユーザーは、結局のところ、実際的なメリットがあればプロプライエタリ・ソフトウェアへと戻っていく。自由の価値を学んでいて初めて、ユーザーはプロプライエタリ・ソフトウェアを拒否する理由を手に入れるのだ。
だが、フリーソフトウェアに関して、自由はそれほど語られていない。その理由は、企業に受け入れられやすくするためだ。私たちは、ソフトウェアの自由についてもっと論じる必要がある。
第7章 大学勤務のプログラマがフリーソフトウェアをリリースする方法
第8章 フリーソフトウェアの販売
第9章 フリーソフトウェアはフリードキュメントを必要とする
第10章 フリーソフトウェアの歌
第2部 コピーライト、コピーレフト、特許
第11章 読む権利
第12章 著作権の誤解――一連の誤り
電子書籍について。電子書籍は、ユーザーが伝統的に有してきた自由の多くを取り除いてきた。電子書籍が失敗してきたのは、幸運な偶然によるものに過ぎない。
第13章 科学は著作権を離れなければならない
科学文献の使用規則は、科学的知識の普及を促進するものでなければならない。ウェブで論文や知識を最大限に普及させられるための規則はどのようなものがよいか?「論文は、非私有フォーマットで、誰からもアクセス出来るような形で頒布されるようにすべきである。そして、すべての人が論文の「ミラーリング」、すなわち適切な帰属情報を付加した上で、本文に一切の変更を加えずに再出版する権利を持たなければならない。」(139)
第14章 コピーレフトとは何か
コピーレフトは、フリーソフトウェアの変更版もまたフリーソフトウェアにする方法である。その具体的な適用がGNU一般公開使用許諾(GNU GPL)、GNU準一般公開使用許諾書(GNU LGPL)である。
GNU自由公開文書使用許諾書(FDL)は、マニュアルやドキュメント用に作られたコピーレフトの一形態である。
第15章 コピーレフト:プラグマティックな理想主義
フリーソフトウェアは、自由と協力を達成するという理想主義的な目標を動機としてきた。
その目標を達成するためには、理想主義では足りず、プラグマティックでなければならない。GNU GPLはその点において貢献してきた。
「フリーソフトウェア運動は、そこに入らない私有ソフトウェア開発者を排除しているのではないか」と言われるかもしれない。しかしそれは誰も排除していない。むしろ彼らがこちらのコミュニティに加わらないことを選択しているのである。
第16章 ソフトウェア特許の危険
第3部 自由、社会、ソフトウェア
第17章 自分のコンピュータを信用できるか
「信託コンピューティング」計画では、コンピュータが企業の指示を受けるように改造することが目指されている。この計画では、コンピューターから汎用性が奪われてしまう。コンピューターは、ユーザーが使っていいプログラムをコントロールし、ユーザーがそれに反してコンピューターを使うことは出来なくなる。
もしMicorosft Wordがそうした仕組みを取り入れれば、Word以外のソフトウェアではワードファイルを読み出せないようにすることができる(もしそれが出来るようなプログラムが開発されても、デジタルミレニアム著作権法DMCAによって禁止されてしまうだろう)。
「こうしたことを受け入れるはずがない」と思うかもしれない。だが重要なのは、自分が結んだと思った契約が変えられること。そうして一部のソフトウェアは、契約を変更し、初めの契約とは異なることをするアップグレードを自動的にダウンロードするのである。
GNU/Linuxなどのフリーオペレーティングシステムを使い、プロプライエタリ・ソフトウェアをインストールしないようにすれば、コンピューターのすることに関与することができる。悪意のある機能を取り除いたり、または、プログラマーのコミュニティーによって取り除いてもらったりすることもできる。
第18章 ソフトウェアがフリーであるべき理由
一般の人々の自由と繁栄のために、ソフトウェアはフリーソフトウェアでなければならない。
ソフトウェアを有料にすれば、プログラムの作成コスト、頒布コストが上がり、利用時の満足や効率は下がり、社会にとっては大きな出費となる。従ってプログラムの開発は、別の仕方で奨励されるべきである。
プログラムの頒布と変更に対して制限を加えることは害になるだけである。具体的には、以下の3つの害として現れる。ここには、市民的な態度に関する心理的・社会的な害悪も伴う。
最初の段階:プログラムに料金を課せば、ユーザーと所有者の間でゼロサム転移が起こり(金が移動するだけ)、プログラムを使わない人間が起こるたびに害を受けることになる。0と負数の合計は必ず負数になるので、社会に対する寄与は全体として下がる。また、ソフトウェアライセンスに署名すれば、隣人を助けることを抑止され、そうすることの重要性を軽視するようになる。公共心はこうして失われる。
第2の段階:プログラムを修正することが出来ない。プログラムの所有権者だけがプログラムを変更でき、それ以外の他人はソースコードから何かを学ぶことが出来ない。普通のユーザーはここで諦めるしかない。そして、諦めは心理的・社会的な害悪の原因となる。
第3の段階:既存のプログラムを次の仕事の基礎にすることが出来ない。プログラムを書くときには、一から始めなければならなくなった。これに伴う心理的・社会的な害悪は、科学における協力精神の減退である。
以上より、社会はプログラムの所有権者をもつべきではない。
高給でなければ働かないという考えは妥当でない。プログラマーがただ生活できるようになるための資金であれば、簡単に用意できる。
プログラマーの数が減ることは、社会にとって悪いことではない。フリーソフトウェアは、生産性を向上させるので、プログラマーの数を大幅に減らしつつ、需要を満足させるはずである。
ソフトウェアの私有化は、個人の利益のために、社会の福祉を軽視しようとする一般的な意思の表れである。他人が自分を助けてくれない経験をするほど、他人を助けることがバカバカしく感じるようになる。こうして反社会的精神が育ってくるのである。
Copyright © 2021 Suguru Hirahara. This work is available under GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation. See https://blog.progressiv.dev/yq31akw3jj for copying conditions.