Libav and ffmpeg situation
my view of the current libav vs ffmpeg situation. august 2014.
the problems in reuniting our projects are many including technical and personal reasons. here i will attempt to list the problems , maybe someone can solve them?
this is just my idea of the problems in the projects. i could be 100% wrong. i am not speaking as represenative of anyone else but myself.
- some devs will not work together.
- some of these devs have already left (mans, baptiste). more may leave if the projects are merged.
- some devs will work together but not on any servers controlled by the other group.
- has to be neutral 3rd party ground.
- this also probably means that the admin with the final say in arguments has to be 3rd party as well.
- libav and ffmpeg commit rights and developer rules differ.
- in libav its maintainers who are able to commit and in ffmpeg its all contributors (of whom have figured out how to use git).
ideas for reuniting projects
- corporate/sponsored (google/facebook etc) takeover of the project. with a group of developers committed to working on lav* full time.
- with full time employees working on the project, they could take over a lot of administrative tasks, thus freeing developers up from being public relation, upstream / downstream packagers, bug testers etc.
- a combined fork of ffmpeg and libav. combining the best parts of both projects. forcing developers from both projects to join the more successful third fork.
- a combined unified codebase would entice software packages to use it for more stable api.
things the projects are doing to help reunite
- ffmpeg has opened commit write access to all contributors and has offered any dev to work on #ffmpeg. no contributors or developers are banned.
- libav has offered for any developer to work on libav, including michael nidermayer. michael is currently banned from the libav mailing list and irc channel, so libav is asking someone to submit patches from michael for inclusion into libav.
things you can do to help reunite
- act as patch liason between the projects.
- some developers in both projects have refused to even talk to each other. you will have to take git commits and test compile them against libav.
- since ffmpeg is merging a lot of commits from libav, most of this job is going to be sending commit patches from ffmpeg to the libav mailing list.
- work out api or other code differences between the projects. the code differs in a few places, patches to unify the code may help.
arguments against reuniting
the projects have been more productive, less fighting/trolling and have better morale. you dont see a patch thats been rejected and fixed 47 times on either mailing list now. with relaxed commits in ffmpeg, ffmpeg has been able to merge new features at amazing speed.
this increased speed has encouraged more developers to contribute to the projects. as well as include ffmpeg in more toolchains because changes could be applied quickly. this is also the case with corporate or professional contributions such as MIPS, google, nvidia, mozilla and more who have contributed code. some of this professional code was written years ago and some was even rejected previously.
different projects with different goals.
libav and ffmpeg may have different goals. is ffmpeg's goal to be the fastest and support the most formats and feathres? is libav's goal to have clean code without hacks and to fix old api because of design restraints and limitations?