[Libav-user] about ffmpeg's lgpl

Carl Eugen Hoyos cehoyos at ag.or.at
Tue Dec 6 22:14:40 CET 2011


Alex Cohn <alexcohn at ...> writes:

> On Mon, Dec 5, 2011 at 12:30, kunkka cai <sycsdr at ...> wrote:
> > Hi,
> > I'm developing a free (in price) software which should be able to play mp3
> > files. I know ffmpeg is a great codec, so I want my application to link
> > against it.
> > Actually I have built some Dlls (avcodec-52.dll, avformat-52.dll,
> > avutil-50.dll) without  "--enable-gpl" and without "--enable-nofree". And my
> > application that linking against those dlls works well.
> > Since I don't want my software to be open-source or become under LGPL/GPL.
> > That means I don't want to distribute the source code of my application, but
> > I can distribute the source code of the ffmpeg dlls I use.
> 
> Yes, you should provide the source code with any build scripts you use.

I am not a native speaker but I wonder if the word "should" (here and below) is
the right choice...

> > Can I compress them(my application and those dlls) together into a single
> > installation file and distribute it on the internet? Or what can I do?
> 
> Yes, you can distribute the binaries of ffmpeg you built, but:
> 
>  - The end user should easily find the licensing info for libav
> components used in your distribution;

The licensing information actually has to be shown to the user.

>  - The end user should easily find the source code and build
> scripts/instructions to rebuild these components if they wish.
> 
> The ultimate solution is to include these sources in your
> distribution; after all, it's only around 10 MByte zipped.
> 
> If bundling the sources is not possible or not relevant in your case,
> you can keep them separate, but you should provide certain guarantees
> that they will be easily and reliably available to anybody who has
> your product installed (IMHO this means that you cannot rely on a free
> public download site for that).

If you don't want to bundle the FFmpeg sources with your product, I strongly
suggest you offer them on the same download server and from the same download
page where the application is provided (so far, nobody could suggest a better
interpretation to "accompany" as required by the license).

>  - The end user should be able to replace the av libraries in his
> installation with the versions built by them.

Which is easy if you use FFmpeg shared libraries (dlls).

> You carry no obligation that this will work unless they reproduce
> precisely your instructions and use the sources that you supplied.
> (For example, if they decide to upgrade to latest version of ffmpeg,
> or to perform a debug build, whatever).
> 
> This requirement may become tricky or even prohibitive in some
> situations (e.g. on iOS platform), but for a typical Windows
> application it's enough to write a short instruction for replacing the
> ffmpeg dlls (and test it yourself !!).

Exactly.
(iOS seems to require static linking, some companies offer the object files of
their proprietary applications to allow re-linking against different FFmpeg
versions.)

> Enjoy,
> Alex Cohn
> 
> Disclamer: I am not a lawyer, and the advise above is not legally
> bounding. In case of miniscule doubt, consult your lawyer who
> specializes in open source software.

Same here.

Carl Eugen



More information about the Libav-user mailing list