⚠️ 注意
本記事に掲載している内容は、個人が学習・検証目的で作成したものです。
業務情報、社外秘情報、特定の企業・組織に関する内容は一切含まれていません。
利用は自己責任でお願いします。
概要
ffmpeg を「外部実行(ffmpeg.exe)」として使うプログラムを作成した際に調べた内容を記載します
LGPL と GPL の違いを一言で
| LGPL | GPL | |
|---|---|---|
| 一言で | 使ってOK。条件は軽い | 使うなら全部オープンにして |
| 社内ツール | ◎ 非常に相性が良い | △ 避けたい |
| ffmpeg外部実行 | ◎ 安全 | ⚠ 説明が必要 |
| ソース公開義務 | なし(通常) | ありの可能性 |
■LGPL(Lesser GPL)
「ライブラリとして使うだけなら自由度を高くするよ」
求められること
①ライセンス文書を同梱
②ffmpeg を使っていると明記
③ffmpeg 自体を改変しない
■GPL(GNU GPL)
「GPLコードを使うなら、あなたのソフトもGPLにして」
求められること
①アプリのソース公開義務
動的リンクで社内のみで使用予定する場合は?
「GPL版 ffmpeg を動的リンクで、社内利用のみ」であれば、
原則としてコード公開義務は発生しません。
① GPL の基本原則
GPL(v2/v3 共通の考え方)は、
「第三者に配布(頒布)した場合にのみ」ソースコード開示義務が発生する
というライセンスです。
| 利用形態 | ソース公開義務 |
|---|---|
| 社内利用のみ | ❌ なし |
| 社外配布(顧客・取引先・グループ会社含む) | ✅ あり |
| SaaS(社外に実行ファイルを渡さない) | ❌ なし |
「社内のみ」= GPL的に最も安全な使い方
② 動的リンクか静的リンクかの違い
動的リンクでも 社内利用なら問題にならない
・動的リンク
💻 プログラムでは
ライブラリは 別ファイル
実行時に「ここにある?」と探して使う
ffmpeg.exe を横に置く、など
👍 メリット
実行ファイルが小さい
ライブラリの差し替えが簡単
GPLでも“社内利用のみ”なら問題になりにくい
⚠️ デメリット
ファイルを消すと動かない
バージョン違いでトラブルが起きることも
** 静的リンク**
💻 プログラムでは
ライブラリ(ffmpegなど)をプログラムの中に最初から組み込む
実行ファイルが 大きくなる
他のファイルがなくても動く
👍 メリット
1ファイルで完結
配布しやすい
環境差が出にくい
⚠️ デメリット
ファイルサイズが大きい
ライブラリ更新が大変
GPLなどのライセンス制約が厳しくなりやすい
③ 注意事項
⚠️ 社外に exe を渡した瞬間アウト
以下は 全部 NG(GPL義務発生) です:
・他社(取引先・協力会社)に exe を渡す
・グループ会社に「これ使って」と渡す
・USB やメールで社外に配布
・展示会・説明会で配布
👉 1人でも社外に渡したら「頒布」扱い
その場合:
・アプリ全体が GPL 扱い
・ソースコード開示義務
・再配布許可義務