Apache 2.0ライセンス、商用利用の教科書:受託開発とSaaS開発で押さえるべきポイント
「このライブラリ使いたいんだけど、Apache 2.0って商用利用できるの?」
そんな疑問、プロジェクトの度に湧いてこない? 今日はそんなあなたのために、Apache 2.0ライセンスの要点と、有償受託開発・SaaSで気をつけるべきポイントをサクッと解説するよ。
Apache 2.0ライセンスって何者?
Apache License 2.0は、Apache Software Foundation(ASF)が2004年1月に策定したオープンソースライセンスだ。
公式ドキュメント: https://www.apache.org/licenses/LICENSE-2.0
2020年のデータでは、GitHubで公開されているプロジェクトの約18%がこのライセンスを採用している。Kotlin、Scala、Swift、TensorFlow、Androidなど、そうそうたる面々がApache 2.0を採用しているのも納得だろう。
他のライセンスと何が違う?
Apache 2.0の最大の特徴は「明示的な特許ライセンス付与」だ。MITやBSDライセンスとの違いはここにある。
Apache License 2.0の原文(Section 3)より:
"Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work..."
和訳:
「本ライセンスの条項に従い、各コントリビューターはあなたに対して、永続的、全世界的、非独占的、無料、ロイヤリティフリー、取消不能な(本条項に記載された場合を除く)特許ライセンスを付与し、成果物を製造、使用、販売申込、販売、輸入、その他移転することができる」
つまり、コントリビューターが持つ特許を、そのOSSに関しては無料で使えるってわけだ。これは商用利用する側にとっては大きな安心材料になる。
商用利用は可能? → YES!
結論から言うと、Apache 2.0ライセンスのソフトウェアは商用利用できる。
以下のことが全部OKだ:
- 有償受託開発での利用
- SaaSプロダクトへの組み込み
- クローズドソースでの配布
- 改変版の配布
- 独自ライセンスでの再配布(改変部分について)
ただし、「自由」と「無法地帯」は違う。守るべきルールがあるから、次のセクションでそれを見ていこう。
商用利用で絶対に守るべき4つのルール
Apache 2.0で商用利用する際、**Section 4(Redistribution)**に記載された以下の条件を守る必要がある。
1. ライセンスファイルを同梱する
原文(Section 4(a)):
"You must give any other recipients of the Work or Derivative Works a copy of this License"
配布物にLICENSEファイルを含めて、Apache 2.0のライセンス全文を明示すること。これは絶対。
2. 著作権表示を保持する
原文(Section 4(c)):
"You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work"
元のソースコードにある著作権表示、特許表示、商標表示、帰属表示をそのまま残す必要がある。
3. 変更内容を明示する
原文(Section 4(b)):
"You must cause any modified files to carry prominent notices stating that You changed the files"
ファイルを変更した場合、「このファイルは変更されました」という目立つ通知を付ける必要がある。具体的には:
# このファイルは元のApache 2.0ライセンスのコードから変更されています
# 変更日: 2025-10-27
# 変更者: あなたの名前または組織名
# 変更内容: ○○機能を追加
こんな感じでコメントを追加すればOKだ。
4. NOTICEファイルがあれば含める
原文(Section 4(d)):
"If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file"
元のプロジェクトにNOTICEファイルがある場合、それを配布物に含める必要がある。通常はプロジェクトルートに置く。
有償受託開発での注意点
受託開発でApache 2.0ライセンスのライブラリを使う場合、以下のシナリオが考えられる。
シナリオ1: クライアントにソースコードを納品する場合
この場合は比較的シンプルだ:
- ソースコードに著作権表示と変更内容を記載
- プロジェクトルートに
LICENSEファイルを配置 -
NOTICEファイルがあれば同梱 - README等に「このプロジェクトはApache 2.0ライセンスのライブラリを使用しています」と明記
シナリオ2: バイナリ形式で納品する場合
バイナリ(実行ファイルやコンパイル済みアプリ)として納品する場合:
- ドキュメントまたは「About」画面にライセンス情報を記載
- 配布パッケージに
LICENSEとNOTICEファイルを同梱 - 可能であれば、アプリ内の「ライセンス情報」画面で表示
契約書への記載も忘れずに
受託開発契約書に以下の内容を明記しておくと、後々のトラブルを防げる:
「本システムはApache 2.0ライセンスのオープンソースソフトウェアを使用しています。これらのソフトウェアは無保証で提供されており、受注者はこれらのソフトウェアに起因する問題について責任を負いません」
SaaS開発での注意点
SaaSの場合、エンドユーザーにソフトウェアを「配布」しないケースが多い。ここがポイントだ。
配布しない場合は緩い
Apache 2.0ライセンスは「配布(distribution)」に関する条件だ。つまり、社内サーバーで動かすだけ、あるいはSaaSとしてWebサービスを提供するだけなら、ライセンスファイルの同梱義務は技術的には発生しない。
ただし、ベストプラクティスとしては:
- サイトのフッターやAboutページに「Powered by [ライブラリ名]」と記載
- ライセンス情報ページを設ける
- 使用しているOSSのリストと各ライセンスへのリンクを提供
こうしておくと、透明性が高まるし、何より礼儀だろう。
APIとして提供する場合
REST APIやGraphQL APIとして機能を提供する場合も、基本的には「配布」に当たらない。ただし、SDKやクライアントライブラリを配布する場合は、通常の配布ルールが適用される。
これだけは気をつけろ: 商標の罠
Apache 2.0の**Section 6(Trademarks)**には重要な記載がある:
原文:
"This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor"
和訳:
「このライセンスは、ライセンサーの商号、商標、サービスマーク、または製品名を使用する許可を与えるものではない」
つまり、Apache 2.0ライセンスのライブラリを使っても、そのプロジェクト名やロゴを勝手に使ってはダメだ。
NG例:
- 「当社のサービスはTensorFlowベースです」→ TensorFlowのロゴを勝手に使う
- 「Apache Kafkaを改良しました」→ Apacheの名前を製品名に含める
OK例:
- 「このサービスはApache 2.0ライセンスのTensorFlowを使用しています」と説明文に記載
- 技術ブログで「TensorFlowを使って実装しました」と言及
無保証であることを理解する
**Section 7(Disclaimer of Warranty)**は明確だ:
原文:
"Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND"
和訳:
「適用法で要求される場合または書面で合意された場合を除き、ライセンサーは成果物を(各コントリビューターは貢献を)『現状有姿』で提供し、いかなる種類の保証または条件も付さない」
つまり、バグがあっても、セキュリティホールがあっても、作者は責任を負わない。これは商用利用する際のリスクとして理解しておく必要がある。
特許訴訟を起こすとライセンス失効
これはSection 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"
和訳:
「もしあなたが、成果物または成果物に組み込まれた貢献が直接的または間接的な特許侵害を構成すると主張して、いかなる主体に対しても特許訴訟を提起した場合、本ライセンスの下であなたに付与されたその成果物に対する特許ライセンスは終了する」
つまり、Apache 2.0のソフトウェアを使っておいて、そのソフトウェアについて特許訴訟を起こすと、自分のライセンスが失効する。これは報復訴訟を防ぐための防衛条項だ。
実践チェックリスト
商用利用する前に、このチェックリストを確認しよう:
受託開発編
-
プロジェクトルートに
LICENSEファイルを配置した -
NOTICEファイルがあれば同梱した - 変更したファイルに変更通知を記載した
- 著作権表示を保持した
- 契約書に無保証である旨を明記した
- 商標やロゴを無断使用していない
SaaS開発編
- Aboutページまたはライセンス情報ページを作成した
- 使用しているOSSのリストを記載した
- 商標やロゴを無断使用していない
- 可能であれば帰属表示(Powered by)を記載した
まとめ: Apache 2.0は商用フレンドリー
Apache 2.0ライセンスは、商用利用において非常に使いやすいライセンスだ。主なポイントをおさらいすると:
できること:
- 商用利用
- クローズドソースでの配布
- 改変と再配布
- 独自ライセンスでの配布(改変部分について)
守るべきこと:
- ライセンス全文の同梱
- 著作権表示の保持
- 変更内容の明示
- NOTICEファイルの同梱(ある場合)
やってはいけないこと:
- 商標の無断使用
- 特許訴訟の提起(ライセンス失効のリスク)
この記事が、あなたのプロジェクトでApache 2.0ライセンスを正しく、そして安心して使う助けになれば幸いだ。
参考資料:
- Apache License 2.0 公式テキスト(英語): https://www.apache.org/licenses/LICENSE-2.0
- Apache License 2.0 日本語訳: https://licenses.opensource.jp/Apache-2.0/Apache-2.0.html
- Apache Software Foundation - ライセンス適用ガイド: https://www.apache.org/legal/apply-license.html
※本記事は法的助言ではありません。実際のプロジェクトでの利用については、必要に応じて法律の専門家にご相談ください。
Discussion