Dev Study
← コードの外の約束 — 個人情報・ライセンス・生成物の権利
レッスン 6 / 10·約 9 分·第23期 コードの外の約束

ライセンスは条件つきの許諾 — 条件はコピーに付いてくる

リクエストがアプリケーションに届くまで
  1. ブラウザURL入力
  2. DNS名前→IP
  3. ルータ経路選択
  4. ロードバランサ振り分け
  5. Nginx受け口
  6. アプリ処理今ここ
  7. DB保存

義務はコードそのものではなく、それで何をしたかに付いてきます。今回はアプリに入る依存ライブラリのライセンスが、何に条件を付けているかを原文で読みます。

まず結論

OSS ライセンスは「自由に使ってよい」の一言ではなく、許すことの一覧と、それに付いた条件でできています。MIT の条件は複製物に表示を含めることで、Apache-2.0 は複製・配布するときの条件を (a)〜(d) と並べます。

条件の文が対象にしているのは複製物や配布なので、エンジニアが気づける場所はビルドして配る成果物の中にあります。

本回は一次ソースが何を書いているかの紹介で、個別の事案の適否は判断しません。

? 読む前に予測

MIT License の本文が、利用者に条件として求めていることは何でしょうか。

当てることが目的ではありません。外した予測ほど記憶に残るので、直感で選んでください。

抽象原理

許諾には、範囲と条件が付いている

依存ライブラリの README に「MIT なので自由に使えます」と書かれていることがあります。半分は正しく、半分は原文にありません。

まず、日本の著作権法が「許諾」をどう書いているかを見ます(e-Gov、2026-06-24 施行版)。

著作権者は、他人に対し、その著作物の利用を許諾することができる。(第63条第1項)

前項の許諾を得た者は、その許諾に係る利用方法及び条件の範囲内において、その許諾に係る著作物を利用することができる。(第63条第2項)

許諾は白紙の委任ではなく、利用方法と条件の範囲を伴うものとして書かれています。

ライセンス文書は「許すこと」と「条件」に分けて読む
権利者LICENSE に名前が書かれる人
許すことの一覧
使う・複製する・改変する・配布する…ここは広い
ただし、次の条件で
MIT複製物に表示を含める
Apache-2.0 §4複製・配布するとき (a)〜(d)
  • ・どちらも、条件の文が対象にしているのは複製物や配布である
  • ・「コピーを渡すときに効く」は教材側の整理。MIT の原文は「すべての複製物又は相当部分に含める」と書く
具体実物

MIT の原文 — 許すことは広く、条件は1文

SPDX が配布している MIT のテキストの本体です(3行目の著作権行は雛形)。

SPDX license-list-data text/MIT.txt(5〜12行目)設定ファイル
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
 
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.

前半の許すことの一覧は use, copy, modify, merge, publish, distribute, sublicense, and/or sell と広く、subject to the following conditions: で条件へ切り替わります。

条件は1文です。上の著作権表示と許諾表示を、all copies or substantial portions of the Software に含める。ソースを公開せよ、事前に連絡せよ、という文はありません。「MIT なので自由」の正しい半分はここです。

もう半分は、この1文が残っていることです。表示を含める先は複製物で、改変したかどうか、有償かどうかで分けていません。OSI 版も見出しや著作権行の書式は違いますが、この条件文は同文です。

✓ ここまでの確認

MIT License の条件文が、表示を含めるべき対象として挙げているものはどれですか。

抽象原理

条件は、許した行為のどれに結びついているか

一般化すると、ライセンスを読むときの問いは「使ってよいか」ではなく 「どの行為に、どの条件が結びついているか」 になります。

Apache-2.0 は、この結びつきを節の頭に書いています。

You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

条件の発動点が 複製と配布 だと柱書が名指ししています。Object form は §1 で compiled object code などの変換結果を含むと定義されています。第7期「ビルドとバンドル」で見たとおり、配られるのは書いたファイルではなくその出力でした。縮めて束ねた JavaScript が原文のどの形に当たるかは、この回では判断しません。

具体実物

Apache-2.0 — 条件が4つに分かれ、特許の節が加わる

