
One thing to note is that there's some possibility that distributions will be reluctant to deploy the (large) tzdata.zi file /just/ to have an official place where the version is deployed. I would really like it if a separate version.zi file were deployed alongside tzdata.zi that /just/ contains the version information. One option is to have the version.zi be a little richer than an empty file with a version string, it could be a key-value store like: base_data_version: 2018c tzcode_version: 2018c Presumably a key for whether the files were generated from the rearguard file would also be useful. On 07/23/2018 09:36 AM, Lester Caine wrote:
OK I am back in the office now with a decent email client ;)
On 20/07/18 00:40, Paul Eggert wrote:
Robert Elz wrote:
I have more than doubts, I am convinced that the entire thing is misguided, and that (with the one exception of curiosity value, the ability of an application to tell people which version data it is using) there is no good use of this data
Yes, that's the only good use I can think of as well. That is, the version string is more for diagnosing obsolete or misconfigured systems than for use in ordinary computation. That being said, configuration is of growing importance in software engineering, and I hope that the version comment in tzdata.zi is enough to satisfy needs in this area.
The simple question that the provision of a version number allows one to answer is "what version of tz data was used to create the material being published". Since we can't rely on just which version a client machine IS using, there has to be some way to identify just what WAS used, even if that requires the site ALSO providing it's own copy of the tz rules used! Calendars for international meetings are produced perhaps two or three years in advance, so it is quite possible that in the intervening time some element of normalised data will change, and at the very least the organisers need to be aware of the problems created. THEY at least need to be able to 'un-normalise' using the original rules and then establish where cross timezone events have now been 'broken'. Assuming the diary will still work with the data the OS is providing simply does not work.
With TZDIST the version info is best done via ETags, and this should work with TZif files so that clients can easily see whether they're up-to-date and get a new version if not. See Internet RFC 7808 section 4.1.4 along with:
ETags ONLY work for the person who originally normalised the data! Other users need to know what version of tz data to ask for to go with the diary they are reading and that may not be the 'current' tz data so if tzdist is to be of any use, it needs to provide the requested rule set. Something that ETags does nothing to support. In practice the publisher of the data may not even be using TZ at all, so in addition to the version, the creator of the diary would probably have to publish the the source of the tzdist feed they are using ...
Note ... none of the above even touches on pre-1970 variations in the raw data, but fixing the problem for current data will allow that data to be viewed in 30 or 50 years time without having to worry about changes in the meantime.