OpenCV(Sharp)まわりのライセンスについて
About
OpenCVSharpを導入するにあたって、ライセンス周りについて調べてみた際のメモ書きです。ライセンスに関してシビアになる必要のある場合には、必ず独自に調査するようにしてください。どなたかの参考になれば幸いです。OpenCVSharpを公開してくださっているSchima氏らに感謝。
このページは各方面のライセンスの変更を要求したり、優劣をつけること等を目的として作成されたものではありません。
ライセンスが沢山
OpenCVSharpを利用する場合には、基本的に次のコンポーネントが必要になります。
- OpenCV
- OpenCVの本体、画像処理ライブラリ
- TBB
- OpenCVで利用される並列処理用ライブラリ
- OpenCVSharp
- OpenCVをC#で利用するためのラッパーライブラリ
導入するだけならどうとでもなるのですが、これをライセンス別にみると次の様になっています。配布まで考えているのであれば、これが中々厄介な気がします。ぱっと使うのにOpenCV(Sharp)自体はすごく便利ですし、導入に見合うコストがあるとは思いますけども。
- OpenCV
- BSD(license)
- TBB
- GPLv2
- OpenCVSharp
- LGPL
各ライセンスについては必要に応じて細々調べて貰うとして、必要なコンポーネントだけで3種類のライセンスが含まれます。これに上乗せ独自のライセンスを載せようとすると4つのライセンスが混在することになります。素直に言えば、面倒です。GPLとBSDの関係も細かい所までは良く分からないですし、DLLだとどうのこうのと色々諸事情あるみたいです。一応は何れのライセンスについても商用で利用すること自体は可能です。それでもやっぱり配布にあたって面倒くさい感は否めません。
TBBのライセンスについて
「XLsoft社」のHPにTBBのライセンスについて言及さする項目が掲載されていました(2012.10現在)。原文を参照し確認する必要は変わらずありますが、掲載された文は概ね次の通りとなっています。実際に製品を販売している会社なのである程度信用たるものだと思います。
- 掲載された文の概要 ※XLsoft社の規定する"複写禁ず"に沿うため、原文を転載していません
- 原文は次のURLを参照(http://www.xlsoft.com/jp/products/intel/perflib/tbb/index.html)
- 項目「お知らせ」→「FAQ」
- TBBライブラリのオープンソース版はGPLv2を採用しているため、そのソースコードに何も変更を加えていない場合は、ソースコード開示義務は発生しないとインテル社では考えている。GPLv2については原文を参照されたい。
- 原文は次のURLを参照(http://www.xlsoft.com/jp/products/intel/perflib/tbb/index.html)
ようするに
OpenCVSharpを利用して作られたアプリケーションなどを配布する場合は、概ね次の様な条件が付けば良いと思われます。詳細は必要に応じて調査されたい。
- (OpenCV)BSDによる
- ソースコードを再頒布する場合、著作権表示、条件一覧、記免責条項を含める。
- BSD原文のドキュメントを配布物に含める
- 配布者は配布物によって生ずる全ての事象に関与しない。
- ソースコードを再頒布する場合、著作権表示、条件一覧、記免責条項を含める。
- (TBB)GPLv2による
- DLLとして取り込む場合はソースコードを開示する必要はない
- ただし、DLLの場合にどう扱うか、という論争に展開される
- GPL部のソースコード等を変更する場合はソースコードを開示する
- 改変されたGPLのソースコードを含む配布物はGPLとして扱われる。
- GPL原文のドキュメントを配布物に含める
- DLLとして取り込む場合はソースコードを開示する必要はない
- (OpenCVSharp)LGPLによる
- リバースエンジニアリングを禁止できない。
- LGPL部のソースコード等を変更する場合はソースコードを開示する
- 改変されたLGPLのソースコードを含む配布物はLGPLとして扱われる。
- LGPL原文のドキュメントを配布物に含める
- その他
- 商用を規制する条件はない。
- ソースコードの開示が義務付けられる条件はDLLを扱う分にはない。
- GPL、LGPL、BSDが与えられるコンポーネント各種の2次的利用等を制限できない。
- 利用・配布形態は各ライセンスに依存する。