Apache License 2.0 §4 の条件と、その対象(原文から整理)表
項 求めること 対象
(a) License のコピーを渡す 受け取るすべての人
(b) 変更したファイルに変更した旨の告知 変更したファイル
(c) 著作権・特許・商標・帰属表示を残す 配布する派生物の Source form
(d) NOTICE の帰属表示の写しを含める 作品に NOTICE があるとき

MIT より細かいだけではありません。§4(c) は Source form に限り、§4(d) は If the Work includes a "NOTICE" text file という前提つきで、含める場所を NOTICE ファイル・ソースや文書・within a display generated by the Derivative Works のいずれかと並べます。

加えて §3 が特許の許諾を与えます。ただし同じ節に終了条件があります。

If You institute patent litigation against any entity (…) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

許諾と条件を対で読む、という読み方は特許の節にも当てはまります。

✓ ここまでの確認

「Apache-2.0 は特許も許諾してくれるから、特許の心配は要らない」という理解は、§3 の原文に照らして妥当ですか。

⇄ 2つを見比べる
具体例 A

MIT

条件は1文で、対象は全ての複製物またはその相当部分です。ソース形式かどうか、改変したかどうかで対象を分けていません。

MIT の条件表
求めること 対象
著作権表示と許諾表示を含める all copies or substantial portions
具体例 B

Apache-2.0

複製と配布の許可に (a)〜(d) の条件が付き、(c) は Source form に、(d) は NOTICE があるときに限られます。特許の許諾には訴訟で終わる条件があります。

Apache-2.0 の条件(抜粋)表
求めること 対象
License のコピーを渡す 受け取るすべての人
表示を残す 派生物の Source form
NOTICE の写しを含める NOTICE があるとき
(§3)特許許諾の終了 特許訴訟を起こした日

同じ依存ライブラリを、縮小済みのバンドルとして配ることを考えます。2つのライセンスで、確かめるべき箇所はどう違うでしょうか。

条件ごとに「対象」の欄を見て、縮小済みバンドルがその対象に入るかどうかを原文の言葉で確かめてください。

ここから先は法務へ

(a) エンジニアが気づける信号: 成果物の中にライセンス注記が見当たらない依存がある。Apache-2.0 の依存に NOTICE ファイルがある。依存のライセンス名が MIT・Apache 以外で、原文を読んでいない。

(b) 法務に持っていく材料: BUILD_ID やコミットで特定した成果物、固定文字列で数えた件数と該当ファイル、依存の名前・版・LICENSE ファイル(と NOTICE)の原文、その成果物を誰にどう配っているか。

(c) この回が言っていないこと: 縮小済みバンドルが「相当部分」に当たるか、表示を別の画面や別のファイルに置けば足りるか、このサイトの今の状態が条件を満たしているか。OSS ライセンスが契約か許諾か。いずれも判断していません。

この章のまとめ

  • 第63条第2項は、許諾を得た者が 利用方法と条件の範囲内 で利用できると書く。
  • MIT は許すことが広く、条件は 表示を全ての複製物またはその相当部分に含める の1文。
  • Apache-2.0 §4 は条件を 複製と配布 に結びつけ、(a)〜(d) で対象がそれぞれ違う。(c) は Source form に限る。
  • §3 の特許許諾は、特許訴訟を起こした日に終わる条件と対で読む。
  • この手元のビルドでは React の @license 注記が0件、core-js の表示は1件。工程も適否も未確認のまま、事実として扱う。

自分の現場で確かめる

読んだだけでは身につきません。手元の環境で実際に見てみてください。

環境:

理解度チェック

読んだ直後は「分かった」と感じやすいものです。実際に解いて確かめてください。

問題 1 / 3正解: 0

Apache-2.0 §4(c) が著作権・特許・商標などの表示を残すよう求めているのは、どの形の派生物ですか。

用語集(3語)
許諾
著作権法第63条の語。著作権者が他人に著作物の利用を許すこと。許諾を得た者は「その許諾に係る利用方法及び条件の範囲内において」利用できる(同条第2項)。
MIT License
広い利用を許したうえで、著作権表示と許諾表示を複製物またはその相当部分に含めることを条件とするライセンス。保証の否認も含む。
NOTICE ファイル
Apache-2.0 §4(d) が扱う帰属表示のファイル。作品に含まれる場合、配布する派生物は、その帰属表示の読める写しを原文の挙げる場所のいずれかに含める。