@tukinyanJP

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

MIT / Apache 2.0のライブラリを読み込んで(require_relative / #include)配布する場合、ライセンス表示の義務はありますか?

疑問

外部のMIT / Apache 2.0ライブラリをコード内で読み込む(梱包はしない)場合、ライセンス表示の義務はありますか?

初めに

こんにちは、tukinyanJPと申します。
皆さんはOSSを自作のソフトウェアに組み込む際、ライセンスの対応をどのようにされていますでしょうか。

今回は、MITライセンスおよびApache License 2.0の著作権条項について質問させてください。

【背景・前提条件】

MITライセンスの条文(Open Source Initiative)には、以下のような記述があります。

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

Apache License 2.0 の場合にも (https://www.apache.org/licenses/LICENSE-2.0) 以下のような記述があります。

You must give any other recipients of the Work or Derivative Works a copy of this License; and

ここで疑問なのですが、これらのライセンスに準拠している外部ライブラリを、自分のプログラム内で require_relative(C言語でいう #include)して利用する場合についてです。

ただし、自作ソフトウェアの配布パッケージ(ファイル一式)の中に、その外部ライブラリ自体のソースコードやバイナリは同梱(梱包)しません。 あくまで「ユーザー側の環境にすでにあるライブラリ」や「システム共通のライブラリ」をコード上で読み込んで利用する形を想定しています。

【知りたいこと】

このように、外部ライブラリを自作ソフトに同梱(梱包)せず、コード内での読み込み(参照)だけを行う場合であっても、自作ソフトウェアの LICENSE ファイルなどに、そのライブラリのバージョンやMIT(あるいは Apache 2.0)のライセンス表示(著作権表示と全文)を書き加える義務はあるのでしょうか?

【質問の詳細】

  1. ライブラリの実体を同梱しない場合でも、ライセンス表示の義務は発生しますか?(動的リンクや外部参照におけるライセンスの扱いについて)
  2. 表示が「義務」ではない場合でも、マナーや慣習として LICENSE や README に記載しておくべきでしょうか?
  3. もし記載する場合、バージョン情報の明記は必要でしょうか?

OSSライセンスの解釈や、実際の開発での一般的な運用に詳しい方がいらっしゃいましたら、ご教授いただけますと幸いです。
よろしくお願いいたします。

0 likes

2Answer

まず MIT ライセンスの解釈についてですが、スクリプト言語で書かれた自プログラムから別パッケージのライブラリを呼び出す分には自プログラムにライブラリの表示を含める必要はありません。 求めらているのは「複製 (またはそれを改変したもの) の配布には表示を入れろ」ということだからです。 静的リンクしたものを配布するなら複製の再配布にあたりますが、自分の配布物に含まれないなら再配布にはあたりません。 ライセンス文の「使用」についての言及は許諾の範囲であって表示の要求とは別です。

Apache 2.0 については派生物には表示は含めなければなりませんが派生物とは何かの定義についてこうあります

For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.

インターフェイスを介して、名前でバインドして使うというだけでは派生物とはみなされないということがかなりはっきりと書いてあります。


ただ、ライブラリを実行時に呼び出すならユーザの環境にはそのライブラリが入っている必要がありますので説明をしないというわけにはいきませんし、不要でも慣例としてクレジット表示するのは一般的です。

また、ライセンスの解釈は FSF が細かい見解を出していたりはしますが法的な争いが生じたなら最終的に判断するのは裁判所です。

1Like

Comments

  1. @tukinyanJP

    Questioner

    @SaitoAtsuhi さん、ご回答ありがとうございます。

    MIT ライセンスなどの意味があやふやだったので、ちゃんと理解することができました。

    • 「そのライセンスが適応されているもの自体のプログラム(著作物)を含める」

    場合のみに表示すればいいのですね

条件に従えば、本ソフトウェアおよび関連文書ファイルについて、無償での使用、コピー、変更、結合、出版、頒布、サブライセンス、販売が無制限に許可される。さらには、本ソフトウェアの再頒布を受けた人も同様の許可を得る権利がある。

使用の場合についても書かれてるので、ライセンスの条件に従わなくてはならないと考えるのが普通ではないかな

0Like

Comments

  1. @tukinyanJP

    Questioner

    @amate さん、ご回答ありがとうございます。

    やはり、表示すべきなんですね。

    私の中でもやもやしていたのですが、これで解消できたと思います。

Your answer might help someone💌