|
|
Subscribe / Log in / New account

command line tool deprecations

command line tool deprecations

Posted Aug 7, 2014 14:38 UTC (Thu) by DonDiego (guest, #24141)
In reply to: command line tool deprecations by rsidd
Parent article: Reconsidering ffmpeg in Debian

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.

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?


to post comments

command line tool deprecations

Posted Aug 7, 2014 15:45 UTC (Thu) by rsidd (subscriber, #2582) [Link] (6 responses)

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.

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.

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".

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. 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.

command line tool deprecations

Posted Aug 7, 2014 16:16 UTC (Thu) by DonDiego (guest, #24141) [Link] (5 responses)

> > 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.

> 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?

command line tool deprecations

Posted Aug 7, 2014 22:16 UTC (Thu) by ldarby (guest, #41318) [Link] (4 responses)

> Why do keep insisting that a simple heads-up message to users was done out of malice to spite a competing project?

Because that's precisely what it looks like to people outside your community.

command line tool deprecations

Posted Aug 7, 2014 22:37 UTC (Thu) by DonDiego (guest, #24141) [Link] (3 responses)

> > Why do keep insisting that a simple heads-up message to users was done out of malice to spite a competing project?

> Because that's precisely what it looks like to people outside your community.

Well, appearances can be deceiving.

command line tool deprecations

Posted Aug 8, 2014 17:52 UTC (Fri) by flussence (guest, #85566) [Link] (2 responses)

Let's assume the message in question wasn't written out of passive-aggressive spite, which is how most onlookers appear to have interpreted it. Let's also assume that libav doesn't want to join AOO and Xfree86 in the "how not to do PR" history book.

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.

command line tool deprecations

Posted Aug 8, 2014 21:21 UTC (Fri) by DonDiego (guest, #24141) [Link] (1 responses)

The message is long gone along with the compatibility wrapper program. It is only present in a very old release that receives nothing but critical bug fixes every once in a while. The developers only care about Git HEAD.

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.

command line tool deprecations

Posted Aug 8, 2014 21:24 UTC (Fri) by mpr22 (subscriber, #60784) [Link]

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

Posted Aug 7, 2014 16:51 UTC (Thu) by ux (guest, #98231) [Link] (3 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.

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.

command line tool deprecations

Posted Aug 7, 2014 17:08 UTC (Thu) by DonDiego (guest, #24141) [Link] (2 responses)

> 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.

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...

command line tool deprecations

Posted Aug 7, 2014 17:35 UTC (Thu) by ux (guest, #98231) [Link] (1 responses)

> You derive all the legitimacy of calling yourself the real FFmpeg project from somehow having got ahold of the domain name.

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.

command line tool deprecations

Posted Aug 7, 2014 17:43 UTC (Thu) by DonDiego (guest, #24141) [Link]

As I said: both sides disagree and lay claim to being the legitimate successors of the original FFmpeg project.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds