[FFmpeg-devel] [PATCH] G722 decoder

Diego Biurrun diego
Tue Mar 24 14:41:54 CET 2009

On Mon, Mar 23, 2009 at 10:19:04PM +0100, Benjamin Larsson wrote:
> Ronald S. Bultje wrote:
> > 
> > On Mon, Mar 23, 2009 at 4:58 PM, Benjamin Larsson <banan at ludd.ltu.se> wrote:
> >> Sure but I'm just trying to compromise so we just don't let this code go
> >> to waste. Until we re license (when pigs fly or whatever) the code would
> >> still be under LGPL.
> > 
> > Yeah, it's true. The thing is, if ffmpeg is LGPL2.1 (or later) and the
> > code is LGPL2.1, then requiring --enable-gpl for it to be compiled is
> > funny.
> > 
> > anyway, in the end yes I support your idea of not letting it bitrot.
> We could add a --enable-lgpl2.1_but_not_later but I think that this is
> an acceptable compromise.

This means moving down a very slippery slope.

Right now we have at least the following license types in FFmpeg:

GPL v2 or later
LGPL v2.1 or later
BSD-type license variants
MPEG proprietary
libjpeg license

This is off the top of my head, I might have overlooked some.  The
intricacies of license compatibility can get arbitrarily complex and
with every license or license variant you add, complying their terms
becomes more difficult.

As sad as it is to have to say this, I would be surprised if more than
a handful of developers have read those licenses, not to speak of being
familiar with their terms.  This thread clearly shows quite a bit of
ignorance from core developers.

Can you say if somebody has to be credited in printed FFmpeg manuals and
if so, who and under what conditions?[1]  If you don't know the answer
or don't even know how to find the answer, think twice about
complicating things further.

I hate to be forced to reject perfectly working code at least as much as
the next guy, but we also want people to respect our licensing terms.
Making them arbitrarily complex does not help.

We have also put considerable effort into simplifying the licensing
situation and we have come a long way.  libswscale now works in LGPL
mode and our AC-3 decoder probably will soon.

I have worked on getting people to relicense some parts of our code and
addressed all complaints about FFmpeg licensing being vague and full of
hidden mines that make people queasy about using FFmpeg.

The work that went into licensing issues is far larger than the amount
it took to implement this decoder and it should not be flushed down the
toilet without even a second thought.

Moral of the story:

- Address license issues first, *especially* if you hate licensing
  stuff.  It will invariably end in tears and flames otherwise.
- Do not ignore licensing issues, they will came back to haunt you with
  a vengeance if you do.
- Keep licensing issues as simple as possible at all costs; fight hard
  not to complicate things more.  Yes, this sometimes means making hard
  and painful decisions.
- Read those licenses, really.  If you don't, at least don't be surprised
  and flame if their terms do not suit you.


[1] Paragraph 2 of the libjpeg license is

 * (2) If only executable code is distributed, then the accompanying
 * documentation must state that "this software is based in part on the
 * work of the Independent JPEG Group".

No, I did not remember this myself before checking a few minutes ago.

More information about the ffmpeg-devel mailing list