Is there any safer way to include FFMpeg in commercial applications? [closed]
Asked Answered
R

1

6

https://www.ffmpeg.org/legal.html

The above page doesn't make any thing clear if we can use the libraries in commercial projects or not.

Incase if there are algorithms breaking patents, which formats I shouldn't support to avoid risk?

In short, Which way its safer to add ffmpeg to create a multi media app for iOS and Android (and may be later to desktop too).

Romeyn answered 11/7, 2015 at 14:38 Comment(1)
I’m voting to close this question because it's a legal question, and not about programming.Chamberlin
T
10

Beware : am not a lawyer, if this question is intended for a serious production, you should seek legal advice from a specialized lawyer.

FFmpeg has parts that are LGPL, GPL, and 3rd party libraries (e.g libx264, libmp3lame..) have their own licenses too.

The legal checklist you linked at actually seems suited for a commercial application. The most important parts are not compiling with either --enable-gpl or --enable-nonfree and linking your program dynamically to the libraries.

This will automatically disable any codec whose code license is incompatible with a closed-source binary release, for example GPL.

If your commercial application is going to be open-source, then you may use --enable-gpl.

Please note that you are under obligation to release the FFmpeg's LGPL source code that you used, including any modifications you might have done directly to it.

Finally, if your program will allow the end-user to encode with patented formats (H.264, AAC [..]), you should do your homework on the laws concerning patented software in your jurisdiction, as the MPEG-LA may come knock at your door.

Tapster answered 11/7, 2015 at 23:23 Comment(5)
"or patent protected" - no it doesn't. FFmpeg doesn't care about patents, see the "Patent Mini-FAQ" section in the link above.Tower
Thanks for the input. I edited. Let me know if anything else seems wrong hereTapster
Thanks for the detailed answer. My app doean't need encoding. Only decoding. And i may change the code for integrating. In that case do i need to opensource my complete project?Romeyn
So.. I'm fine to actually bundle ffmpeg ( compiled without the flags ), into my commercial app? Or, I could have the software download during/after install. Or, I could ask the user for the ffmpeg path. Are any of these better bets?Gabi
You can bundle ffmpeg with your app. Just make sure it's in a ".dll" or ".so" (dynamic linking) form and that you didn't use --enable-gpl or --enable-nonfree. Also, you must redistribute the FFmpeg source code, including any modifications you might have done directly to it. You also need to quote FFmpeg in your "about" box. Recheck the ffmpeg.org/legal.html page if in doubt.Tapster

© 2022 - 2024 — McMap. All rights reserved.