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 <[email protected]> > Subject: Re: Ubuntu renaming FFmpeg to libav > To: Michael Niedermayer <[email protected]>, Technical Board > <[email protected]> > 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@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 > [email protected] > https://lists.ubuntu.com/mailman/listinfo/technical-board > ---------- -- Gruesse/greetings, Reinhard Tartler, KeyID 945348A4 -- technical-board mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/technical-board
