Apache License とは?ライセンスの使い方と注意点を解説

記事更新日: 2021/07/30

ライター: ナガヤン

ハローエンジニア!

GitHubでいい感じのOSSプロジェクトを見ていると、LICENSEファイルに記載された「Apache License」の文字。

まれによく見るライセンスだけど、具体的にはどんな内容だったっけ?

少し考えただけでも、次のような疑問が湧いてきます。

Apache License だと嬉しいことはあるの?

Apache License のツールを使う場合の注意点は?

Apache License のツールは商用利用できるの?

これらの疑問を解決するために、Apache License について深掘りしてみました。

Apache License とは?

Apache License (アパッチライセンス)は、アメリカの非営利非法人「Apacheソフトウェア財団(Apache Software Foundation;略称 ASF)」 が定めた、オープンソースソフトウェア(OSS)のためのライセンスです。

Apache ソフトウェア財団は、オープンソースのソフトウェア開発のための団体で、彼らの開発プロジェクトに適合したライセンス規定を必要として、BSDライセンスを元に独自のライセンスを作成しました。

有名なソフトウェア開発プロジェクトには、次の開発プロジェクトがあります。

Apache HTTP Server - Webサーバ

Apache Ant - Java のビルドツール

Apache NetBeans - Java の統合開発環境

Apache Tomcat - Java Servlet、JavaServer Pages のWebコンテナ

インターネットの成長期を支えていた団体だけあって、WebとJavaのためのソフトウェアが目立ちますね。

Apache License は何度か改定されており、2004年1月にASFが承認した「Apache License 2.0」が最新版として世界的に利用されています。

Apache License 2.0 への改定では、Apache ソフトウェア財団以外のプロジェクトで利用できるよう、次のような変更を加わりました。

・ライセンス条項の文章構成の全面的に見直し。全6項から全9項に変更

・全ファイルへのライセンス表示から、リファレンスのみでOKに変更

・Apache のソフトウェア名に関する記述を削除

・特許使用権の付与について記述

2020年には GitHub で公開されているプロジェクトの 18.2% で、Apache License 2.0 が利用されていると伝えられています。

具体的な事例としては、Apple の開発したプログラミング言語「Swift」や、Intel の開発した画像処理ライブラリ「OpenCV」が Apache License 2.0 で公開されています。

Apache License 2.0 が使用されている例

Elixir - プログラミング言語

・Scala - プログラミング言語

Swift - プログラミング言語

Rust - プログラミング言語

Chef - システム構成管理ツール

MathJax - JavaScriptの数式記述ライブラリ

OpenCV - 画像処理ライブラリ。Intel開発

TensorFlow - 機械学習ライブラリ。Google開発

IntelliJ IDEA - Javaの統合開発環境(IDE)。JetBrains開発

PyCharm - Pythonの統合開発環境(IDE)。JetBrains開発

NuGet - .NET Frameworkのパッケージマネージャー。Microsoft開発

Apache License 2.0 の具体的な内容は?

Apache License の最新版「Apache License 2.0」について、具体的に見ていきます。

まずは、Apache License 2.0 の詳細な内容を知るため、全ライセンス条項を公開されているページを確認します。

Apache License 2.0 原文(英語)

APACHE LICENSE, VERSION 2.0

Apache License 2.0 日本語訳

Apache License, Version 2.0

これらを確認すると、Apache License 2.0 が定めるライセンス条項は、次の9つです。

1. 用語の定義

2. 著作権ライセンスの付与

3. 特許ライセンスの付与

4. 再頒布

5. コントリビューションの提出

6. 商標

7. 保証に関する免責事項

8. 賠償責任の制限

9. 保証や追加責任の受諾

これらの条項を通して、ライセンス全体でおもに伝えていることは、次の3項目です。

ライセンスで許可されていること

保証と責任について

再配布について

許可されていること

Apache License 2.0 は、「2. Grant of Copyright License(2. 著作権ライセンスの付与)」および「3. Grant of Patent License.(3. 特許ライセンスの付与)」により、著作権ライセンスおよび特許ライセンスを与えます。

両ライセンスは、無期限で世界規模で非独占的で使用料無料で取消できないという性質があります。

著作権ライセンスは、成果物および派生成果物に対して、次のことができます。

複製

改変(派生成果物の作成)

一般公開

一般利用

サブライセンス

頒布

この権利は組み合わせて使えるので、「派生成果物を作成」して「一般に公開」した状態で「頒布」するのもOKです。

