On 4 October 2014 01:04, <random832@fastmail.us> wrote:
On Thu, Oct 2, 2014, at 19:34, Stephen Colebourne wrote:
This issue occurs because Joda-Time normalises all aliases to the actual zone as per TZDB data.
Why? Tzcode doesn't, and for a long time zic hardlinked them. The distinction between an alias and the "actual zone" is therefore clearly not designed to be significant or user-visible.
The key point to remember is that Joda-Time has been running for many years and has striven very hard to retain backwards compatibility. Converting aliases to their underlying zone has worked well over many years, and is far from an unreasonable approach, as it reduces the effect of older zones such as US-Pacific. Unfortunately, the extent of the use of aliases has been massively expanded by the current tzdb maintainer. As such, there are now effectively two kinds of alias, ones in the main files and ones in the backward file. Despite the fact that they look the same in the file format, they have been changed to have different meanings.
From Joda-Time's perspective it is a no-win. If I leave it as is users will complain that they can no longer get an ID for their country (a backwards incompatible change). If I stop mapping aliases to underlying for files other than backward its also an incompatible change. (Perhaps you can tell, I have high standards of compatibility...).
Once again, I remind everyone that the tzdb data is now used far far beyond the C programs supplied by this project. It is wrong to assume that everyone uses the data in the same way. Stephen