FFmpeg License
Written by Administrator
FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later. However, FFmpeg incorporates several optional parts and optimizations that are covered by the GNU General Public License (GPL) version 2 or later. If those parts get used the GPL applies to all of FFmpeg.
Read the license texts to learn how this affects programs built on top of FFmpeg or reusing FFmpeg. You may also wish to have a look at the GPL FAQ.
The following is a checklist for LGPL compliance when linking against the FFmpeg libraries. It is not the only way to comply with the license, but teh FFMPEG developers think it is the easiest. There are also a few items that are not really related to LGPL compliance but are good ideas anyway.
You are not obliged by the LGPL to follow this list, but consult a copyright lawyer if you choose not to. If you end up violating the LGPL, you will likely end up on the FFMPEG shame list and/or get sued by FFMPEG.
- Compile FFmpeg without "--enable-gpl" and without "--enable-nonfree".
- Use dynamic linking (on windows, this means linking to dlls) for linking with FFmpeg libraries.
- Distribute the source code of FFmpeg, no matter if you modified it or not.
- Make sure the source code corresponds exactly to the library binaries you are distributing.
- Run the command "svn diff . libswscale > changes.diff" in the root directory of the FFmpeg source code to create a file with only the changes.
- Explain how you compiled FFmpeg, for example the configure line, in a text file added to the root directory of the source code.
- Use tarball or a zip file for distributing the source code.
- Host the FFmpeg source code on the same webserver as the binary you are distributing.
- Add "This software uses code of <a href=http://ffmpeg.org>FFmpeg</a> licensed under the <a href=http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>LGPLv2.1</a> and its source can be downloaded <a href=link_to_your_sources>here</a>" to every page in your website where there is a download link to your application.
- Mention "This software uses libraries from the FFmpeg project under the LGPLv2.1" in your program "about box".
- Mention in your EULA that your program uses FFmpeg under the LGPLv2.1.
- If your EULA claims ownership over the code, you have to explicitly mention that you do not own FFmpeg, and where the relevant owners can be found.
- Remove any prohibition of reverse engineering from your EULA.
- Do not misspell FFmpeg (two capitals F and lowercase "mpeg").
- Do not rename FFmpeg dlls to some obfuscated name, but adding a suffix or prefix is fine (renaming "avcodec.dll" to "MyProgDec.dll" is not fine, but to "avcodec-MyProg.dll" is).
- Go through all the items again for any LGPL external library you compiled into FFmpeg (for example LAME).
- Make sure your program is not using any GPL libraries (notably libx264).
