Ut Video Codec Suite のテストコードを書く際にビデオクリップを読み込むところに FFmpeg の libavformat を使おうと思ったので FFmpeg のサイトをつらつら眺めてたんですが、ライセンスについてのページにこんなことが書いてありました。

License Compliance Checklist
(略)
It is not the only way to comply with the license, but we think it is the easiest.
(略)
2. Use dynamic linking (on windows, this means linking to dlls) for linking with FFmpeg libraries.

https://www.ffmpeg.org/legal.html (太字は引用者による)

えっなんで。

と思って GNU のサイトにあるライセンスに関する FAQ を見たらこんなことが書いてあります。つまり、LGPL のライブラリを使ったアプリケーションのバイナリを配布する場合、そのライブラリの部分だけを入れ替えられるようにしなければならず、スタティックリンクしている場合はリンクしなおせるように少なくともアプリケーションのオブジェクトファイルを提供する必要があるわけです。ダイナミックリンクしている場合は シェアードライブラリ/DLL のファイルを置き換えれば済むので、配布する側も受け取る側(ライブラリを置き換えようとする側)もそっちの方が楽だよね、という話です。

この話は LGPL 2.1 だと第6節に書いてあるのですが、第6節が適用される条件が第5節に書いてあって、LGPL なライブラリを使うアプリケーションが必ずしもこの影響を受けるわけではありません。

オープンソースなアプリケーションであればこの辺の要求は自動的に満たされるわけですが、そうではないアプリケーションで LGPL なライブラリを使おうとする場合は気を付けましょう。

ところでこれ技術ネタカテゴリに入れてるけど技術ネタでいいのかな。

Trackback

no comment untill now

Add your comment now