OpenCVのライセンスについての解説

OpenCVのライセンスについての解説プログラミング
ゆうすけ
ゆうすけ

OpenCVを商用利用したいんですが、ライセンスってどうなんですか?

資格マフィア
資格マフィア

少しややこしいが、
OpenCVはBSDラインセンスに基づく、無償使用可だ。

 

✔️ 本記事のテーマ

OpenCVライブラリのライセンスについて

 

✔️ 読者さんへの前置きメッセージ

結論から述べると、
OpenCVライブラリのライセンスは以下のような取り扱いになっています。

OpenCVはBSDラインセンスに基づき、商用/非商用問わず、無償で使用する事が可能です。
すなわち、明示的にOpenCVの著作権表示および免責事項を原文表示し、その内容に従う必要があります。

 

本記事は「OpenCVのライセンス」について書いています。

 

この記事を読むことで
「OpenCVのライセンスの概要 や OpenCVを二次利用する際の注意点」
について理解できます。

 

OpenCVは無料で使えるOSSですが、
商用利用や二次利用、二次配布する際には注意が必要です。

 

本記事では、そんなOpenCVのライセンスとそのライセンスに準拠する方法を解説します。

 

それでは、解説していきましょう。

 

※ 注意点
本記事の執筆者は法律や著作権の専門家ではありません。
また、本記事の内容はOpenCVやその他一切の公式情報ではありません。
さらに、OpenCVやOSSでは一部アルコリズムやソフトウェアに特記事項として制約や条件が付与されている場合があります。
これらを留意した上で、本記事の内容は参考情報に留めておいて下さい。

 

OpenCVとは?

OpenCVとは?

OpenCV (Open Source Computer Vision Library) は、
画像処理に関する機能をまとめたライブラリです。

 

OSS(オープンソースソフトウェア)として提供されているため、
無料で手軽に使うことができます。

 

主に、画像中から人の顔を検出したり、
カラー画像を白黒画像に変換する場面で使われています。

 

OpenCVライブラリの関数一覧と使い方については
【python】OpenCVの関数一覧と使い方の記事で解説しています。

 

今では「画像処理」を用いたPythonプログラミングでは
必ずと言っていいほど使用されるほどに、メジャーなライブラリです。

 

インストール自体も簡単なので、趣味や個人開発にもオススメです。

 

なお、OpenCVのインストールについては
【python】OpenCVのインストール方法の記事で解説しています。

 

OSにもよりますが、
3ステップほどでサクッとインストールすることができます。


OpenCVのライセンスは?

OpenCVのライセンスは?

まず、原則としてOpenCVは商用/非商用に関わらず、無償で使用することができます。

 

ただし、OpenCVはBSDライセンスを採用しています。

 

そのため、著作権およびライセンス条文の表示を再配布の条件としています。

 

公式のOpenCVライセンス文書はこちらから参照することができます。
https://github.com/opencv/opencv/blob/master/LICENSE

 

つまり、OpenCVライブラリを製品に組み込む、パッケージに同梱する、ビルド版として配布する…
など様々なケースにおいてOpenCVライブラリを二次利用(二次配布)する際にはライセンス文書の配布が必要となります。

 

なお、このライセンス文書ですが、原文のまま明示する必要があります。
OpenCVライセンスは英語で書かれているので、英語原文のまま明示する必要があります。

 

また、当然ですが、上記に加えてOpenCVライセンス文書の内容に従う必要もあります。

 

なお、BSDライセンスなので、
OpenCVライブラリが定めた特記事項がない限りは、ソースコードを公開する必要ありません。

 

OpenCVが基づくBSDライセンスとは?

OpenCVが基づくBSDライセンスとは?

では、OpenCVが採用しているBSDライセンスとは一体何なのでしょうか?

 

「無保証」であることの明記と著作権およびライセンス条文自身の表示を再頒布の条件とするライセンス規定である。この条件さえ満たせば、BSDライセンスのソースコードを複製・改変して作成したオブジェクトコードを、ソースコードを公開せずに頒布できる。

Wikipediaから引用するとこのようになります。

 