特許ライセンスは、成果物に対して、次のことができます。

作成(第三者による作成を含む)

使用

販売(販売の申し出、販売用途での提供を含む)

インポート(アプリでの組込み、同梱など)

その他の方法による譲渡

注意点として、特許ライセンスに基づく訴訟を起こすと、特許ライセンスは取り消されます。

この条件がある理由は、OSSを使用する利用者やコントリビューターを、特許訴訟から守るためと言われています。

保証と責任について

ライセンス条項の「7. Disclaimer of Warranty.(7. 保証に関する免責事項)」と「8. Limitation of Liability.(8. 賠償責任の制限)」には、保証や責任についての記載があります。

結論からいうと、特別な同意がない限り、コントリビューターはいかなる保証も責任も負いません。

成果物の使用や再頒布の適切性の判断、使用によって生じた如何なる損害については自己責任となります。

再頒布について

公開されているプログラムの再頒布については、ライセンス条項の「4. Redistribution.(4. 再頒布)」と「6. Trademarks.(6. 商標)」、「9. Accepting Warranty or Additional Liability.(9. 保証や追加責任の受諾)」に記載があります。

再配布する場合は、変更の有無にかかわらず、以下の4つを満たす必要があります。

1. ライセンスのコピーも渡す

2. 変更点があれば明示する

3. ソース形式で配布する場合は、それに著作権、特許、商標、帰属についての告知を書く

4. 帰属告知が書かれたNOTICEファイルがある場合は、NOTICEファイルも含める

ライセンスの記載は、再頒布形態によって次のような方法が見受けられます。

Webサービス - ライセンスに関するページを設置。あるいは、利用規約やヘルプページに記載。

アプリ(スマホ・PC) - アプリ内にライセンスに関するページを設置。あるいは、設定画面、ヘルプページに記載。

ソース形式・圧縮形式(zipなど) - LICENSEファイルを同梱。あるいは、READMEファイルに記載。

再頒布する際にサポートや保証、損害補償といった責任を提示することで、有料で再頒布することができます。

有料で再頒布する場合は、再頒布した者自身がそれらの責任を負うものとします。くわえて、ほかのコントリビューターは責任を負うことはないので、ほかのコントリビューターに損害が及ぶのを防ぎ、発生した損害に対しては補償することに同意する必要があります。

Apache License 2.0 の適用方法

自分の成果物に「Apache License 2.0」を適用する場合、次の定型文を配布物に添付します。

冒頭の [yyyy] および [name of copyright owner] の2か所(コピーライト表記)は、自分の著作情報に書き換えておきましょう。

Copyright [yyyy] [name of copyright owner]

 

Licensed under the Apache License, Version 2.0 (the “License”);

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

 

http://www.apache.org/licenses/LICENSE-2.0

 

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an “AS IS” BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

例えば、SearchBankで適用する場合、次の記載になります。

Copyright 2020 SearchBank

 

Licensed under the Apache License, Version 2.0 (the “License”);

you may not use this file except in compliance with the License.

You may obtain a copy of the License at

 

http://www.apache.org/licenses/LICENSE-2.0

 

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an “AS IS” BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

たったこれだけです。意外と簡単にできますね。

さいごに

Apache License 2.0 は、ライセンス文がいかめしい一方で、非常にゆるい内容のライセンスだとわかりました。

では、ざっくりライセンス内容を振り返ってみます。

著作権と特許権を付与する無期限で無料なライセンス。でも、特許訴訟はNG

著作元は利用保証も責任も負わない。利用は自己責任で

再頒布にはライセンス表記が必須。自分で責任を負うなら商用の再配布もOK

利用者は無期限に無料で利用でき、著作者は責任を負うことなく、再頒布では商用化や非公開化などの自由度を残す、非コピーレフトでOSSコミュニティらしいライセンスです。

Javaシステムの開発やアンドロイド用アプリ作成など、採用実績が多い分野であれば、Apache License 2.0 を採用してみてもいいですね。

この記事を書いたライター

ナガヤン

著者プロフィール

こんにちは、SEライターのナガヤンです!
サーチバンクをご覧いただき、ありがとうございます。

サーチバンクでは、エンジニア中心のメンバーで、私たちだからこそできる、べんりで楽しくなる情報を発信していきます!

これからの働き方を考えるメディア「JobTier」にて、対談記事を書いていただきました!

この記事に関連するラベル

ページトップへ