[tz] Proposal to change Macquarie Island to be Australian territory
ietf at lindenbergsoftware.com
Mon Apr 22 17:19:01 UTC 2013
On Apr 18, 2013, at 10:58 , Guy Harris wrote:
> On Apr 18, 2013, at 10:02 AM, Norbert Lindenberg <ietf at lindenbergsoftware.com> wrote:
>> To put that more strongly: There are big disadvantages to messing with the identifiers. They are used in numerous protocols and APIs these days, and whenever an identifier is changed, it takes a long time (years in some cases) for software to get updated to understand the new identifier,
> Presumably by "understand" you mean "have a file with the appropriate pathname"; I don't think software should "understand" the identifiers except by using them to construct pathnames of Olson-database files to load - it shouldn't "know" the pathname syntax or "know" what particular values of particular components of the pathname "mean".
No, there are several other ways software may have to "understand" TZ identifiers:
- Libraries such as ICU, the Java runtime, or tz.js repackage the entire tz database, so they need to be updated to map the new time zone name to appropriate data.
- BCP 47 with the Unicode extension (RFC 6067) allows applications to specify time zones as part of BCP 47 language tags, but because of limitations in BCP 47 have to use a different set of names. This requires both client software and the libraries implementing time zone support to have mapping tables between TZ identifiers and the shorter names used in language tags. These mapping tables have to be updated.
- Standards such as the ECMAScript Internationalization API Specification require validation of time zone identifiers to prevent non-standard identifiers that implementations may support internally to be exposed in the standard interface. The validation in implementations of such standards needs to be updated.
- Locale data collections such as CLDR provide localized names for TZ identifiers. They need to be updated to either map the new name to existing localized names or possibly add new localized names to match an intended change in meaning.
And then you have the distribution problem: Locale data gets bundled into libraries, which get bundled into applications, which get bundled into operating system distributions, which get bundled with hardware. Sometimes there are good mechanism to update all this stuff during the lifetime of the complete system, but sometimes there's not. Many cell phones never receive OS updates.
More information about the tz