[tz] tzdb timezone names/identifiers and links

Paul.Koning at dell.com Paul.Koning at dell.com
Tue Feb 26 20:00:54 UTC 2019

> On Feb 26, 2019, at 2:49 PM, Fred Gleason <fredg at paravelsystems.com> wrote:
> ...
> My basic take is this: civil timekeeping is quite complex enough as it
> is, without the arbitrary interposition of yet more layers of
> indirection in the zone indexing. In many (perhaps most?) applications,
> such indirection may be a necessary evil. However, anything that
> increases the overall global complexity of a system imposes a 'tax' of
> its own (both in system resources and in the ease with which the system
> can be modeled and understood in a programmers head). It's well to
> consider this cost in the overall context of the intended use case,
> platform capabilities and intended user audience. To issue a
> categorical imperative like 'tzdb identifiers should *never* be shown
> to users' is to short-circuit this entire delicate design process of
> weighing tradeoffs.

I see it the opposite way.  Layered architectures exist everywhere, and for very good reasons. 

In the case of tzdb, the usual computer science arguments apply.  In addition, political considerations are an additional reason for layering.  We already have plenty of discussion relating to what countries are, where boundaries are, whether a particular spot on the map is illegally occupied and by whom, and so forth.  Those can be dismissed as "out of scope" because tzdb only concerns itself with abstractions: subsets of the world that share a set of time offset rules starting from 1970.  What relationship those abstractions have with countries, provinces, occupied territories, or whatnot, isn't our concern.

A key consequence is that the identifiers are not, weren't intended to be, and must not be used as, human UI identifiers.  That IS a categorical rule.  It is ignored by a number of software products, but that would be their bug, not ours.  We really do not want to add to our scope extraneous and contentious issues like "what is a country", "which country does town xyz belong to", "is region foo illegally occupied by armed forces from country bar" and so forth, all of which would become questions to be answered if we were to attempt to define user-meaningful identifiers.

Once in a while it is suggested that all tzdb zones should be identified by random unique integers, or something like that.  I'm more and more inclined to think that's a good idea, because it would once and for all shut down this confusion.


More information about the tz mailing list