views:

30

answers:

1

We're planning on using compiled FFmpeg binaries with our website. We use the conversion in a very minor way. We are not sharing our source code and are NOT including the source code of FFmpeg (or modifying it any way). We do not sell our software, only offer it as a commercial service.

Has anyone else used FFmpeg similarly? If so, is there a license issue? The website at http://www.ffmpeg.org/legal.html is quite confusing.

License Compliance Checklist

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 we 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 our shame list and/or get sued by us.

  1. Compile FFmpeg without "--enable-gpl" and without "--enable-nonfree".
  2. Use dynamic linking (on windows, this means linking to dlls) for linking with FFmpeg libraries.
  3. Distribute the source code of FFmpeg, no matter if you modified it or not.
  4. Make sure the source code corresponds exactly to the library binaries you are distributing.
  5. 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.
  6. Explain how you compiled FFmpeg, for example the configure line, in a text file added to the root directory of the source code.
  7. Use tarball or a zip file for distributing the source code.
  8. Host the FFmpeg source code on the same webserver as the binary you are distributing.
  9. Add "This software uses code of FFmpeg licensed under the LGPLv2.1 and its source can be downloaded here" to every page in your website where there is a download link to your application.

10) Mention "This software uses libraries from the FFmpeg project under the LGPLv2.1" in your program "about box".
11) Mention in your EULA that your program uses FFmpeg under the LGPLv2.1.
12) 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.
13) Remove any prohibition of reverse engineering from your EULA.
14) Apply the same changes to all translations of your EULA.
15) Do not misspell FFmpeg (two capitals F and lowercase "mpeg").
16) 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).
17) Go through all the items again for any LGPL external library you compiled into FFmpeg (for example LAME).
18) Make sure your program is not using any GPL libraries (notably libx264).

A: 

You say you're not offering your software for sale, only as a commercial service. If your software is not being distributed, as in it's entirely on your own computer systems and not transferred to others, then the (L)GPL doesn't apply at all.

However, if you are distributing your software to your clients, even if you use a subscription model, you are obligated to provide the source for FFmpeg or a written offer for the source, and comply with the other license terms mentioned above.

IANAL, YMMV, and all that jazz.

lfaraone
IANAL - I am not a lawyer... cute... :) Thanks Ifaraone...
tzmatt7447