Ubuntu renaming FFmpeg to libav

Reinhard Tartler siretart at tauware.de
Sat May 28 07:39:52 UTC 2011


Hi Kees,

On Fri, May 27, 2011 at 02:04:32 (CEST), Kees Cook wrote:

> Hi Reinhard,
>
> The Ubuntu Tech Board would like to have more information about what is
> happening with FFmpeg and libav. Can you shed some light on this from the
> perspective of being involved in the Debian and Ubuntu renaming of ffmpeg
> to libav?
>
> BTW, I have no intention of trying to incite a flame war; we are just
> interested in getting both sides of this story so we can better understand
> what is going on.

Sure thing.

As you've probably guessed, the former FFmpeg development community is
clearly split in two camps, 'FFmpeg' on the one side and 'Libav' on the
other side. It is quite difficult for me to engage this discussion
without getting into flames, as everyone here is pretty much biased.

The developer community split is the result of various flamewars and
smaller fights that have been going on for at least five years, if not
longer. I'll refrain in this email from exact references as there is a
significant risk of degenerating into mud-throwing, but I think I still
have to explain some background first.

I've started working on FFmpeg in Debian in early 2007 by contacting and
helping Sam Hocevar, the maintainer of the ffmpeg package in Debian at
that time. Since then, I've made good friends and contacts in the
upstream development community. At that time, the general attitude
towards binary distribution of ffmpeg packages was, well, let's say
reluctant, and indeed, on various occasions Michael as project leader
argued on various occasions that it was in fact a bad idea to include
ffmpeg in distributions such as debian and similar to begin with, and
users are strongly encouraged to compile themselves. With a considerable
amount of effort and with the help of Diego Biurrun, we've managed to
reinstantiate formal releases and release branches to help distributions
such as Debian and Ubuntu with maintaining proper and reliable
distribution packages.

Earlier this year, a group of FFmpeg developers gathered and discussed
the future and their involvement, which eventually ended in creating the
fork Libav. Clearly, this process was not without faults and certainly
could have been handled better, but in the end, this result was
(unfortunately) unavoidable. We, the Libav developers, see similarities
to former development forks such as the infamous XFree86/X.org fork or
the gcc/egcs split. And indeed, just like the egcs story, ideally the
two projects can merge again in future, but at the moment, that's pretty
much out of question.  The main reason for forking was Michael
himself. On various occasions his quite strict rules on code quality and
reviews doesn't seem to apply to him, while important developments, such
as ffmpeg-mt, have been stalled basically for years. Indeed, Michael
even stated a few days before the fork on IRC 'ill never merge -mt'.

After the fork, Michael has insulted almost everyone involved with
founding Libav at least once, used libel and death threats as 'jokes',
but OTOH keeps merging the work done at Libav both with and without
insults. Interestingly, his standards and attitude to external work have
totally changed: He has committed his mplayer filter wrapper despite
predominant rejections, ffmpeg-mt has been merged (partially with wrong
attribution!) despite various tests still failing (when running them
with more than one thread), just to name a few.  Now he argues that the
merged external branches make 'his' tree 'superior'.

I as Debian and Ubuntu packager of the Libav/FFmpeg packages need to
balance what line of development is going to be more sustainable in the
long run. If you look at the git commit statistics, you'll notice that
the developers with most commits (both numbers of commits and lines of
changed code) in the last year and three years before the fork are in
the Libav camp now. While Michael clearly has written most of the code
in FFmpeg, I fear that there is a considerable bus factor on that
side. Moreover, my experiences with discussing matters like symbol
versioning and binary compatibility with him doesn't make me too
enthusiastic about maintaining a package with him as upstream in Debian
or Ubuntu. Libav on the other hand is a group of very nice developers
that generally are very open to discuss issues with API and ABI.

For instance, one of the first developments in Libav was a large API
cleanup that resulted in a 'global' SONAME bump in order to clarify the
line between public API and private internals. I expect that in the long
run this will make Libav much more 'dev-friendly' and open for
integration in the rest of the multimedia community. Of course FFmpeg
has merged most if not all of this work.

