原文は英語で、これはその翻訳です。

コピーレフトって何?

コピーレフト(Copyleft)とは、プログラム(もしくはその他の著作物)を自由(自由の意味において。「無償」ではなく)とし、加えてそのプログラムの改変ないし拡張されたバージョンもすべて自由であることを要求するための、一般的な手法の一つです。

あるプログラムを自由ソフトウェアにする一番簡単な方法は、パブリックドメイン、すなわち著作権が主張されないとすることです。これにより人びとは、その気さえあればプログラム自身と彼らがそれに加えた改良を共有することができます。しかし、パブリックドメインするということは、非協力的な人びとがそのプログラムをプロプライエタリなソフトウェアにしてしまうことをも認めるというです。彼らはプログラムに、多かれ少なかれ、なんらかの変更を加えてその結果をプロプライエタリな製品として配布することができます。そのように改変された形でプログラムを手に入れた人びとには、元の作者が人びとに与えた自由がありません。あいだに入った人がその自由を奪い去ったのです。

GNU プロジェクトにおいて、わたしたちの目的は、すべての利用者に対してGNU ソフトウェアを再配布し変更する自由を与えることです。もし、あいだに入った人がそういった自由を奪うことができるなら、わたしたちのコードがたとえ「多くの利用者を得る」ことができたとしても、そのコードは利用者に自由を与えないかもしれません。そこで、GNU ソフトウェアをパブリックドメインとせずに、わたしたちはそれに著作権(コピーライト)ならぬ「コピーレフト」を主張することにしました。コピーレフトでは、そのソフトウェアを再配布する人は、変更してもしなくても、それをコピーし変更を加える自由を一緒に渡さなければならないということを主張します。コピーレフトによって、すべての利用者が自由を持つことが保証されるのです。

また、コピーレフトは他のプログラマたちに、自由ソフトウェアになにか追加しようという動機 を与えます。GNU C++コンパイラのような重要な自由のプログラムが存在し得るのは、ひとえにこのためです。

コピーレフトは、自由ソフトウェア改良を加えたいと思っているプログラマたちがそうする許可を得る助けにもなります。こういったプログラマたちは、金儲けには手段を選ばない企業や大学で働いていることが多いのです。プログラマは自分の変更点をコミュニティに提供したいのに、その人の雇い主は変更点をプロプライエタリなソフトウェア製品にしてしまおうと考えるかもしれません。

わたしたちがそういった雇い主に、改良された版を配布することは自由ソフトウェアとしてでない限り違法であると説明すると、通常、雇い主は、むざむざそれを捨ててしまうよりは、自由ソフトウェアとしてリリースする方を選びます。

プログラムにコピーレフトを適用するには、わたしたちは、まずそれに著作権を主張し、その上で配布条項を加えます。それは、配布条項が変更されない限り、プログラムのコード、もしくはそれから派生したプログラムに対して、使用、改変、および再配布をする権利をすべての人に与えるという法律手段です。これによって、コードと自由は法律上、分離できないものになります。

プロプライエタリなソフトウェア開発者たちは、利用者の自由を奪うために著作権を使います。わたしたちは、利用者の自由を保証するために著作権を使います。これが、名前を逆に、つまり、著作権(「コピーライト」)を「コピーレフト」に変えた理由です。

コピーレフトは、プログラムの著作権を使う一つの方法です。著作権を放棄することを意味しません。実際、そうするとコピーレフトは不可能になってしまいます。「コピーレフト」の「レフト」は、動詞 “to leave”を指す言葉ではなく、「ライト」の鏡像の方向を指すだけの言葉です。

コピーレフトは一般概念であり、一般概念は直接には使えません。使えるのは、その概念の特定の実装です。GNUプロジェクトにおいて、ほとんどのソフトウェアにわたしたちが使っている特定の配布条項は、GNU一般公衆ライセンスに記載されています。GNU一般公衆ライセンスはしばしば縮めてGNU GPLと呼ばれています。なお、GNU GPLについてよく聞かれる質問のページも用意しています。また、FSFが貢献者から著作権譲渡を受ける理由もありますのでよろしければお読みください。

コピーレフトのもうひとつの形態として、GNUアフェロ一般公衆ライセンス(AGPL)がありますが、これはサーバで使用されるであろうプログラムのために設計されています。これは、公衆へ利用可能なサービスを実装した改変されたバージョンが、ソースコードを公衆へリリースする事を確実にします。

コピーレフトの妥協の形態として、GNU劣等一般公衆ライセンス(LGPL)GNUライブラリに適用されます。LGPLを適切に使うことを学ぶには、「あなたの次のライブラリには劣等GPLを使うべきでない理由」をお読みください。

GNU自由文書ライセンス(FDL)はコピーレフトの一形態で、マニュアル、教科書、その他の文書に対して、用いることを意図しており、その文書を、改変してもしなくても、営利でも非営利でも、複製または再配布できる、効果的な自由をみなに保証します。

適切なライセンスは、多くのマニュアルや、GNU のソースコード配布物にそれぞれ含まれています。

これらのライセンスはみな、あなたが著作権者であれば、自分の著作物に簡単に適用できるよう設計されています。適用にあたってGNU GPLを書き換える必要はなく、ただあなたの著作物にライセンスのコピーを一部含め、ソースファイルにGNU GPLを適切に参照する著作権表示を書き加えるだけでよいのです。

数多くの異なるプログラムで同じ配布条項を適用すると、コードを様々な異なるプログラム間でコピーすることが容易になります。それらにすべて同じ配布条項が指定されていれば、問題ありません。劣等GPLバージョン2には配布条項を普通のGPLに変更してもよいという規定があり、GPLで保護された他のプログラムのなかに、そのコードを使うことができます。バージョン3の劣等GPLは、GPLバージョン3に例外規程を加える形で作られていて、両立性を自動的にしています。

もしあなたがご自分のプログラムを、GNU GPLあるいはGNU LGPLを適用することでコピーレフトにしたいのであれば、ぜひライセンスの使用法説明ページを参考にしてください。なお、選択したライセンスの全文を使わなければならないことに注意してください。それぞれのライセンスは統合された一まとまりであり、一部分だけの複製は許可されていません。

また、もしあなたがご自分のマニュアルにGNU FDLを適用することでコピーレフトにしたいのであれば、ぜひFDL本文のの末尾にある説明と、GFDLの使用法説明ページをお読みください。くりかえしますが、あなたはライセンスの全文を使用しなければならず、一部分だけの複製は許可されていません。

著作権のシンボルの代わりに、丸の中の逆方向のCを使うのは法的には間違いです。コピーレフトは法律的に著作権にもとづいています。ですから、作品には著作権表示があるべきです。著作権表示には、著作権のシンボル(丸の中にC)か、“Copyright”の言葉のどちらかが必要です。

丸の中の逆方向のCは、なんら特別な法的な重要性を持ちませんので、著作権表示となりません。それは、本の表紙や、ポスターなどでは楽しいでしょうが、ウェブページでどのように表現するかについては、注意を払いましょう!