[tz] Announcing global-tz - 2022ag (beta)

Stephen Colebourne scolebourne at joda.org
Fri Mar 18 16:00:54 UTC 2022


As regular readers of this list will be aware, there is a long-running
dispute about the contents of the IANA time-zone database. (See the
list history for details on the dispute).

As previously discussed, and given the unwillingness of the
tz-coordinator to alter his opinion in any way, it is unfortunately
the case that a fork of tzdb is required. I have created such a fork,
one that is intended to be as directly derivable from iana-tz as
possible so that iana-tz itself can still be the golden source for the
raw data.

 https://github.com/JodaOrg/global-tz

The basic rules guiding the data that global-tz includes are:
* An identifier for each region of the world where clocks have
differed since 1970-01-01.
* At least one identifier for each inhabited ISO 3166-1 code.
* For these identifiers the data returned shall be the best available,
including pre-1970 history.


The first release of the fork is 2022ag-beta1, which will become the
final 2022ag release tomorrow if there are no major issues or
objections.

 https://github.com/JodaOrg/global-tz/releases/tag/2022ag-beta1


The approach taken is to copy data from backzone and put it back into
the main files. This recreates tzdb as it would have been had the
damaging changes since 2014 not been made. The process is *automated*.
A GitHub Action script runs a few times a day that reads the iana-tz
repo and runs a script that moves data from backzone to the
appropriate main file. The result is an iana-tz compatible source code
repo:

Output tzdb source files:
 https://github.com/JodaOrg/global-tz/tree/global-tz

Comparison between iana-tz and global-tz:
 https://github.com/JodaOrg/global-tz/compare/iana-tz...global-tz

Genaration script:
 https://github.com/JodaOrg/global-tz/blob/main/actions.txt
 https://github.com/JodaOrg/global-tz/blob/main/GlobalTzMain.java

The only maintenance that the fork should need is if iana-tz removes
further pre-1970 history.


Downstream consumers should be able to take the generated source code
(either from the global-tz branch or the released tar.gz file) and
consume it as they would have consumed an iana-tz release. Joda-Time
and threeTen-Backport will be using global-tz going forward.

Please can I ask anyone that is interested to test out the
2022ag-beta1 release before I make it final. PRs / Issues are welcome,
provided they relate to aspects under the control of global-tz.

thanks
Stephen


More information about the tz mailing list