Does FFmpeg LGPL license apply in case if application is using FFmpeg via CLI
<p>Does FFmpeg LGPL license applies when FFmpeg is being used from my application as an external tool, which is being called via command line interface? I do not compile, modify or even include FFmpeg with my application in any way or form. I do not statically link my application with FFmpeg or any of the FFmpeg libraries. My application just calls FFmpeg via its command line interface, assuming that FFmpeg is already available on user's computer. I have read through FFmpeg legal FAQ (<a href="https://www.ffmpeg.org/legal.html" rel="nofollow">https://www.ffmpeg.org/legal.html</a>) page, but this is still not clear.</p>

<p>Many thanks,
Norm</p>

<p><strong>Copyright issues</strong></p>

<p>FFmpeg may be licensed either by GPL or LGPL depending on what is included in a compiled copy.  Typically it is GPL.  Check the FFmpeg documentation for what determines the choice of license.</p>

<p>There are a couple of pieces of text in the GPL license you need to look at...</p>

<blockquote>
  <p>Activities other than copying, distribution and modification are not
  covered by this License</p>
</blockquote>

<p>Since <em>you</em> are not copying, distributing or modifying FFmpeg, the license does not apply to you.  This is probably also true of any person who is merely running your program (assuming that your program does not, for example, automatically install FFmpeg).</p>

<blockquote>
  <p>This License applies to ... "work based on the Program" means either the Program or any derivative
  work under copyright law</p>
</blockquote>

<p>A program which calls FFmpeg using the command-line is <em>probably</em> not a derivative work of FFmpeg, since it does not contain any portions of FFmpeg.  So if you did copy or distribute FFmpeg in this case, you would need to follow the GPL requirements in regard to FFmpeg itself, but not in regard to your program or the combination of FFmpeg with your program.  Your program can be covered by a separate license (eg commercial).</p>

<p>Note that if your program linked with a DLL instead of using the command-line, that probably <em>would</em> be a derivative work because (at least in C or C++) linking with a DLL requires including headers which potentially result in portions of the header code being incorporated into the host program.  In that case the GPL requirements would apply to the derivative work as a whole.</p>

<p><strong>Patent issues</strong></p>

<p>Note that FFmpeg may contain a number of patented algorithms, for example MPEG-2, H.264 codec, etc.  While you probably don't need to worry about it because you don't "manufacture, import, use, sell or offer for sale" the patented code (ie portions of FFmpeg), your users probably <em>do</em> have to worry about it. For example, H.264 patent licenses can be obtained from MPEG-LA.  There are a number of exemptions in which an automatic free license is granted (and no registration is needed). However, many commercial uses (even if just in-house and not for-hire) are not exempt.  License fees tend to be minimal, but dealing with the required paperwork can be a huge hassle - good luck!</p>

<p><strong>Disclaimer</strong></p>

<p>I'm not a lawyer; this is not legal advice, just my personal opinion from reading the license.  I have dealt with GPL and MPEG licensing a number of times in a commercial context.</p>

<p>Please note that I am not a lawyer.  There are multiple licenses associated with FFMPEG, depending on which libraries you use.  Also, use of MPEG in application/service requires separate licenses (see MPEG LA License)</p>

gpl