gpl
May I use FFmpeg in my program and what do they mean by making the source code available?
<p>I am currently building a video streaming platform for my school.
Because I want to serve videos in different resolutions, I use <a href="https://www.npmjs.com/package/ffmpeg-static" rel="nofollow noreferrer">ffmpeg-static</a> and <a href="https://www.npmjs.com/package/fluent-ffmpeg" rel="nofollow noreferrer">fluent-ffmpeg</a>. I recently checked the licenses and found that <a href="https://www.npmjs.com/package/ffmpeg-static" rel="nofollow noreferrer">ffmpeg-static</a> is licensed under the GPL 3.0 license, which allows commercial use but requires that I provide my source code. In the near future I might want to distribute my software that includes ffmpeg binaries. Now my question: May I use and distribute FFmpeg? and What do you mean by making the source code available? I don't want to publish my source code as that would give anyone the opportunity to copy my work. Do I have to publish all the source code or is it ok if I only publish the files where I use ffmpeg? If that were the case, it would make a lot of things easier.</p>

<p>In this case you probably do not need to publish your code if you use ffmpeg binaries.</p>
<p>The ffmpeg binary code is under GPL but as you are using a staticly built binary of it does not affect the licensing of your code.</p>
<p>You do however need to look at the licences of ffmpeg-fluent and ffmpeg-static. These are MIT and a unique License. So use of ffmpeg-fluent is no problem but the license on ffmpeg-static is not clear. The license file on github does not name a known FLOSS license and does not make sense as it refers to binary and it does not provide binaries (The comment notes it is like BSD 3 clause), however the licence given on <a href="https://www.npmjs.com/package/ffmpeg-static" rel="nofollow noreferrer">https://www.npmjs.com/package/ffmpeg-static</a> is GPL. As the licence is unclear I don't think anyone can use it but having the GPL possibility - if you include ffmpeg-static then you need to release all your code.</p>
<p>I would look for an alternative to fffmpeg-static. Which as it just downloads ffmpeg should be possible.</p>

<p>If you don't want to publish your source code, that's absolutely fine. Just don't use any GPL licensed software as part of your code.</p>
<p>It's very simple: Publishing software that contains GPL licensed code is copyright infringement unless you either provide the <em>complete</em> source code of your software to anyone asking for it for the next three years, or if you accompany every single copy of your software that you distribute with the complete source code. In both cases the source code must also be licensed under the same GPL license.</p>
