パスワードを忘れた? アカウント作成
222759 journal

beroの日記: GPLなんて無意味じゃね?またはredhatはGPL違反? - 世にも奇妙なGPLたち(2)

日記 by bero

まとめ:ソースコードでは一見問題ないライセンスでも、バイナリ配布時に奇妙なライセンスに化ける可能性があるので注意(特にWindows)

前回

これはプロプラやプラグインの問題に限らず、GPL非互換のFLOSSライセンスを混ぜる時も同様で、例えばOpenSSLをリンクするGPLソフトには一般にこのような例外が付く。

vsftpd:

vsftpd is licensed under version 2 of the GNU GPL.
As copyright holder, I give permission for vsftpd to be linked to the OpenSSL
libraries. This includes permission for vsftpd binaries to be distributed
linked against the OpenSSL libraries. All other obligations under the GPL v2
remain intact.

OpenVPN license:
----------------

    OpenVPN is distributed under the GPL license version 2 (see Below).

    Special exception for linking OpenVPN with OpenSSL:

    In addition, as a special exception, OpenVPN Technologies, Inc. gives
    permission to link the code of this program with the OpenSSL
    library (or with modified versions of OpenSSL that use the same
    license as OpenSSL), and distribute linked combinations including
    the two. You must obey the GNU General Public License in all
    respects for all of the code used other than OpenSSL. If you modify
    this file, you may extend this exception to your version of the
    file, but you are not obligated to do so. If you do not wish to
    do so, delete this exception statement from your version.

がしかし、そこまで考えずに?このような例外条項なしでOpenSSLを使ったGPLソフトが多数存在する。

このような例外条項のないGPLソフトの「ソースコード」が即「誰も使えないライセンス」になるわけではない。
バイナリにするときに--disable-XXXとかで無効(リンクしないよう)にしたり、ABI互換の別の(GPL互換の)ライブラリをリンクする事も出来るかもしれないからだ。
(自分でソースからコンパイルして配布せず自分だけで使うのも無問題のはず)

例えば(サーバ側は)例外なしGPLであるmysqlでは、debian(たぶんubuntuも)バイナリやmysql.comバイナリはyasslをリンクして、OpenSSLをリンクしないようにしている。
例: debianのconfigure: --without-openssl --with-yassl

では例外条項のないGPLソフトウェアをOpenSSLと(動的または静的)リンクするとどうなるか。これには2つの見解がある。

1. リンクすると矛盾するからイクナイ。

ライセンスに厳密なdebianや、mysql.comはこちらの見解ぽい。

Windows等では2.を主張できないので、リンクしたバイナリを公開すると自己矛盾した奇妙なライセンスになる(作者でなければ配布行為がGPL違反になる)ので注意。

2. GPLにはOS主要コンポーネント例外(*)があるので、独自OS(ディストリビューション)を作って、GPLと矛盾する部分を「OS主要コンポーネント」であると主張すれば、華麗にスルーできる。

redhatはこちらの見解ぽい。

(*)

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.

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

後者の見解が
有効でないとすれば、redhatはGPL違反ということになり、
有効だとすれば、独自OS(ディストリビューション)ならプロプラだろうが何でもありということになるので、GPLなんて無意味ということになる。

フリーソフトウェア運動が成功して、フリーソフトウェアの組み合わせで誰でも簡単に独自OS(ディストリビューション)を作ることが可能になった故の、皮肉な状況と言えないだろうか。

話を戻す。

まとめ:ソースコードでは一見問題ないライセンスでも、バイナリ配布時に奇妙なライセンスに化ける可能性があるので注意(特にWindows)

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...