I agree with most of what Patrik is saying. With one major difference, The deviations file needs to be signed because it is a security issue.
And once you sign the file, the next question is... by whom.
I would much rather eliminate unnecessary trust dependencies than perpetuate them.
Use of time zones at the protocol level is generally an option. XML Schema uses UTC. Most implementations of IETF protocols use either UTC or UTC with a numeric offset.
So it is an issue but mostly a UI issue rather than a security issue. It is still necessary to have a signed table of the expected changes though because agreeing to meet once a week at 10:00 London Time is not the same as agreeing to meet once a week at 10:00 UTC+0 due to the fact that there will be summer time half the year. A person in New York may attend meetings in London and so the adjustments need to be known globally.
Contrary to what the calendar people tell me, these issues are not 'difficult'. What is difficult is using programs that make unfounded assumptions about the adjustments to apply rather than letting these be set by the user.
On Tue, Jan 3, 2017 at 1:29 AM, Patrik Fältström <paf@xxxxxxxxxx> wrote:
There are a number of complicating factors here. One being that we have multiple time scales. Another being that parties do believe things are what they really are.
The main issue with smearing is that UNIX time is really not counting number of seconds from the epoch, which might be what people think. If it was, smearing would not be a good thing as the number of seconds from the epoch ends up being one less due to the smear than the continuous series of SI-Seconds. The number of seconds is guessing that each day have the same number of seconds. So leap seconds are ignored.
Instead the goal with the smear is only to be correct according to UTC.
A correct implementation would of course be to have the number of seconds from Jan 1 1970 be correct, and then a correct translation to UTC. Which requires (both) knowledge of the number of leap seconds -- which you only know for each 6 month interval (sort of). So one do not know the translation between number of seconds since epoch and UTC if you look say 3 years forward in time.
I think personally, as long as we do have leap seconds:
- we should have the leap second information available somewhere in clear machine readable format. Some suggestions exists, including encoding it in A-records in DNS ;-)
- we should look at having the time since epoch really be the number of SI-seconds since the epoch
- we should have translation between number of seconds and UTC take leap seconds into account
- we should fix the code that do not accept 61 seconds in a minute
Now, we can also say we should stop having leap seconds, but I feel that is a _different_ matter and different discussion. I am myself not clear over what is the correct thing regarding leap seconds.
What I am sure of is that I think most of the problems we have is because of bad programming (including in old UNIX days the priorities although correct at the time have continued to let the time_t definition continue to be wrong).
Patrik