Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted,
直後にこう続く
and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
libgcc:
In addition to the permissions in the GNU General Public License, the
Free Software Foundation gives you unlimited permission to link the
compiled version of this file into combinations with other programs,
and to distribute those combinations without any restriction coming
from the use of this file. (The General Public License restrictions
do apply in other respects; for example, they cover modification of
the file, and distribution when not linked into a combine
executable.)
libstdc++:
As a special exception, you may use this file as part of a free software
library without restriction. Specifically, if other files instantiate
templates or use macros or inline functions from this file, or you compile
this file and link it with other files to produce an executable, this
file does not by itself cause the resulting executable to be covered by
the GNU General Public License. This exception does not however
invalidate any other reasons why the executable file might be covered by
the GNU General Public License.
根本的なところで (スコア:1, すばらしい洞察)
Re:根本的なところで (スコア:3, 参考になる)
GPL(の一部)を理解してればこそ、非GPLなプログラムのコンパイルにも何食わぬ顔で使えるってもんでしょう。
GPLの第0項にこうある。
直後にこう続く
ので、出力されたバイナリobjectは安心。
てことで、こっから先に書かれているGPLの本体は読まなくても理解しなくても使用できる。
問題は、自作プログラムにリンクされる付属ライブラリ、つまりlibgccと、C++を使う場合はlibstdc++(他の言語は調べれ)のほう。
(-nostdlib等のオプションでこれらをリンクしない場合は気にしなくてよい。)
(ここで「ライブラリのライセンスまで確認する必要があるのか、面倒くせー」と思う人がいるかもしれないが、商用コンパイラでもEditionによってはライブラリの再配布に制限があったり、評価用で本使用には別途購入ってライセンスのことがあるから、どのみち確認する必要があるという条件は同じ。)
これらは例外付きGPLである。
GPLと例外付きGPLは、GPLとLGPL以上に違いが大きい(だって例外の書き方次第で何でもできる)ことがあるので、別物と思ったほうがよい。
ひとくくりに分類してしまうと、細部まで読まずに「GPLの全項目が適用される」と思い込んで誤解をまねきやすい(恥ずかしながら私もそう)。
てことで、単なるリンク、およびテンプレートやインライン関数、マクロが展開されて自作プログラムに組み込まれることは無制限で、GPLに従う必要は無い。ここでも(この範囲の使用であれば)GPLを読む必要は無くなる。
逆にこの例外部分を読まずにGPLだけ理解してても意味が無い。
まとめると、
- コンパイラ(アセンブラ、リンカ)の実行は無制限
- 付属ライブラリのリンクは無制限
の二点だけ理解してれば、GPLの細則は知らんでよし。
GCCを使用することと、GPLに賛同あるいはGCC同様の発展を期待して自作プログラムをGPLにするかどうかは別問題。
商用コンパイラを使用したからといって、自作プログラムをプロプライエタリにする必要があるってこたあない(前述のようにEdisionによってはライブラリの再配布が制限されることはあるが)。
逆に商用コンパイラを何食わぬ顔で使ってGPL'dソフトウェアを開発してもいいでしょ。
Re:根本的なところで (スコア:0)
Re:根本的なところで (スコア:1)
#414993 [srad.jp]
でもかかれているように、GNUのプロダクトでは「責任をとる組織」があります。
contributeされたコードを取り込む際に著作権をFSFに書面で譲渡させることで、法的な権限と責任をFSFで一元管理しています。
面倒くさいけど、きっちり考えてると思います(「書面」なのは、電子メールが法的に有効か明白でない/なかったからでしょう)。
あとは、一開発者やエンドユーザがいきなり訴えられるか?という条件は企業と同じでしょう(本当に責任を取りきれるか?というところも)。
Re:根本的なところで (スコア:0)
>スであって、「使用」についてはただ一言「プログラムの実行は無
>制限」としか書かれていない。
T-kernel, TRONは頒布しないのかなぁ。。。。