ライセンスについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
きうり

ライセンスについて

#1

投稿記事 by きうり » 6年前

初めまして、きうりと申します。

現在Qtを利用してゲームを作ろうとしているのですが、QtのライセンスはLGPLで動的リンクをしてもリバースエンジニアリングの禁止ができないと聞きました。
しかし、どうしても秘匿したい部分がありいろいろ考えたのですが自分の考えが正しいのかわからないためこちらで質問させていただきます。

ゲームAにおいてQtを利用する。→AはQtの派生物。だからAのリバースエンジニアリングは禁止できない。
ゲームAにおいてQtを利用していないクラスBをdllとして分離する。→BはQtの派生物ではない。だからBのリバースエンジニアリングは禁止できる。

この考え方で正しいのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: ライセンスについて

#2

投稿記事 by softya(ソフト屋) » 6年前

そうですね。Bを動的リンクのdllにすればLGPLの制限は受けないと思います。
と思うでだけで私も確たる根拠はありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
tk-xleader
記事: 153
登録日時: 9年前
連絡を取る:

Re: ライセンスについて

#3

投稿記事 by tk-xleader » 6年前

きうり さんが書きました:ゲームAにおいてQtを利用していないクラスBをdllとして分離する。→BはQtの派生物ではない。だからBのリバースエンジニアリングは禁止できる。
 いいえ、それは無理です。Qtは(商用版を導入しない限りは)LGPL v2.1 または GPL v3 の元で配布されていますが、LGPL2.1には次の一節があります。
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be 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.

It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.(赤字化したのは筆者)
 つまり、LGPLに(静的/動的に)リンクした実行可能形式のプログラムの配布の際には、それが実行するために必要とされるすべてのファイルを含まなければならず、かつ、それにリンクされる(システムライブラリと認められるものを除く)ライブラリがLGPLと矛盾したライセンスの元で許諾されていてはならないということです。
 また、静的/動的に関わらず、あるライブラリにリンクして作成された実行形式のプログラムは、ライブラリを含めた全体が「ライブラリを利用する著作物(原文においての"work that uses the Library")」となるので、LGPLの元で配布されているライブラリと、REを禁止されているライブラリをともにリンクした実行形式のプログラムを配布することは出来ないです。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: ライセンスについて

#4

投稿記事 by softya(ソフト屋) » 6年前

原文を確認すればよかったですね。失礼しました。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

きうり

Re: ライセンスについて

#5

投稿記事 by きうり » 6年前

御二方ともありがとうございました。
LGPLって思っていた以上に結構使いにくいライセンスなんですね…
Qt便利なので使いたいと思っていたのですが、ライセンスの緩いものに変えることにします。

ISLe
記事: 2648
登録日時: 9年前
連絡を取る:

Re: ライセンスについて

#6

投稿記事 by ISLe » 6年前

GPLは実行に要するすべてのものに対してGPLに従うことを要求しますけど、LGPLと他のライブラリを一緒に配布できない場合というのは、そのライブラリが持つライセンスによってLGPLで保護される部分が制限を受ける場合、なのでは?

ISLe
記事: 2648
登録日時: 9年前
連絡を取る:

Re: ライセンスについて

#7

投稿記事 by ISLe » 6年前

隠したい部分を完全に独立したライブラリとして分離できれば独自のライセンスをもたせられるのですが、ゲームプログラムだと二次的著作物になるのでリバースエンジニアリングを禁止できないですね。

アバター
tk-xleader
記事: 153
登録日時: 9年前
連絡を取る:

Re: ライセンスについて

#8

投稿記事 by tk-xleader » 6年前

ISLe さんが書きました:GPLは実行に要するすべてのものに対してGPLに従うことを要求しますけど、LGPLと他のライブラリを一緒に配布できない場合というのは、そのライブラリが持つライセンスによってLGPLで保護される部分が制限を受ける場合、なのでは?
 LGPL2.1の第5節において
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License.(下線は筆者が加えた)
とありますから、動的/静的に関わらず、LGPLの元で配布されているライブラリにリンクされた実行形式のプログラムはライブラリの派生著作物となります。さらに、第2節に、
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.(注:一部色を変えてあります。)
とありまして、これはGPLの第2節にほぼ同様の条項がありまして(言い回しも似ています)、この文言によって派生著作物全体が当該ライセンスに従わなければならない(すなわち、派生物全体を当該ライセンスの許諾条件の下で配布しなければならない)とされています。
 よって、LGPLの元で配布されているライブラリと、リバースエンジニアリングを禁止する条項を含むライセンスの元で配布されているライブラリの両方とリンクされた実行形式のプログラムを配布することは、LGPLの条項上出来ないことになると考えられます。

ISLe
記事: 2648
登録日時: 9年前
連絡を取る:

Re: ライセンスについて

#9

投稿記事 by ISLe » 6年前

LGPLと矛盾するライセンスのライブラリを同一の実行形式に含むことはできない、とはっきり書かれてましたね。

なんだかGPL/LGPLは商用ライセンスを売るためのダシに使われているようにも感じられます。

閉鎖

“C言語何でも質問掲示板” へ戻る