- Afrikaans [af]
- العربية [ar]
- Azərbaycanca [az]
- български [bg]
- বাংলা [bn]
- bosanski [bs]
- català [ca]
- Česky [cs]
- dansk [da]
- Deutsch [de]
- ελληνικά [el]
- English [en]
- Esperanto [eo]
- español [es]
- فارسی [fa]
- français [fr]
- galego [gl]
- עברית [he]
- hrvatski [hr]
- magyar [hu]
- Bahasa Indonesia [id]
- italiano [it]
- 日本語 [ja]
- 한국어 [ko]
- norsk (bokmål) [nb]
- Nederlands [nl]
- polski [pl]
- português do Brasil [pt-br]
- română [ro]
- русский [ru]
- slovenčina [sk]
- slovenščina [sl]
- српски [sr]
- svenska [sv]
- தமிழ் [ta]
- Tagalog [tl]
- Türkçe [tr]
- 简体中文 [zh-cn]
- 繁體中文 [zh-tw]
自由ソフトウェアとは?
自由ソフトウェアの定義
ある特定のソフトウェアプログラムが自由ソフトウェアであるとみなされるために満たさなければならない条件を明確に示すため、わたしたちは、この「自由ソフトウェアの定義」を管理しています。時に応じて、わたしたちは、この定義を改訂し明確にします。これまでの変更については、履歴をご覧ください。
「自由ソフトウェア」で問題とするのはいわゆる「自由」であり、値段のことではありません。この考え方を理解するためには、「ビール・ご自由にお飲みください」の自由ではなく「言論の自由」の自由を思い浮かべてください。
「自由ソフトウェア」の自由は、利用者のソフトウェアを実行、コピー、配布、研究、変更、そして改良する自由のことを指しています。より厳密に言えば、「自由ソフトウェア」の自由とはそのソフトウェアの利用者に与えられる 4 種類の自由を意味しています。
- 目的を問わず、プログラムを実行する自由 (第 0 の自由)。
- プログラムがどのように動作しているか研究し、そのプログラムにあなたの必要に応じて修正を加え、採り入れる自由 (第 1 の自由)。ソースコードが入手可能であることはこの前提条件となります。
- 身近な人を助けられるよう、コピーを再配布する自由 (第 2 の自由)。
- あなたの改変した版を他に配布する自由(第 3 の自由)。これにより、あなたの変更がコミュニティ全体にとって利益となる機会を提供できます。ソースコードが入手可能であることはここでも前提条件となります。
利用者が以上で挙げた全ての自由を有していれば、そのプログラムは自由ソフトウェアです。よってあなたは、変更したものもしてないものも、配布手数料ありでもなしでも、どこの誰にでも自由に再配布することができるのです。これらのことをするのが自由だという内容には、許可を求めたり許可を得るためにお金を払ったりする必要がないということも含まれています。
あなた自身の仕事や趣味においてプライベートにソフトウェアを変更し、それらを使う自由もあるべきです。プライベートな変更について言及することも必要とされずにです。もし、あなたがご自分の行った変更を発表する場合でも、特定の誰かに、もしくは何か特定の方法で、それを知らせる必要はありません。
プログラムを実行する自由とは、いかなる人間や組織でも、あらゆるコンピュータシステム上で、どんな種類の仕事と目的のためにでも、開発者や特定の団体と連絡する必要なく、プログラムを使うことができるという自由を意味します。この自由では、利用者の目的が問題で、開発者の目的は問題ではありません。(あなたは利用者として、あなたの目的でプログラムを実行する自由があり、あなたがそれを他の誰かに配布したとき、その人はその人の目的でプログラムを実行する自由があります。あなた自身の目的を押し付けることはできません。)
コピーを再配布する自由には、ソースコードの配布と同じく、プログラムのバイナリあるいは実行形式での配布も変更の有無を問わず含まれなければなりません。(実行できる形でプログラムを配布することは、簡単にインストールできる自由なオペレーティング・システムのために必要です。) バイナリや実行形式を作成する手段が無いとき(いくつかのプログラミング言語はこういった機能をサポートしていません)には構いませんが、後にそういった形式を作成する方法を見つけたり開発したりするかも知れませんから、そのような形式で再配布する自由がなければなりません。
第一の自由と第三の自由(変更を加える自由、そして改良された版を発表する自由)を意味のあるものとするためには、そのプログラムのソースコードにアクセスできなければなりません。ですから、ソースコードが入手可能であることは自由ソフトウェアにとって必要条件となります。難読化された“source code”は本当のソースコードではなく、ソースコードとはみなされません。
第一の自由は、元の版に代えて変更された版を使う自由も含みます。もし、プログラムが他の人の変更した版は実行できるが、あなたの版は実行できないというように設計された製品のために配布されるならば(「tivoization」、“lockdown” もしくは(実務家のひねくれた用語でいうところの)「セキュアブート」として知られる慣習ですが)、第一の自由は実際の自由ではなく、理論的な架空のものとなってしまいます。これは、十分ではありません。別の言葉で言うと、そういったバイナリは、たとえソースコードが自由であるとしても、自由ソフトウェアとはいえません。
プログラムを変更する一つの重要な方法は、利用可能な自由なサブルーチンやモジュールにマージすることです。もしプログラムのライセンスが、それを適切にライセンスされた既に存在するモジュールにマージすることができないというのであれば、(たとえば、あなたが加えるコードは、すべて、あなたが著作権者であることを要求する)、そのライセンスは自由であるとするには、制限が強すぎるといえるでしょう。
第三の自由は、改変した版を自由ソフトウェアとしてリリースする自由を含みます。自由なライセンスは、他の方法でリリースすることも許してもかまいません。別の言葉でいえば、それはコピーレフトのライセンスである必要はありません。しかし、変更した版は不自由であるとするライセンスは、自由ソフトウェアとして適格であるとはいえません。
これらの自由を本当のものとするためには、以上で挙げた自由は、あなたがなにか間違ったことをしない限り恒久的で取り消し不能のものでなければなりません。もしソフトウェアの開発者に、あなたになんら落ち度がないのに、ライセンスを取り消したり遡及してその条項を変更する力があれば、そのソフトウェアは自由ではありません。
しかし、自由ソフトウェアを配布する方法についてのある種の規則は、それらが主要な自由と衝突しない限り容認できます。例えば、コピーレフトは(非常に簡単に言えば)プログラムを再配布するときに、あなたは他の人々の主要な自由を否定するような制限を加えることができないという規則です。この規制は主要な自由とは衝突せず、むしろそれらを保護するものと言えます。
「自由ソフトウェア」が意味するのは、「非商用」ということではありません。自由なプログラムは商用利用や商用開発、商用配布することができなければなりません。自由ソフトウェアの商業的開発はもはや珍しいことではありません。そのような自由の商用ソフトウェアは極めて重要です。自由ソフトウェアのコピーを手に入れるのにお金を払った方もいるかも知れませんし、コピーを無料で手に入れた方もいるでしょう。しかしどのようにしてご自分のコピーを手に入れたかには関係なく、あなたにはいつでもソフトウェアをコピーし変更する自由があるのです。その自由には、コピーを売る自由すら含まれます。
変更が改良となるかどうかは従属的な問題です。もし、変更が本質的に制限され、他の誰かが改良と考えなければいけないとすると、それは自由ではありません。
変更されたバージョンをどのようにパッケージするかについての規則も、そういった規則が変更されたバージョンを人々がリリースする自由や、プライベートに変更されたバージョンを作成して利用する自由を強く妨げない限り容認できます。ですから、変更した版の名前の変更やロゴの削除を要求したり、あなたの変更をあなたのものだと同定できるように要求するライセンスは容認できます。それらの要求がとても厄介で、あなたの変更を実効的に妨害するのでない限り、それらは容認できます。プログラムに対してその他の変更を既に行っているのですから、加えてもう少し変更することはそんなに苦労とはならないでしょう。
「もしあなたがプログラムの版をこういうやり方で入手できるようにしたら、あなたはそれをこういうやり方でも入手可能にしなければなりません」といった規則も、同じ条件の下で受け入れられます。そのような容認できる規則の例は、変更された版を配布するならば、以前の開発者がそのコピーを要求してきた場合に送らなければならない、というものです。(そのような規則であれば、依然としてプログラムを配布するかしないかという選択の余地はあることに注意してください。) 公共の利用に供する版について、利用者へソースコードを提供することを要求する規則も容認できることです。
GNU プロジェクトでは、すべての人に対して上記の自由を法的に保護するため「コピーレフト」を使っていますが、コピーレフトでない自由ソフトウェアもまた存在します。わたしたちはコピーレフトを使った方が良いというに足るだけの重要な理由があると信じていますが、あなたのプログラムがコピーレフトでない自由ソフトウェアであれば、それはなお基本的には倫理的です。「自由ソフトウェア」、「コピーレフトのソフトウェア」、そしてその他の種類のソフトウェアがお互いにいかに関連しているかについての説明は、自由ソフトウェアの分類をご覧ください。
ときとして、政府による輸出規制と貿易制裁があなたが国際的にプログラムのコピーを配布する自由を束縛することがあります。ソフトウェア開発者にはこれらの制限を除去したり覆したりする力はありませんが、彼らにもでき、そしてすべきことはプログラムの利用に関する条件としてそういった制限を課すのを拒否することです。こうすれば、制限はこういった政府の管轄が及ばないところの人びとやそこでの活動には影響しないでしょう。ですから、自由なソフトウェアのライセンスは、本質的な自由に関する条件としては、いかなる輸出規制にも服従することを要求してはならないのです。
ほとんどの自由ソフトウェアのライセンスは、著作権を元にしています。そして著作権によって課することができる要求には制限があります。もし、著作権を元にしたライセンスが、上記に記した自由を尊重するならば、まったく予期しない他の種類の問題があることはありそうもないでしょう(予期しないことはまま起こりますが)。しかし、ある自由ソフトウェアのライセンスは、契約を元にするもので、契約はもっと広範な制限を課することが可能です。これは、そのようなライセンスが、容認できないほど制限が強く、不自由でありうる、いくつもの形態がありうることを意味します。
わたしたちは、起こりうるすべてのことを挙げることはできないでしょう。もし、契約を元としたライセンスが利用者を(著作権を元としたライセンスでは無理な形で)異常に制限するならば、そして、それがここで正当だと述べられていないのならば、それについて検討しないといけないでしょうし、そのライセンスは、不自由であると結論づけるかもしれません。
自由ソフトウェアについて語るとき、「タダであげる」とか「無料」といった言い回しは避けるのが最上です。というのも、こういった言い回しは問題としているのが値段であって、自由ではないような印象を与えるからです。「海賊版(piracy)」などのよく使われる用語もまた、わたしたちとしてはあなたが支持しないことを望む通説を具現しています。避けた方が良い混乱を招く言葉と言い回しでこういった用語について検討していますのでご参照下さい。また「自由ソフトウェア」の各言語訳の一覧もご用意しています。
最後になりますが、この自由ソフトウェアの定義で述べられたような基準はその解釈に関して熟慮を必要とすることに注意して下さい。ある特定のソフトウェアライセンスが自由ソフトウェアのライセンスであると判断するに当たって、わたしたちはこれらの基準を基に、言い回しの厳密な吟味に加えてその精神が自由ソフトウェアのそれに合致するかを考慮して判定します。もしライセンスが不当な制限を含んでいたならば、たとえそういった問題をこの基準で予期していなかったとしても却下します。時として、ライセンス条件が喚起する問題によっては、その条件が容認できるかどうか判断する前に、弁護士との協議など広範囲な検討が要求されることもあります。わたしたちが新しい問題に関して結論に達したならば、わたしたちはしばしばこれらの基準を更新して、あるライセンスが自由ソフトウェアのライセンスとして適格であるかどうかの理由をより簡単に理解できるようにします。
もしある特定のライセンスが自由ソフトウェアのライセンスとして認められるかどうかに興味があるならば、わたしたちの ライセンス一覧を参照してください。もしあなたが関心のあるライセンスがここに挙げられていなければ、<licensing@gnu.org>までメールで連絡していただければ検討いたします。
もし、新しいライセンスを書こうと考えているならば、まず、フリーソフトウェアファウンデーションの住所に文書で連絡してください。異なる自由ソフトウェアのライセンスの増殖は、ライセンスを理解する利用者の仕事を増やすことにつながります。わたしたちは、既存の自由ソフトウェアのライセンスからあなたの必要に応じたものを見つけることを手伝うことが出きるかもしれません。
もしそれができない場合、もし本当に新しいライセンスが必要な場合、わたしたちの援助によって、あなたはそのライセンスが本当に自由ソフトウェアのライセンスであることを確実にでき、いくつもの実際的な問題を避けることができます。
ソフトウェア以外について
ソフトウェアのマニュアルは自由でなければなりません。ソフトウェアが自由でなければならないのと同じ理由です。マニュアルは実質的にソフトウェアの一部だからです。
他の種類の作品で実践的な利用をされるものについて同様な議論が意味を持つでしょう。つまり、有用な知識を具体化する作品、教育作品やリファレンス作品などです。Wikipedia がよく知られた例です。
どんな作品も自由とすることが可能です。自由ソフトウェアの定義自由な文化作品の定義へと拡張され、どのような種類の作品へも適用できます。
オープンソース?
別の人びとは、「オープンソース」という用語を「自由ソフトウェア」と近い(しかし同一ではない)ものを意味するのに使い始めました。わたしたちは「自由ソフトウェア」という用語のほうを好んでいます。それはいったん皆さんが「フリー」が値段ではなく自由について言及しているのだということを聞けば、それが自由について思い起こさせてくれるからです。「オープン」という言葉が自由に言及することはまったくありません。
履歴
時に応じて、わたしたちは、この定義を改訂し明確にします。ここに具体的に何が変更されたわかるリンクとともに改訂のリストを示しますので、各人はレビューすることができます。
- Version 1.105: 第一の自由について、簡潔な文章で、(既に version 1.80 で述べられた)あなたのコンピューティングのためにあなたの変更した版を使うことを実際に含むという点を反映した。
- Version 1.92: 難読化したコードはソースコードとして適格ではないことを明確にした。
- Version 1.90: 第三の自由は、あなた自身の変更した版あるいは改良した版を配布する権利であり、他の誰かの開発プロジェクトに参加する権利ではないことを明確にした。
- Version 1.89: 第三の自由は、自由ソフトウェアとして改変した版をリリースする権利を含む。
- Version 1.80: 第一の自由は、単に理論的なだけでなく、実際的でなければならない(すなわち、Tivoization なしに)。
- Version 1.77: 遡及するライセンスの変更はいかなるものも容認できないこと(たとえ完全な代替であると述べられてなくとも)を明確にした。
- Version
1.74: 4つの重要な点の説明は明示が充分でないか、他のところで述べられているが全体に反映されていない:
- "改良"は、ライセンスがどのような改変した版ならばリリース可能であるかを本質的に制限することを意味しない。第三の自由は、変更そのものだけでなく変更を加えた版も配布する自由を含む。
- 存在するモジュールにマージする権利は、適切にライセンスされたモジュールについて、である。
- 輸出規制の結論の点を明示した。
- ライセンスの変更を押し付けることは、古いライセンスを無効にすることに含む。
- Version 1.57: "ソフトウェア以外" セクションを加えた。
- Version 1.46: 目的を問わずプログラムを実行する自由について、誰の目的が重要なのかを明確にした。
- Version 1.41: 契約を元にしたライセンスについて言葉遣いを明確にした。
- Version 1.40: 自由なライセンスは、変更を作り出す際に他の利用可能な自由ソフトウェアを使うことを許さなければならないことを説明した。
- Version 1.39: ライセンスが公共の利用に供するソフトウェアの版のソースコードを提供することを要求することは容認できることを述べた。
- Version 1.31: 変更の作者を同定することを要求するライセンスは容認できることを述べた。文章全体で他の小さな明確化を行った。
- Version 1.23: 契約にもとづくライセンスに関して潜在的な問題について扱った。
- Version 1.16: なぜバイナリの配布が重要かを説明した。
- Version 1.11: 自由なライセンスは、あなたが配布した版を作者に送ることを要求することができることを述べた。
バージョン番号が飛び飛びですが、これは定義の本質にはまったく関係しない、リンクの修正や翻訳の追加など、その他の変更が数多くあるからです。完全な変更のリストを確認したい方はcvsweb インタフェースで確認ください。