I am currently building a video streaming platform for my school. Because I want to serve videos in different resolutions, I use ffmpeg-static and fluent-ffmpeg. I recently checked the licenses and found that ffmpeg-static 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.
2 Answers
In this case you probably do not need to publish your code if you use ffmpeg binaries.
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.
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 https://www.npmjs.com/package/ffmpeg-static 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.
I would look for an alternative to fffmpeg-static. Which as it just downloads ffmpeg should be possible.
- 251
- 1
- 8
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.
It's very simple: Publishing software that contains GPL licensed code is copyright infringement unless you either provide the complete 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.
- 34,028
- 2
- 46
- 88
FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later? – Green_Lab Apr 05 '22 at 22:31ffmpeg-staticpackage. Now I'm usingffbinariesto download ffmpeg and ffprobe at runtime, and execute them usingfluent-ffmpeg. That complies with the licenses, right? – Green_Lab Apr 08 '22 at 19:17