フリーソフトウェアの定義は、リチャード・ストールマンによって書かれ、フリーソフトウェア財団(FSF)によって公開された政策文書です。この定義では、フリーソフトウェアとは、ユーザーがソフトウェアを使用、研究、共有、変更する自由を保障するソフトウェアであるとされています。「フリー」という用語は、「無料」という意味ではなく、「言論の自由」という意味で使用されています。 [ 1 ]
この定義が最初に公表されたのは、FSFが発行していた現在は廃刊となったGNU Bulletinの1986年2月号である。 [ 2 ] 1996年以降、この文書の公式版はGNUプロジェクトのウェブサイトの哲学セクションで維持されている。2025年3月現在 この定義は、最初にオンラインで公開されて以来、27回も大幅に改訂され、65の言語に翻訳されている。[ 3 ] [ 4 ] FSFは、この定義を満たすライセンスのリストも公開している。

FSFが1986年に発表した定義には、当初2つの重要な点が挙げられていました。[ 2 ]
私たちの名前にある「無料」という言葉は、価格を意味するものではありません。それは自由を意味します。第一に、プログラムをコピーして隣人に再配布し、あなたと同じように彼らも利用できる自由。第二に、プログラムを変更し、プログラムに支配されるのではなく、あなたがプログラムを制御できる自由。そのためには、ソースコードが公開されていなければなりません。
1996年にGNUプロジェクトのウェブサイトが開設された際、定義は「3つのレベルの自由」を含むように拡張され、ソフトウェアを研究する自由(これは元々暗黙のうちに含まれていた)が明示的に追加された。[ 5 ] [ 6 ]ストールマンは後に、すべての自由が等しく不可欠であると指摘し、それらを「レベル」と表現することに反対した。[ 7 ]
後に、プログラムを実行するユーザーの権利を明確に確認するために、4番目の自由が導入されました。これは他の自由よりも基本的であると見なされたため、最初に配置されました。既存の自由は1から3まで番号が付けられていたため、この新しい自由は「自由ゼロ」と指定されました。[ 8 ]このようなゼロベースの番号付け(カウントはゼロから始まる)は、コンピュータプログラミングでも一般的な慣習です。[ 9 ]
現代の定義では、プログラムがユーザーに次の 4 つの基本的な自由を与える場合、そのプログラムはフリー ソフトウェアであるとされています。[ 10 ]
- プログラムを好きなように、どんな目的にも実行できる自由(自由度0)。
- プログラムの動作原理を研究し、自分の望むように変更できる自由(自由1)。そのためには、ソースコードへのアクセスが前提条件となる。
- 他の人を助けるためにコピーを再配布する自由(自由2)。
- 変更を加えたバージョンのコピーを他者に配布する自由(自由3)。これにより、コミュニティ全体があなたの変更の恩恵を受ける機会を得ることができます。そのためには、ソースコードへのアクセスが前提条件となります。
自由1と自由3は、ソースコードの公開を前提としている。なぜなら、ソースコードなしでソフトウェアを研究したり変更したりすることは非現実的だからである。
1997年7月、ブルース・ペレンズはDebianフリーソフトウェアガイドラインを公開した。[ 11 ] DFSGに基づく定義は後にオープンソースイニシアティブ(OSI)によってオープンソース定義という名称で採用された。
フリーソフトウェア運動とオープンソース運動の間には哲学的な違いがあるものの、FSFのフリーソフトウェアの定義とOSIのオープンソースソフトウェアの定義は、わずかな違いはあるものの、ライセンスの範囲はほぼ重複している。FSFはこうした哲学的な違いを強調しつつ、次のように述べている。
「オープンソース」ソフトウェアという用語は、フリーソフトウェアとほぼ同じカテゴリーを指すために使われることがあります。しかし、厳密には同じ種類のソフトウェアではありません。オープンソースソフトウェアは、私たちが制限が厳しすぎると考えるライセンスを受け入れている場合もあれば、受け入れていないフリーソフトウェアライセンスもあります。とはいえ、カテゴリーの範囲における違いは小さく、ほぼすべてのフリーソフトウェアはオープンソースであり、ほぼすべてのオープンソースソフトウェアはフリーです。
—フリーソフトウェア財団[ 12 ]
と番号が付けられている理由は歴史的なものです。1990 年頃には、1、2、3 と番号が付けられた 3 つの自由がありました。その後、プログラムを実行する自由を明示的に言及する必要があることに気づきました。それは明らかに他の 3 つよりも基本的であるため、それらよりも前に来るのが適切です。他の番号を振り直すのではなく、それを自由 0 にしました。
私(マット・マレンウェッグ)は当初、ストールマンがオタクだから1ではなく0から数え始めたのだと思っていた。確かに彼はオタクだが、それが理由ではなかった。自由1、2、3が最初に挙げられたが、後にそれらすべてを凌駕する何かを追加したいと考えたのだ。だから、自由0が生まれた。オタクっぽさは嬉しい偶然だった。