imu-note
いむたろ
いむたろ
@imutaroh
新卒エンジニア / データ基盤 × AI

What — MITとの違い

Apache Software Foundation が 2004 年に作ったパーミッシブ型ライセンス。できることは MIT とほぼ同じ(商用利用・改変・再配布・サブライセンス全部 OK、無保証)。違うのは「条件と明文化の量」で、MIT との差分だけ押さえれば理解できる。

差分 内容
🛡️ 特許許諾(patent grant) コントリビューターは、自分の貢献部分に関わる自分の特許を利用者へ自動で無償許諾する。「コードは使わせるけど特許で後から訴える」を封じる
⚔️ 特許報復条項 利用者がそのソフトについて特許訴訟を起こした瞬間、特許許諾が自動終了する。訴訟の抑止装置
📝 変更の明示 改変したファイルには「変更した」と分かる表示を入れる義務
📄 NOTICE ファイル 元プロジェクトに NOTICE があれば、再配布物にも同梱する義務
🚫 商標 プロジェクト名やロゴの使用は許諾しないと明文化

MIT は特許について何も書いていない(暗黙の許諾があるかは法的にグレー)。企業視点だと、このグレーを放置できないから Apache-2.0 を選ぶ。

How — 使うときの実務

自分のリポに適用する

  1. リポ直下に LICENSE(Apache-2.0 全文)を置く。GitHub のテンプレート選択でも可
  2. 各ソースファイル先頭に短い定型ヘッダ(copyright + ライセンス参照)を付ける
  3. 第三者への帰属表示が必要なら NOTICE ファイルを作る(無ければ不要)

Apache-2.0 のコードを使う

  • LICENSE と著作権表示・NOTICE を残す
  • ファイルを改変したら、改変した旨の表示を入れる
  • プロジェクト名・ロゴを自分の製品の宣伝に使わない
Warning
  • GPLv2 とは非互換(FSF の見解)。GPLv3 とは片方向で互換= Apache-2.0 のコードを GPLv3 プロジェクトへ取り込むのは OK、逆は不可
  • 「LICENSE だけコピーして NOTICE を忘れる」「改変明示を忘れる」が実務のあるある
  • 特許許諾はコントリビューターの特許だけが対象。第三者の特許を踏んでいないことまでは保証しない

選び方の目安:個人の小さなツールで手軽さ最優先なら MIT、特許が絡み得る領域(ML・インフラ・プロトコル実装)や企業・コミュニティ主導のプロジェクトなら Apache-2.0。

関連