第1章 オープンソースソフトウェアの重要性
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
一般性において、ソフトウェアの開発と配布は二つの方法で行われる。オープンソースかクローズドソースだ。クローズドソースモデルでは、ユーザはソフトウェアを直接購入するか、サブスクリプションで支払う。いずれの場合も、ユーザが受け取るのはコンパイルされた実行ファイル、つまりソフトウェアを動作させるマシン可読のバイナリだけだ。ソースコード(コンピュータに何をすべきかを指示するマシン可読の命令)は公開されない。この手法は商用ソフトウェアで一般的であり、企業はソースコードを非公開にすることで知的財産を保護しようとする。
オープンソースソフトウェア(OSS)は異なるアプローチを取る。企業がOSSの開発・配布モデルを採用する場合、1ユーザは実行可能バイナリとソースコードの両方を入手できる。このソースコードは公開されており、誰でも——有料顧客でなくとも——それを検証し、動作原理を理解し、改善提案を行うことが可能だ。後述するように、ソースコードの共有は当初はむしろ一般的であり、商用製品がアクセスを制限し始めたのは後年のことだ。しかしここ10年ほどで目覚ましい復活が起きており、多くの商用プログラムにおいてOSSが中心的な役割を担っている。
OSSの概念は、ソースコード共有に正式な名称が生まれるはるか以前の、コンピューティング黎明期にその起源を持つ。当時、ソフトウェア開発は主に学術機関と結びついており、ソースコードの共有は標準的な慣行であった。プログラマは人間が読めるソースコードを公然と配布し、他者がバグを修正したり、特定のニーズに合わせて機能を調整したり、新たな機能を追加したりすることを可能にした。こうした改良はコラボレーションと革新の精神のもとコミュニティに還元され、後に正式なOSS文化を定義する基盤となった。ARPANETのようなネットワーク、そして後のインターネットの台頭は、この協働文化をさらに拡大し、現代のオープンソース開発の礎を築いた。
ソースコードの共有がかつては当たり前だったものの、ソフトウェアが商業商品化するにつれ、この慣行は衰退した。企業は利益(および知的財産)を守るため、ソースコードを非公開(あるいはプロプライエタリ)にし、顧客に提供しない方針を取り始めた。この動きが始まると、OSSはより正式な運動へと発展した。リチャード・ストールマンはその初期の提唱者の一人であり、1983年末にGNUプロジェクトを立ち上げ、自由でオープンなソースソフトウェアのみを作成することを目標とした。その後、ストールマンは『GNU宣言』を執筆し、フリーでオープンソースなソフトウェアの核心的理念をさらに体系化した。この文書によれば、エンドユーザであるあなたは以下の自由を持つべきだとされる:
-
どんな目的でもプログラムを実行する
-
自分の必要に合わせてプログラムを変更する
-
プログラムのコピーを再配布する
-
プログラムの改変版を配布する
こうしてOSSは正式な運動の一部となった。
ここで重要なのは、この運動がソフトウェアに0ドルの価格タグを要求するものではない点だ。ソフトウェアは当時も今も巨大ビジネスであり、リチャード・ストールマン自身もGNUプロジェクトの活動から収益を得たことがある。「フリーソフトウェア」における「フリー」とは、エンドユーザが持つ自由を指す。ストールマン自身が言うように「私がフリーソフトウェアと言う時、それは価格ではなく自由を指す。つまり『無料のビール』ではなく『言論の自由』を想像してほしい」 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access