On Fri, 18 Jul 2003, Jack Campin wrote:

[mostly snipped because it was such colorful rhetoric...]

> ...this is such ... Authoritarian

Actually, I have to admit it *is* rather authoritarian of me.  20+ years of
dealing with incompatible and poorly defined computer file formats,
protocols, and APIs tell me that when developing a *standard*, the standard
writers MUST be authoritarian about it.  Strictly so.  Or it will cause
problems down the line.

ABC is *both* a musical notation format, and a computer standard.  At least
according to the docs, and the history of this thing, it developed as a
means of writing tunes in a format that could be understood and printed by a
computer, and that appears to be it's primary purpose.  If you want to write
something that's readable primarily by humans, there are already plenty of
non-computer notations to do it in.

Unfortunately, ABC right now suffers because nobody *has* taken that strict
authoritarian stance -- everyone adds their own little pet additions in 50
zillion incompatible ways, with the result that developing a new parser from
scratch (something I wanted to do...) is nearly impossible because of all
the variations.  Either someone steps in, takes charge, and develops a new,
more restrictive standard, or the format keeps bifurcating into something
more or less useless.

It looks like most of the people on this list are trying to take that step
-- I just wanted to add in something that I've found key in dozens of other
similar cases I've encountered in my career.

Also you seem to be assuming that by creating a strict standard, you lose
any option of adding something special that you need but that isn't covered
by that standard.  Nonsense.  User defined fields are commonplace in most
standards -- there's nothing preventing us from defining something similar,
and I encourage as much.  The key is to define user fields in such a way
that they can be safely ignored by computer programs trying to parse the
file -- that hasn't always been the case with the old ABC, and seems to me
to be the driving reason behind developing an ABC 2.0 standard in the first
place.

And if you could care less if your ABC files are parsable by any computer
program, well, feel free to put in whatever you like.  I'm not stopping you.
The programs will probably complain, toss out the tune, or even crash when
your so called "ABC" files were read, but that's no different than what
exists now, right?

>> If that isn't a strong enough incentive, then it might be a good idea
>> to create a program which converts ABC tunes to ABC2 tunes, and then
>> don't even bother including a parser for pre-ABC2 files in new ABC2
>> compliant tools.
> 
> And the burn-the-past attitude of that paragraph is obscene anti-
> intellectual garbage.  You do NOT alter somebody else's past work
> without their permission or misrepresent your own editing of it as
> being the real thing.

Okay, this one I didn't snip completely, because it *really* annoyed me --
it was arrogant and totally uncalled for.  Okay, so was most of the rest of
the message, but this implies I steal IP, and that's something I feel very
strongly about.

Read what I said, willya?  I did NOT say, or even imply, that we're going to
go willy-nilly converting all the tunes on the web to ABC2 and upload the
new versions as a replacement -- I don't have the authors permission, as you
so very rightly pointed out.  Nor would I consider running everyone's ABC
files through ABC2PS and upload the resulting postscript files for the same
reason.

The presence of a tool to convert ABC to a usable ABC2 file is no different.
The converted tune doesn't have to be kept around after.  I was thinking
very much along the lines of a UNIX filter -- ie. "abc2abc2 old.abc |
abc22pdf" takes your old ABC file converts it to ABC2 format, and from there
to PDF using a new ABC2 to PDF conversion program.  Oh, and before you
complain about *that*, I wouldn't upload the PDF files, either.  Sheesh.

Note that with such a program, there is no need to cleanup old ABC files --
any time you want to use an old ABC file with your new program, you simply
run it through the converter.  The whole idea of this isn't converting old
ABC files, it's making it easier to conform to a standard for NEW ABC files.
I honestly don't think it would be necessary or worthwhile to try to convert
and replace all the existing ABC files on the web once a tool like this
exists.

And it also significantly lowers the bar for entry for people developing new
ABC programs -- you don't have to support the idiosyncrasies that existed
before the new standard.  You could if you really wanted to -- in fact it
would be easy -- just take the abc2abc2 source and stick it in your program
as a preprocessor before your ABC2 parser.  But you don't have to.

-->Steve Bennett

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to