Reconsidering ffmpeg in Debian
Reconsidering ffmpeg in Debian
Posted Aug 6, 2014 11:51 UTC (Wed) by rsidd (subscriber, #2582)Parent article: Reconsidering ffmpeg in Debian
Forks are all very well, but what I dislike is this sort of message when I type "ffmpeg" in debian/ubuntu:
ffmpeg version 0.8.9-6:0.8.9-0ubuntu0.13.10.1, Copyright (c) 2000-2013 the Libav developers built on Nov 9 2013 19:09:46 with gcc 4.8.1 *** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.Suggesting that ffmpeg is deprecated/unmaintained, rather than leading a separate existence independent of the libav developers, is just sneaky.
Posted Aug 6, 2014 13:27 UTC (Wed)
by DonDiego (guest, #24141)
[Link] (15 responses)
Posted Aug 6, 2014 20:45 UTC (Wed)
by ldarby (guest, #41318)
[Link] (1 responses)
cdrecord -scanbus
Posted Aug 7, 2014 4:08 UTC (Thu)
by rsidd (subscriber, #2582)
[Link]
Posted Aug 7, 2014 4:07 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (12 responses)
Posted Aug 7, 2014 14:38 UTC (Thu)
by DonDiego (guest, #24141)
[Link] (11 responses)
FFmpeg merged all those changes and subsequently decided to take the new core and rename it back to the old name, dropping the compatibility wrapper. So there really are two avconv tools now, under two different names, from two different projects.
Why people get so worked up about a deprecation warning is beyond me. None of us care what the FFmpeg projects calls their command line tools. avconv(ert) is a more descriptive name IMO, but FFmpeg can certainly choose whatever name they prefer. It would be nice if we were granted that same freedom of renaming the tools we ship, doubly nice if we could add compatibility wrappers under the old name(s) to ease the transition for our users.
We don't make statements about the FFmpeg project in the output of our command line programs. If an FFmpeg developer constructs the output as "lies" about the FFmpeg project, well, I cannot help it.
There are two projects that both see themselves as the legitimate successor of the FFmpeg project from before the split. Both have had a command line tool called "ffmpeg" for multiple releases. Why we are not allowed to rename ours (and ship a wrapper) is beyond me. It is also beyond me why we should have to mention that our version is not from them. Yes, this Coca Cola was not produced by Pepsi. Their ffmpeg tool does not say "this is a renamed version of the avconv tool from libav" either.
Since you seem to consider this renaming charade so offensive maybe you should also go look at the other side: If you go to the FFmpeg download page at http://www.ffmpeg.org/download.html you will see news about releases that include the names and versions of included libraries. Conspicuously missing from that list is libavresample, which FFmpeg also ships but which originated in the libav project. There is a report in FFmpeg's issue tracker about the missing library version on the download page: https://trac.ffmpeg.org/ticket/3774 - the response is that libavresample is "unmaintained" and "should not be used". libavresample is very much maintained, just not by FFmpeg. Why should it not be used? Maybe because programs using libswresample instead become incompatible with libav?
So, what do you call that?
Posted Aug 7, 2014 15:45 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (6 responses)
It is not normal to do that when the unforked program with the same name still exists. It is as if LibreOffice forked OpenOffice (for perfectly good reasons), kept around the "ooffice" binary (again for perfectly good reasons of compatibility), but if you typed "ooffice", warned that OpenOffice was "deprecated" -- even though Apache OpenOffice was alive and well and making releases, despite admittedly being dormant earlier. Or maybe you don't see that as a problem.
Since you bring up that analogy (and ignoring questions of trademarks) -- it is as if Pepsi forked from Coca Cola, produced a "similar" product called Coca Cola for a while, and then told people who asked for coke that "Coca Cola is deprecated and will be removed in the future".
First, if other people act like jerks that doesn't mean you need to act like one. Second, ffmpeg (unlike libavsample) is meant to be used by end-users and it is unlikely that end-users will see the message you quote on the issue tracker page.
Posted Aug 7, 2014 16:16 UTC (Thu)
by DonDiego (guest, #24141)
[Link] (5 responses)
> It is not normal to do that when the unforked program with the same name still exists. It is as if LibreOffice forked OpenOffice (for perfectly good reasons), kept around the "ooffice" binary (again for perfectly good reasons of compatibility), but if you typed "ooffice", warned that OpenOffice was "deprecated" -- even though Apache OpenOffice was alive and well and making releases, despite admittedly being dormant earlier.
The program printed a deprecation message because the command line syntax changed, scripts might need to get updated, etc. This was not a case of just symlinking the two names.
Why do keep insisting that a simple heads-up message to users was done out of malice to spite a competing project?
Also note that "ffmpeg" (lowercase, command line program) is not equal to "FFmpeg" (mixed case, project name). While this might seem silly and inconsequential to you, nobody in either community confuses the two names.
> > Yes, this Coca Cola was not produced by Pepsi.
> Since you bring up that analogy (and ignoring questions of trademarks) -- it is as if Pepsi forked from Coca Cola, produced a "similar" product called Coca Cola for a while, and then told people who asked for coke that "Coca Cola is deprecated and will be removed in the future".
You argue from the asssumption that one of the two sides of the split is the original and the other is the fork. This is not the case here. Both sides claim to be the legitimate successors of the original FFmpeg project. Who forked who is very much disputed.
> > maybe you should also go look at the other side [libavresample]
> First, if other people act like jerks that doesn't mean you need to act like one.
Of course not, but you act as if one side is misbehaving here while the other side is not.
> Second, ffmpeg (unlike libavsample) is meant to be used by end-users and it is unlikely that end-users will see the message you quote on the issue tracker page.
So telling users that they may need to adapt to a new tool syntax is not OK, but telling developers that a library is unmaintained and should not be used is OK?
Posted Aug 7, 2014 22:16 UTC (Thu)
by ldarby (guest, #41318)
[Link] (4 responses)
Because that's precisely what it looks like to people outside your community.
Posted Aug 7, 2014 22:37 UTC (Thu)
by DonDiego (guest, #24141)
[Link] (3 responses)
> Because that's precisely what it looks like to people outside your community.
Well, appearances can be deceiving.
Posted Aug 8, 2014 17:52 UTC (Fri)
by flussence (guest, #85566)
[Link] (2 responses)
In this version of reality it would be a no-brainer to just quietly remove the offending message than to continue trying to justify it with increasingly ridiculous excuses. The damage to libav's reputation stops, new users turning to Google for a straight answer don't have to inadvertently discover that one Ubuntu bug or the entire bloody history of the libav project's existence. The project wouldn't even need to issue a public apology for causing confusion over this; people would just forget after a while.
But those are pretty huge and baseless assumptions, I'll admit.
Posted Aug 8, 2014 21:21 UTC (Fri)
by DonDiego (guest, #24141)
[Link] (1 responses)
I'll be glad to hear your alternative wording suggestions. Make it express that the ffmpeg command line program has been deprecated in favor of the avconv command line program due to incompatible command line syntax improvements.
Posted Aug 8, 2014 21:24 UTC (Fri)
by mpr22 (subscriber, #60784)
[Link]
Posted Aug 7, 2014 16:51 UTC (Thu)
by ux (guest, #98231)
[Link] (3 responses)
FFmpeg merged avconv changes in his main tool called "ffmpeg" from the beginning. But ffmpeg also has a compatiblity layer for the old options, see opt_old2new() in ffmpeg_opt.c.
> Why people get so worked up about a deprecation warning is beyond me. None of us care what the FFmpeg projects calls their command line tools.
You suddenly seems to forget that Libav was (is?) packaged for years in debian under the package name "ffmpeg", and thus was suggesting the FFmpeg project was renamed (which is actually what the original post on lwn said).
FFmpeg didn't get renamed but continued being developed, and thus didn't renamed its main tool nor its libraries.
Libav is another new project, and kept the tool name for a while, and still has the same library names thanks to the confusing name of "Libav".
> There is a report in FFmpeg's issue tracker about the missing library version on the download page: https://trac.ffmpeg.org/ticket/3774 - the response is that libavresample is "unmaintained" and "should not be used".
Comment from Carl Eugen "fixed" in https://trac.ffmpeg.org/ticket/3774#comment:7
Sorry about that.
Posted Aug 7, 2014 17:08 UTC (Thu)
by DonDiego (guest, #24141)
[Link] (2 responses)
> FFmpeg didn't get renamed but continued being developed, and thus didn't renamed its main tool nor its libraries.
You derive all the legitimacy of calling yourself the real FFmpeg project from somehow having got ahold of the domain name. There are two projects now, both of which see themselves as legitimate successors of the FFmpeg that was there before. Either both should have a claim to the title or none should. One side says it's a fork, the other a rename.
Complaining about this is just disingenuous. Pot, kettle, black...
Posted Aug 7, 2014 17:35 UTC (Thu)
by ux (guest, #98231)
[Link] (1 responses)
The name of the project didn't change and continued its development under the same name, with less developers. Libav is a new project, with a new name, and thus should just assume its fork status. Note that there is absolutely nothing wrong about forking when it's done properly.
Actually, this is from https://libav.org/about.html:
> Later we have learned that the FFmpeg founder, who owns the domain, still favors the now-demoted project leader. We of course respect his opinion, which convinced us to fork "properly" under the name Libav
There is no point in arguying here that Libav is the original project since your official page states that it's a fork.
Posted Aug 7, 2014 17:43 UTC (Thu)
by DonDiego (guest, #24141)
[Link]
Posted Aug 7, 2014 11:33 UTC (Thu)
by akka (guest, #98110)
[Link]
command line tool deprecations
command line tool deprecations
Cdrecord-Clone 2.01-dvd (i686-pc-linux-gnu) Copyright (C) 1995-2004 Jörg
Schilling
Note: This version is an unofficial (modified) version with DVD support
Note: and therefore may have bugs that are not present in the original.
Note: Please send bug reports or support requests to
...
Note: The author of cdrecord should not be bothered with problems in
this version.
scsidev: 'ATA:'
devname: 'ATA'
scsibus: -1 target: -1 lun: -1
Warning: Using badly designed ATAPI via /dev/hd* interface.
command line tool deprecations
There is very much a non-deprecated ffmpeg command line tool, it's just not from the libav project. If it had said "this ffmpeg command is not from the ffmpeg project, was provided by libav for compatibility, and is deprecated", that would be accurate. What it says is -- well, I said sneaky, but Siosm's link above calls it "a very destructive lie". Call it what you like, it's not nice.
command line tool deprecations
command line tool deprecations
command line tool deprecations
Libav moved to an incompatible command line syntax but kept a wrapper tool with the old syntax and the old name for a transition period. It is perfectly normal for such a compatibility wrapper to warn that its availability into the future is limited and what its replacement is.
Yes, this Coca Cola was not produced by Pepsi.
maybe you should also go look at the other side [libavresample]
command line tool deprecations
command line tool deprecations
command line tool deprecations
command line tool deprecations
command line tool deprecations
I think "The ffmpeg command line program has been deprecated in favor of the avconv command line program due to incompatible command line syntax improvements.", with no obnoxious shouty caps, expresses that concept very well.
command line tool deprecations
command line tool deprecations
command line tool deprecations
command line tool deprecations
command line tool deprecations
Reconsidering ffmpeg in Debian