Brian Willoughby wrote: > Why would you release a new version of FLAC if the binary did not > change (on a given platform)?
The version number is attached to the source code not the binary. BSD distros, Linux distros and things like MacPorts have scripts that rely on the md5sum of a given version of the source code tarball to be the same from the time it was released until the end of time. Uploading a new version of the source code with a different md5sum generates manual work for dozens of people around the world and wastes 100s of hours of people's time. It also results in a bunch *users* of systems that compile from source (like *BSD, Gentoo Linux and probably also MacPorts etc) to having install/compile time errors that they don't understand. > The source code is only consumed by the developers. Not true. Anybody who uses FLAC on things like any of the *BSDs or Gentoo linux compiles FLAC from source and expects the md5sum of a given version to be constant. In fact some of these people are not actually developers, but more like sysadmins. > The version > control system should handle "versions" of the source code. For > example, Subversion would assign a new repository version number > every time someone checks in a source code change. That is enough. > There's no need to revise the release version with every developer's > key press. We're talking about different things here. You are talking about revision control versions and I'm talking about official release source code tarballs. > A public release of substantial changes (not whitespace) I would never do a public release that only contained whitespace changes. It causes needless work for package maintainers across the Unix, Linux and Mac ecosystems (probably Windows too). > would require at least a 0.0.1 increment in version number. Agreed. > It would be silly to replicate the command line utility, but you > don't have to replicate it to change its version number, or to allow > the version to digress from the format library version. Having three different version numbers, ie: - Source code version number - libFLAC version number - flac utility version number also creates all sorts of headaches for people doing binary packaging of FLAC for things like Linux, *BSD and Mac. I see this from both sides. I am both an upstream author/maintainer and a packager for Debian. Keeping the version numbers the same across the board makes life easier for a bunch of people who are over worked volunteers with insufficient time. > > > Not to mention the fact that embedded devices > > > without a command line or any other kind of utility won't needlessly > > > see version number changes when the format remains the same. > > > > Not even bug fixes? > > What bugs? Hypothetical bugs. You made a blanket statement that the command line version number should remain the same when the format remain the same. I was refuting that. > > Sorry, but I actually think you have this completely around the wrong > > way. FLAC files can be created without the flac command line utility. > > That suggests that FLAC files should be marked with the *library* > > version that was used to create them. > > The last suggestion on my part was a nod to the folks who want to > define the channel mappings in a way that can be detected by players > when looking at a specific media file. That should depend on the presence or absence of an optional metadata chunk and should not depend on the version number. For instance if we add the channel mapping metadata chunk, it should still be optional after we add it. > The FLAC format (library) does > not need to be modified for this, because FLAC merely holds > independent channels without any care about their order or position > or labeling. Sorry, the software engineer in me says the *only* place to implement this is in the library. Doing it in the library means that using the library is the lowest barrier to use so we don't end up with more than one (possible buggy and/or incompatible) implementations. > But the command line utility might transcode channel mappings from > other formats like WAVE or AIFF. Sure, but when reading or writing the channel mapping from FLAC it should do so using the libFLAC functions provided for that purpose. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ _______________________________________________ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev