common.loading

GPL 2.0 vs GPL 3.0:変更点詳細

GNU 一般公衆利用許諾書バージョン進化の分析

articles.categories.versionsarticles.difficulty.intermediate
👤LicenseHub Team
📅2024/1/10
⏱️12 articles.content.minutesRead
#gpl#copyleft#history

GPL 2.0 vs GPL 3.0:変更点詳細

GNU 一般公衆利用許諾書(GPL)は、最も重要なコピーレフト・オープンソースライセンスの一つです。GPL 3.0 のリリースは、オープンソースライセンシングにおける重要な進歩を示しています。

バージョンリリースタイムライン

  • GPL 1.0:1989年リリース
  • GPL 2.0:1991年リリース
  • GPL 3.0:2007年リリース(3年間の公開討議を経て)

主要変更点概要

1. 特許保護条項

GPL 2.0

  • 明示的な特許保護条項なし
  • 暗黙の特許ライセンスに依存

GPL 3.0

  • 明示的な特許保護条項
  • 特許報復条項(patent retaliation)
  • 特許トロール対策

2. アンチ・ティボ化条項

GPL 2.0

  • ソースコードの提供のみ要求
  • 修正のハードウェアロックを許可

GPL 3.0

  • 「インストール情報」の提供を要求
  • ユーザーはデバイス上で修正バージョンを実行できる必要がある
  • TiVo化現象を防止

3. 互換性改善

GPL 2.0

  • 厳格な互換性要件
  • 他のライセンスとの組み合わせが困難

GPL 3.0

  • より柔軟な互換性メカニズム
  • 「追加条項」を許可
  • Apache 2.0 などのライセンスとの互換性を支援

詳細変更分析

特許保護

GPL 3.0 第11条では特許保護を導入:

各貢献者は、あなたに非独占的で世界的で無償の特許ライセンスを付与します...

これにより GPL 2.0 の特許保護不足問題が解決されました。

DRM とアンチ・ティボ化

GPL 3.0 第6条では以下を要求:

「ユーザー製品」とは...個人、家族、または家庭用に設計または販売される消費者製品

ユーザー製品については、「インストール情報」を提供する必要があります。

国際化改善

  • より良い国際法的適応
  • 明確な終了と復旧条項
  • 改善された定義と用語

実際の影響

採用状況

GPL 2.0 を使い続けている有名なプロジェクト

  • Linux カーネル
  • Git
  • MySQL

GPL 3.0 に移行したプロジェクト

  • GCC
  • Bash
  • GRUB

互換性考慮事項

組み合わせシナリオGPL 2.0GPL 3.0
Apache 2.0 との組み合わせ❌ 非互換✅ 一方向互換
BSD との組み合わせ✅ 互換✅ 互換
プロプライエタリとの組み合わせ❌ 非互換❌ 非互換

移行ガイド

GPL 2.0 から GPL 3.0 への移行

  1. プロジェクトニーズの評価

    • より強い特許保護が必要か?
    • ハードウェアロック問題を気にするか?
    • 依存関係は互換性があるか?
  2. 依存関係互換性の確認

    • すべての依存関係が GPL 3.0 互換であることを確認
    • 「GPL 2.0 のみ」のコンポーネントに特に注意
  3. ライセンスファイルの更新

    • ライセンステキストの置換
    • ファイルヘッダーの更新
    • ドキュメントの更新

移行例

GPL 2.0 ファイルヘッダー

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

GPL 3.0 ファイルヘッダー

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

選択推奨事項

GPL 2.0 を選ぶべきとき

  • GPL 2.0 のみのプロジェクトとの互換性が必要
  • プロジェクトに長い歴史があり、移行コストが高い
  • 特許やハードウェアロック問題を気にしない

GPL 3.0 を選ぶべきとき

  • 新しいプロジェクトを始める
  • より強い特許保護が必要
  • アンチ・ティボ化問題を気にする
  • より多くのライセンスとの互換性を望む

結論

GPL 3.0 は GPL 2.0 に対する重要な進歩であり、現代のソフトウェア開発における多くの問題を解決しています。移行には互換性の慎重な検討が必要ですが、新しいプロジェクトには通常 GPL 3.0 がより良い選択です。

選択時には以下のバランスを考慮する必要があります:

  • 技術要件 vs 互換性要件
  • 法的保護 vs プロジェクトの柔軟性
  • 長期開発 vs 短期便利性