GNU とフリーソフトウェア財団の 40 年を振り返る
記憶から薄れつつありますが、GNU と Free Software Foundation、オープンソース、そして Linux がなかったら、確かに、テクノロジー主導の世界のほとんどはここには存在していなかったでしょう。
あなたが現在使用しているテクノロジーのほとんどすべてが、誤動作するプリンターのおかげで存在していると思いますか?信じてください。
1980 年代初頭、MIT 人工知能研究所のプログラマー、リチャード M. ストールマン (RMS) は、信頼性の低いことで有名なプリンター、ゼロックス 9700 に問題を抱えていました。彼は、頻繁に紙詰まりが発生することをユーザーに通知するために、そのソフトウェアを変更したいと考えていました。素晴らしいアイデアですが、ソース コードにアクセスしてこれらの変更を加えることができませんでした。これは研究所のオープンな精神に反するものでした。そこで彼は、ソフトウェア コードは無料であるべきだと判断しました。無料のビールという意味では自由ではありませんが、言論の自由と同様に自由です。
さらに、RMS は、1982 年に MIT が、無料の非互換タイムシェアリング システム (ITS) の代わりにデジタルの不自由なタイムシェアリング システムを搭載した DEC PDP-10 コンピュータを購入したことに腹を立てていました。
これに怒った RMS は、ユーザーがソフトウェアを自由に使用、変更、配布できるようにしたいと考えました。 1983 年までに、このビジョンは、無料の Unix 風のオペレーティング システムを作成するという使命に具体化しました。こうして、「GNU's Not Unix」の略である GNU が誕生しました。
RMS が当時書いたように、「この感謝祭から、私は GNU (GNU は Unix ではない) と呼ばれる完全な Unix 互換ソフトウェア システムを作成し、それを使用できるすべての人に無料で配布します。時間、資金、プログラムと機材が非常に必要です。」
オペレーティング システムを作成するという彼の夢は実現しませんでした。オペレーティング システム カーネル プロジェクトである GNU Hurd は未完成のままです。しかし、独自のソフトウェア社会システムは反社会的で非倫理的であり、単純に間違っているという彼の考えに触発されて、彼と他の人々は GNU ソフトウェア ファミリの構築を開始しました。そこから、他の多くのプログラムが生まれます。
そうは言っても、RMS は自分の仕事について正直ではないことがあります。たとえば、彼は「多くの模倣が行われたオリジナルの EMACS エディタの発明者」であると主張しています。実際、EMACS の功績は、TECO エディター マクロのセットとして、David A. Moon と Guy L. Steele Jr. に与えられています。
Java 言語の生みの親として最もよく知られる James Gosling は、その後 EMACS のアイデアを取り入れ、それを Unix に移植し、表示パフォーマンスを向上させました。その後、「生涯ミスター EMACS であるか、卒業するか」という選択に直面した彼は、大学院での研究を終えることを決意し、Unipress というガレージ会社に EMACS のサポートと販売の権利を与えました。その後、ゴズリング氏が語るように、RMS は「異常をきたし」、「ソース コードをすべて盗んでしまった」のです。
ストールマン氏は、IBM と DEC 対 Unipress の間での訴訟と、Gosling と RMS の間での多くの厳しい言葉の後、問題のコードを書き直しました。皮肉なことに、この見苦しい戦いから、RMS は彼の最大の成果である GNU Public License (GPL) を生み出しました。
RMS は、EMACS コミュニティ、別名 EMACS コミューンの非公式ルールの下では、自分のバージョンの EMACS ですら制御できないことに気づきました。 RMS と彼の同僚は、ユーザーが変更を公開する限り GNU EMACS のコードを変更することができ、その「派生」作品にも同じ GNU EMACS ライセンスが付与されると決定しました。 GNU General Public License (GPL) に向けた最初の一歩が踏み出されつつありました。
フリーソフトウェアとして共有する限り、人々はコードを自由に変更できるという過激な考え方がオープンソースの基盤でした。さて、フリーソフトウェアの考え方はフリーソフトウェアよりもはるかに古いものです。コンピューティングの開始当初、ソフトウェアは単に共有されていました。しかし、1969 年の米国対 IBM の独占禁止法訴訟の予期せぬ副作用として、DEC や IBM などのメインフレームおよびミニコンピュータはフリー ソフトウェアのバンドルを中止し、独自のオペレーティング システムとプログラムの販売を開始しました。 70 年代後半から 80 年代前半までには、プロプライエタリ ソフトウェアが新たな常態になりつつありました。
知的財産 (IP) 弁護士のマーク フィッシャー氏とジェリー コーエン氏、およびフリー ソフトウェア開発者で電子フロンティア財団 (EFF) の共同創設者であるジョン ギルモア氏の協力を得て、RMS は GNU EMACS ライセンスが制限されすぎることに気づきました。フィッシャー氏は RMS に対しライセンスの根拠として著作権を使用するよう奨励し、一方ギルモア氏は「ライセンスから "EMACS" を削除して、"SOFTWARE" か何かに置き換えるべきでしょう。すぐに Emacs がライセンスの根拠にならないことを願っています。」これは GNU システムの最も大きな部分であり、ライセンスはそのすべてに適用されます。」
これらの考えを取り入れて、RMS は GPL の最初のバージョンを作成しました。「GNU プロジェクトで使用されるコピーレフトは、著作権表示と GNU 一般公衆利用許諾契約書を組み合わせて作成されています。著作権表示は通常の種類です。一般公衆利用許諾契約書は、これは基本的に、あなたには私たちが望んでいる自由があり、その自由を他の人から奪うことはできないというコピーライセンスです。」
これら 4 つの自由は、現在、すべてのフリー ソフトウェアおよびオープンソース ライセンスの基礎となっています。これらは:
あらゆる目的でプログラムを自由に実行できます。
プログラムがどのように動作するかを研究し、希望どおりにコンピューティングを実行できるようにプログラムを変更する自由。ソース コードへのアクセスがその前提条件です。
他の人を助けるためにコピーを再配布する自由。
変更したバージョンのコピーを他の人に配布する自由。こうすることで、コミュニティ全体が変更から恩恵を受ける機会を得ることができます。ソース コードへのアクセスがその前提条件です。
GPL は長年にわたって進化し、重要性が増していきます。 GPLv2 は Linux のライセンスであるため、おそらくその亜種の中で最も重要です。最新バージョンの GPLv3 では、デジタル著作権管理 (DRM) と特許をカバーするようにフリー ソフトウェアの概念が拡張されました。
GNU プログラム開発を支援するために、1985 年に GPL およびフリー ソフトウェア運動のプログラマーを支援および促進するフリー ソフトウェア財団 (FSF) が設立されました。次の重要なマイルストーンは、1987 年の GNU C コンパイラー (GCC) の開発でした。GCC は無料であるだけでなく、多くの現代のコンパイラーよりも優れたパフォーマンスを発揮したため、迅速に採用され、プロジェクトの勢いに貢献しました。
GCC は、プログラミング サークルにおける GNU とストールマンの最高の業績として広く認められています。ソフトウェア プログラマーであり、最初のオープンソース会社である Cygnus Support の創設者である Michael Tiemann 氏は、GCC を「爆弾だ。すべての作家が偉大なアメリカの小説を書くことを夢見ているのと同じように、1980 年代のすべてのプログラマーは、偉大なアメリカのコンパイラーを書くことについて話していた。」突然ストールマンがそれをやったのだが、とても謙虚な気持ちだった。」
他にも GNU プログラムがあります。これらには、GNU プロジェクト デバッガー (Gdb) が含まれます。 GRUB ブートローダー、および GNU Common Lisp。
1 つの残念な点は、RMS がオペレーティング システムを正常に作成できなかったことです。確かに、90 年代初頭までに、GNU プロジェクトは Unix システムの大部分を書き換えることに成功しました。しかし、それでも明らかな例外が 1 つ残っていました。それは、オペレーティング システムのカーネルです。
フィンランドのコンピュータ サイエンスの学生である Linus Torvalds の場合は、1991 年に趣味のプロジェクトとしてオペレーティング システム カーネルの開発に取り組み始めました。 Linux と名付けられたこのカーネルは、GNU システムと結合して、完全に無料のオペレーティング システムを作成しました。今日に至るまで、ストールマンと FSF は、Linux は「GNU/Linux」として知られるべきだと主張しています。
むしろ、ある Linux Weekly News (LWN) 読者が最近述べたように、「GNU と RMS は、何が可能なのかを見極め、gcc、glibc、および多数のユーティリティをゼロから開発した点で称賛に値します。しかし、彼らは過去の投資のうち 30 ドルを費やしました」 Linux の功績を掴もうとした 40 年間。1991 年の Linus の最初のリリースは GNU に大きく依存していたかもしれませんが、過去 30 年以上の GNU ソフトウェアの開発は Linux とそのコミュニティに依存し、またそれらによって推進されてきました。」
また、長年にわたって RMS が物議を醸す評判を築いてきたことも GNU にとっては役に立ちませんでした。 2019年、AIの先駆者で悪名高い億万長者の小児性愛者ジェフリー・エプスタイン氏の仲間だった故マービン・ミンスキー氏を擁護したことで、同氏がFSF会長を辞任するに至ったとき、この問題は頂点に達した。その後、2021年にRMSはFSF理事会に復帰したが、これもFSF内外から反対を引き起こした。
2023 年の現在、RMS は依然として FSF 理事会のメンバーです。 FSF は、完全なフリー ソフトウェア オペレーティング システムを作成する試みを続けている GNU プロジェクトも後援しています。 FSF は、多くの GNU プログラムの著作権も保持しています。
年が経つにつれ、一部の開発者や企業は、GPL は制限が厳しすぎると感じるようになりました。これにより、より寛容な条件を提供する Apache ライセンスや MIT ライセンスなどの代替ライセンスが誕生しました。こうした緊張がオープンソースの出現に貢献し、オープンソースはソフトウェアの自由に対するより現実的なアプローチであると多くの人がみなしています。
しかし、GNU と RMS は反対に直面し、問題を抱えてきましたが、根本的な事実は、GNU と RMS が世界を変えたことです。開発者にとって、GNU の遺産は、ソフトウェアはユーザーを制限するのではなく、権限を与えるべきであるという考えの永続的な証拠として残っています。
より広い世界に対して、彼らの貢献は多大です。 GPL がなければ、フリー ソフトウェアやオープンソース ソフトウェアは存在しません。実際、それなしでは私たちの生活がどうなるかを想像することはほとんど不可能です。インターネットからクラウド サービス、ゲームに至るまで、今日コンピュータで使用しているほぼすべてのものは、GNU とその先駆的な取り組みのおかげです。