What I consider most important for Ubuntu is that Libav has me as active
release manager that drives a) daily builds in ubuntu [libav:daily], b)
beta releases that are also included in other distros such as Gentoo
[libav-beta:Gentoo] and of course c) proper 'main' release
branches. Michaels idea of always using the latest git master code OTOH
just doesn't work in binary distros with long-term stable
releases. FFmpeg on the other hand seems to me these days mainly as
one-man-show. While FFmpeg is clearly receiving more drive-by
contributions, ffmpeg-devel still contains a considerable amount of
flamewars, while libav-devel has way more technical reviews and
generally seems to me the nicer group to work with.

[libav:daily] https://launchpad.net/~motumedia/+archive/libav-daily/+packages
[libav-beta:Gentoo] http://packages.gentoo.org/package/media-video/libav

If you have any further questions or would like to see references as
backup for my claims, I'm happy to send them to you in private in order
to avoid igniting additional flamewars. Additionally, please feel
invited to talk to other Libav developers on IRC, via private email or
via phone directly if you feel that you need to hear more opinions on
the issue.

regards,
        Reinhard
>
> -Kees
>
> From: Mark Shuttleworth <mark at canonical.com>
> Subject: Re: Ubuntu renaming FFmpeg to libav
> To: Michael Niedermayer <michaelni at gmx.at>, Technical Board <technical-board at lists.ubuntu.com>
> Date: Fri, 08 Apr 2011 10:40:27 +0100
>
> Hi Michael
>
> Thanks for raising this with us. I've copied the Technical Board as I
> think they are the right body to take a position on the matter. They
> will certainly want to hear from those behind libav as well.
>
> Mark
>
>
> On 07/04/11 18:55, Michael Niedermayer wrote:
>> Hi Mark
>>
>> Iam the main developer (and leader if you want) of FFmpeg.
>>
>> Iam writing this a bit hastily as i just found out a technical board
>> meeting takes place 18UTC today ...
>> 3 month ago FFmpeg was forked by a small group of active ffmpeg
>> developers. That was done extreemly hostily by the root admins of our
>> server. And forced us to find a new server and hosting and point
>> ffmpeg.org there as all attempts to negotiate failed and we where
>> completely locked out of the webpage and source repository.
>> Next they shut down our mailing lists and withhold the subscriber lists
>> from us forcing us to restore them from a recent backup onto the new
>> server. We also where threatened with lawyers due to alleged rights on
>> the ffmpeg logo, both its idea and actual drawing of the current one i
>> have done myself.
>>
>> But these matters are of course our internal problem, i just mentioned
>> them as i cant get it out of my head that my friends did this.
>> Whats not just our internal problem is that one of the members of the
>> libav fork is maintaining the debian & ubuntu packages of ffmpeg. And it
>> seems these were renamed to libav.
>> I and several other FFmpeg developers have of course contacted
>> reinhard(ubuntu ffmpeg package maintainer) but he only awnsered
>> yesterday that his decission of not packaging FFmpeg but the fork he is
>> a member of is final.
>> The source code difference between the last releases of FFmpeg and libav
>> (0.6.2) is that FFMpeg has one tiny additional bugfix and that the text
>> string FFmpeg is replaced by libav in libav 0.6.2
>>
>> The commits since the fork in trunk differs like this:
>> git log --oneline 111ccca602e96f18d4fab1117b2b768ae51814f7..libav/master
>> |cut -d' ' -f 2- |sort |uniq |wc
>>     785    5234   38369
>> michael at blackbox:~/ffmpeg-git/ffmpeg$ git log --oneline
>> 111ccca602e96f18d4fab1117b2b768ae51814f7..master |cut -d' ' -f 2- |sort
>> |uniq |wc
>>    1115    8298   62166
>>
>> That is FFmpeg has many more commits than libav.
>> We also merge back all changes from libav daily which is why the
>> uniq/sort is needed to filter duplicates out, otherwise we would have
>> more than 2 times as many commits as libav, as they do not merge most of
>> our changes into their tree.
>>
>> In terms of features, FFmpeg has 3 times as many video filters and many
>> more bugfixes just to name 2 differences.
>>
>> I thus belive that it is not in the interrest of the ubuntu users if
>> ubuntu switches from FFmpeg to libav
>>
>> best regards
>> Michael
>> (i would gpg sign this but sending this through launchpad due to not
>> knowing your email makes this hard)
>
>
> -- 
> technical-board mailing list
> technical-board at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/technical-board
> ----------

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4



More information about the technical-board mailing list