On 2017-12-09 14:00, Mark Davis ☕️ wrote:
I'm not quite sure what the motivation for such a potentially destabilizing change its. If the only purpose is to call one of the two times "Irish Standard Time" and the other "GMT", then that seems a simple matter of changing the naming, not other changes to the data.
I think you raise an important point here. The proposal at hand has as its (only observable) effect that the dst bit is set to 1 during Irish winter time (UTC), and 0 during Irish standard time (UTC + 01 h). Taken together with all the other cases (where the dst bit value 1 indicates daylight saving or summer time as opposed to standard time) this implies that the semantics of the dst bit would be: The dst bit is set to 1 while the time scale differs from what is considered to be standard time for the time zone, such as when daylight saving time or summer time is used. That is a perfectLy possible semantics -- but it just is not the semantics currently described with the tzdb releases. In fact, the current description conforms with the tm_isdst bit defined in the international standards for the C language and for POSIX from 1989 until today for the tm_isdst member of struct tm: The value of tm_isdst shall be positive if Daylight Savings Time is in effect, 0 if Daylight Savings Time is not in effect, and negative if the information is not available." (Note the spurious s after saving!) For instance, in newctime we read: Tm_isdst is non-zero if summer time is in effect. Thus, the current definition of the dst bit of a time zone time scale appears to be: The dst bit is set to 1 while the time scale represents daylight saving time or summer time. Of course one can change the current definition -- but in this case we should make an explicit decision to do so, after considering all the effects of such a change, and we also should make sure that the change is consistently documented in all the interfaces specified by tzdb. This is a design question, not just the question of whether a particular patch is OK. Michael Deckers.