random832@fastmail.us wrote:
My thinking is, If it's not going to actually be compatible with current implementations, what's the point of being compatible at all?
Much less change is required to cope with the extended format than would be required to cope with a new format. I'm going to have to make such code changes myself: my tzfile-parsing Perl module will reject '3' for the version byte. (It does so because it wasn't obvious, at version 2, in what manner future changes to the format would be signalled, nor to what extent they'd maintain compatibility. Indeed, along with accepting '3' I'll have to change the way the POSIXish-TZ field is processed.)
I had been thinking about a PNG-like "chunk" structure which would allow implementations to ignore anything they don't understand.
Yes, PNG's chunk system is a good model. More generally, a new format should have a well-defined extension mechanism, letting parsers know which parts they need to understand and letting them skip the inessential parts without understanding them. -zefram