少しややこしいのでざっくり要点だけ整理すると以下の3点です。

  • 自己責任で使うこと
  • 著作権の表示は消さないこと(明示すること)
  • 複製・改変・再配布・販売等は自由にして良い

 

つまり、使用した結果に責任は持たないが、著作権表示を消さない限りは自由に使って良いというライセンスですね。

 

ちなみに、BSDライセンスは歴史とともに変化しています。
(ここが最高にややこしいのですが…)

 

初期のBSDライセンスでは上記に加えて、初期開発者を明示することという条件がありました。
つまり、OpenCVの場合、開発元であるOpenCV Foundationを示す必要がありました。

 

ただし、その後、様々な経緯があり、
この条件が撤廃され現在のBSDライセンスではその必要がなくなりました。

 

その際に、初期ライセンスの定義は残して、

と表現するようになりました。

 

現在では、多くのBSDライセンスが修正BSDライセンスとなっていますが、
ものによっては初期BSDライセンスとなっていることがあるので注意しましょう。

 

※ なお、この観点については、法及び概念の解釈や言語解釈によって揺れが発生します。
※ 本記事では、なるべく一般的な箇所について、一般的なケースを想定して述べています。

 

OpenCVを個人利用する場合にライセンス周りで必要なこと

OpenCVを個人利用する場合にライセンス周りで必要なこと

では、OpenCVを個人利用(趣味など)する場合、何がをする必要があるのでしょうか?

 

基本的には何の作業も必要ないです。

 

OpenCVは無償で使えるOSSなので、料金が発生することもないはずです。

 

さらに公開しないのであれば、
著作権について云々といった話もあまり気にする必要はないでしょう。

 

OpenCVを二次利用する場合にライセンス周りで必要なこと

OpenCVを二次利用する場合にライセンス周りで必要なこと

問題はここからです。

 

先ほど述べたようにOpenCVはBSDライセンスに基づいているので、もしOpenCVを二次利用(二次配布)するのであれば、OpenCVのライセンスを明示する必要があります。

 

例えば、OpenCVを利用しているソフトウェアをOSSとして公開するのであれば、そのOSSの著作権表示に加えて、OpenCVのライセンスもパッケージに含める必要があるということです。

 

その際に、引用元のライセンスは原文(この場合であれば英語)で表示しましょう。

 

OpenCVを商用利用する場合にライセンス周りで必要なこと

OpenCVを商用利用する場合にライセンス周りで必要なこと

次に、商用目的のソフトウェア、プロダクトでOpenCVをしようしている場合についてです。

 

こちらも二次利用する場合と同様です。
自身のプロダクトの中で、OpenCVのライセンスを明示する必要があります。

 

また、商用利用する場合に、大きな論点となるのがソースコードの公開義務の有無でしょう。

 

一般に公開されているソフトウェアの中には、そのソフトウェア(ライブラリ)を使用する場合、
組み込み元(この場合、自身のパッケージ)のソースコードの公開を義務付けるものもあります。

 

先に述べておくと、OpenCVはBSDライセンスなので、この公開義務はありません。

 

商用利用する場合、この公開義務はかなりの足枷になります。
ソースコードを公開することで、競合にコードを「パクられる」リスクが跳ね上がりますからね。

 

商用目的のソフトウェアを作る際は、使用するライブラリに気をつけましょう。

 

OpenCVやPythonについてもっとスキルをつけるなら

OpenCVやPythonについてもっとスキルをつけるなら

OpenCVのライセンスについて解説しました。

 

ライセンス周りのややこしさがあるとはいえ、
OpenCVは画像処理には欠かすことのできないライブラリです。

 

もし、OpenCVについて独学でスキルをつけるなら、以下の書籍がオススメです。

 

この書籍はOpenCVの基礎から応用までを
丁寧にかつ詳細に解説しています。

 

OpenCVのほぼ全てを網羅しているとも言えるほどの徹底ぶりなので、
関数のリファレンスとしても使用することができます。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。


オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。


オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。


オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

タイトルとURLをコピーしました