プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

A new GCC runtime library license snag? このエントリーをはてなブックマークに追加

http://lwn.net/Articles/343608/rss

新しいgccで、GPLv2のプログラムをコンパイルすると再配布不可能になるよ。という話。よく知られているように、gccはコンパイル時に(勝手に)libgccをリンクする。これは除算のサポート等が含まれている。うろ覚えだけどC++の例外の補助コード等もここ。

んで、勝手にリンクされる都合上、あんまりきつい制約に出来ないのでGPLなんだけど、特別免除としてプロプラなライセンスとリンクしてもOKということにしてあげるよ。ということになっている。

で、このGCC runtimeのライセンスが、gcc 4.4からGPLv3になった。で、プロプラなライセンスは従来の特赦条項で救われるのでOKだけど、GPLv2は再配布時にライセンス変更しちゃダメ条項があり、かつ、GPLv2とGPLv3はincompatibleなので、自動的にライセンス違反になる。
ということのよう

これはディストリが困りそうだよね。彼らはGPLv2プログラムを全捨てという選択肢はない
関連記事


linux | 【2009-07-30(Thu) 10:08:25】 | Trackback:(0) | Comments:(5)
コメント

リンク先の元記事では理由までは書いていないようですが、GPLv2とv3を混ぜる問題であるとすれば、

libgccから見てGPLv2のコードはGCCランタイムライブラリ例外で利用可能で、
GPLv2のコードから見てlibgccは第3節の例外

しかし特別な例外として、そのコンポーネント自体が実行形式に付随するのでは無い限り、 頒布されるものの中に、実行形式が実行されるオペレーティングシステムの主要なコンポーネント(コンパイラやカーネル等)と通常一緒に(ソースかバイナリ形式のどちらかで)頒布されるものを含んでいる必要はないとする。

にあたるので問題ないのでは

ちなみに従来の特赦条項はlibgccとlibstdc++で別の条件(libgccはリンクを許可しているが、c++のテンプレート展開はリンクではカバーできないため)でしたが、gcc4.4ではGCCランタイムライブラリ例外(COPYING.RUNTIME)に一本化しているようです。
2009-07-29 水 22:44:11 | URL | bero #- [ 編集]

むむ、鋭いご指摘ありがとうございます。ちょっと考えてみます
2009-07-30 木 03:21:18 | URL | kosaki #- [ 編集]

もう一度読み直してみた。ポイントはここだな。GPLv2 第3節の例外条項

However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

しかし特別な例外として、そのコンポーネント自体が実行形式に付随するのでは無い限り、頒布されるものの中に、実行形式が実行されるオペレーティングシステムの主要なコンポーネント(コンパイラやカーネル等)と通常一緒に(ソースかバイナリ形式のどちらかで)頒布されるものを含んでいる必要はないとする。

の unless that component itself accompanies the executable がディストリが gcc を同じCDの中に同梱して配布した瞬間に unless じゃなくなってしまい、gcc runtime を GPLv2 で再配布する義務が発生してしまう。
言葉遊びのような気もするが、FSFはこういうところ、容赦しないからな


2009-07-30 木 20:13:50 | URL | kosaki #- [ 編集]

"accompanies" の英語のニュアンスは知らんけど
同一CD-ROMメディアでの配布について
An “aggregate” consists of a number of separate programs, distributed together on the same CD-ROM or other media. The GPL permits you to create and distribute an aggregate, even when the licenses of the other software are non-free or GPL-incompatible
http://www.gnu.org/licenses/gpl-faq.html#MereAggregation
と言ってる
2009-07-31 金 07:15:54 | URL | bero #- [ 編集]

私もニュアンス全然分かりませんし、この件は全然終えてないんですが、基本的な問題として
gcc側のライセンスに抵触してるなら、GNUが問題ないと解釈すれば問題ないのは間違いないんですが、アプリ側のライセンスに抵触してしまうので、GNUの解釈だけでは安心できないという状況になっているんじゃないんでしょうか。
想像で書いてるけど
2009-07-31 金 09:42:33 | URL | kosaki #- [ 編集]
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。