背景
個人的に、よくソースコードが公開されているリポジトリにライセンスを確認することが多かったですが、それがどこまで影響を及ぼすのかがいつも曖昧になっていました。
確認の仕方
分かりやすくするために、YOLOXを例に確認します。GitHubを見ると、”APACHE-2.0”であることがわかるかと思います。
上記のリポジトリを使用する場合、下記のように考えます。
要素 | リポジトリ提示のLicense適用の有無 | 備考 |
---|---|---|
論文が提案しているネットワーク(今回の例だとYOLOX)の考え方そのもの | X | 著作権は、著作”物”にかかります。何か文面に書いたりコード実装したものに対してのみかかってきます。考え方自体には著作権は関わってきません。 |
ソースコード(論文が提案しているネットワークをコードで実装したもの・学習用関数等) | ⭕️ | Apache-2.0がかかってきます。 |
提供している学習済みモデルの重みファイル | ⭕️ | 基本的に、ここのリポジトリのライセンスが適用されると考えて良いみたいです。つまり、このリポジトリが提供している事前学習済みモデルを転移学習させたモデルの重みファイルは、Apache-2.0が適用されます。モデルの重みファイルにかかるライセンスは、事前学習で用いたデータに適用しているライセンスに引っ張られるわけではなさそうです。 |
事前学習で用いたデータ | X | データそのものまでは、このライセンスは適用されません。例えば、YOLOXを用いて別のデータセット(別ライセンス)で学習を行うとなった場合、基本的にはデータの方のライセンスの条件も満たすようにするのが良いと思われます。 |
補足:たくさんモデルを提供している系のリポジトリは注意
TorchVision はBSD-3-Clause licenseというソースの公開等を強制しないライセンスを用いています。先ほどの考え方でいくと、ここで提供しているモデルの重みファイルにもBSD-3-Clause licenseが適用される!って思いたいところですが、ドキュメントをよく見ていくと下記のようなことが書いてあることを見つけました。
内容としては、
ここで提供している学習済みのモデル等は、各々別途ライセンスが適用されている可能性があります。
実際に、調べていくと下記のように社名が出てきます。(↓の例だと、Ultralytics社)
こうなると、そこの会社のライセンスに従う必要があります。
TorchVisionだけでなく、HuggingFaceであったりTensorFlowも同様のものがあるので、使いたいモデルを見つけたら、掘っていって確認することが大切です。リポジトリの中に、実装コードがあればリポジトリ提示のライセンスが適用されますし、見つからなければ、モデルを提供している会社が提示しているライセンスに従う必要があります。
Writed by F.K(20代/入社3年目)