[FFmpeg-devel] Preliminary announcement about the current situation

Rob robert.swain
Thu Jan 20 12:46:14 CET 2011

On 20 January 2011 04:53, Michael Niedermayer <michaelni at gmx.at> wrote:
> On Wed, Jan 19, 2011 at 01:12:54PM +0100, Michael Niedermayer wrote:
>> On Wed, Jan 19, 2011 at 12:54:48PM +0100, Herv? W. wrote:
>> > On 19/01/2011, Michael Niedermayer <michaelni at gmx.at> wrote:
> [...]
>> > > Of course its their full right to fork if they see the need for that but
>> > > thats
>> > > not exactly what they did.
>> > >
>> > > And that I and everyone i spoke with dont even know the reason behind this
>> > > move
>> >
>> > Have you asked any of the undersigned of "[FFmpeg-devel] [ANNOUNCE]
>> > New FFmpeg maintainership" ?
>> maybe not but they surely have seen me asking here in public and can awnser
>> here
> Apparently not a single developer who signed this feels the need to say why.
> They are all subscribed and all have read this
> I guess i did not spend enough years of my life working on ffmpeg to deserve
> an awnser

Firstly I would like to say that I sincerely regret the way this was
conducted in the end. During discussions I was concerned about
presenting the opposition in a dignified and respectful manner,
maintaining due consideration and respect for others. Somewhere along
the way I allowed myself to be blinded by the momentum of the proposed
changes and neglected pushing for the final announcement to be a
proposal for changes rather than an assumption of power. I am
responsible for lending my support to this process and I'm
disappointed in myself that I allowed that compromise to get through.

Nevertheless, I thoroughly support the end goals of the change. As
stated by others, FFmpeg is _not_ MPlayer. I used to follow MPlayer
development quite closely and it's where I started out in my
development path really. These days I am not interested in the project
at all and don't follow its mailing lists. Why? Because it ceased
being fun and all the really interesting and original stuff was being
done, and done right, in FFmpeg. MPlayer was a never-ending flame war,
it felt very negative and stale and I was just waiting for FFmpeg to
supersede it.

Why is any of that relevant as it is about MPlayer and MPlayer is not
FFmpeg? Events over the past months and even years in FFmpeg were
tending to the same end. Endless flame wars, alienation of very
significant and productive developers who were not even ignoring the
project rules and policies, lack of progression in areas that really
need it and the whole project was progressing very slowly due to
significant contributions taking far too long to get into the main
repository. The development environment has not been so positive nor
productive for active developers.

That's not to mention that the environment is not welcoming to new
contributors at all. I believe that rather than forcing contributors
to make perfect contributions from the outset, they could be asked to
work on significant weaknesses in contributions themselves but for
something that is a small change and quick to do for someone who knows
how it should be done, the contributor should rather be informed of
the errors they made and the maintainer should make the necessary
edits and commit. The point is to _encourage_ new developers, not
force them to adhere to all our rules immediately.

Consider you're making an initial contribution to a software project.
You've had a relatively small idea for a change and implemented it or
encountered a bug and fixed it. You make your contribution by sending
a patch to the developer mailing list...

A. Your patch goes through 2 rounds of review and you make changes
according to the reviews given. The reviewer tells you of some more
minor things you need to change in future but they have done them for
you this time and they thank you for your contribution.

B. Despite being a small change, there are lots of minor issues you
have to address and your change is going through review after review
after review. Eventually it gets to a point where the reviewer is
happy that it is committable and it gets committed. The patch went
through 10 or more rounds of review.

In each case, how motivated do you feel to start work on another
contribution? Situation A is contrived. Situation B I have seen many
times within FFmpeg.

Then we come to significant work on the core to make it simpler,
cleaner, more flexible and maintainable. Anyone who goes near
MpegEncContext comes back with bleeding eyes and a headache.
AVCodecContext is very large, albeit pretty well documented in the
header. libswscale may be fast but it's horrible to look at and work
with despite repeated attempts to improve it.

When people want to work on such core stuff they really need support
and encouragement. Working on such difficult core constructs is
draining in and of itself without being met with resistance,
nit-picking and flaming. For the sake of progress rather than
stagnation, sometimes a good solution can be a step in the right
direction rather than waiting for a perfect solution.

FFmpeg still doesn't have ffmpeg-mt merged, it doesn't have audio
channel mixing code, the above-mentioned stuff is a mess,
documentation is lacking, the bug tracker and website live in the dark
ages and documentation is significantly lacking. I lent my support to
the goals of the 'new team' because I believe that they are better
equipped between them to provide a professional, productive
environment that allows and even encourages progress in the areas that
really need it rather than holding it back due to endless minor

Perhaps I had some more thoughts but this email is getting very long
already so I will finish with this - ultimately I respect and
appreciate all that you, Michael, have done for the project. However,
I do not believe you are a leader as I do not believe you offer
significant high-level direction to the project - that is, you were in
the driving seat but where were you driving us?

It is not for me to decide what you do, but I think many would
appreciate if you coded much more and reviewed much less. I have the
perception that you felt a lot of pressure and responsibility for
reviewing contributions. Not many others did it and certainly not to
the extent you did. Trying to review close to every contribution to
FFmpeg as just one man is too much. I think you and the project would
benefit from you writing code rather than reviewing and exerting your
levels of optimisation on all contributions.

I sincerely hope that this change, while not enacted in a gracious
way, will give you the chance to take some very well-earned breaths of
fresh air, let go of some tension due to the load you took on for the
project and grant you the space to think of some interesting and
useful things you can work on, most importantly for your own
gratification as well as that of the project.

Best regards,

More information about the ffmpeg-devel mailing list