[LEAPSECS] Time math libraries, UTC to TAI

Warner Losh imp at bsdimp.com
Mon Dec 26 21:55:26 EST 2016


On Sun, Dec 25, 2016 at 9:50 PM, John Sauter
<John_Sauter at systemeyescomputerstore.com> wrote:
> On Sun, 2016-12-25 at 19:37 -0700, Warner Losh wrote:
>> > I agree that POSIX defines its own time scale for time_t, but that
>> > is
>> > not how it is being used.  Everyone sets their computer’s clock to
>> > UTC,
>> > no matter what the standard says, and no matter how many seconds
>> > have
>> > passed since 1970-01-01T00:00:00Z.
>>
>> I think that POSIX has de-facto redefined UTC, and it's time that the
>> UTC standard catch up to this quiet revolution. Standards are
>> important, but UTC isn't sacrosanct, nor is DUT1 < 0.9s. When they
>> took a pass at defining a model that reflected reality, the
>> pervasiveness of time_t has effectively redefined UTC. It's too late
>> to redefine the standard, or define a new standard to use: that ship
>> sailed sometime in the 80's.
>>
>> Warner
>
> I disagree completely.  I consider UTC superior to POSIX.  It is POSIX
> that must change to conform to UTC, not UTC that must change to conform
> to POSIX.  While it is too late to redefine time_t, it is not too late
> to stop using it in favor of something better, and that something
> better is the tm structure.

I think it has been too late since the 80's (so we're 30 years too
late to fix this problem). There's millions of lines of code written
to POSIX with the mistaken assumption that they are implementing time
correctly. Changing it all, or even a large part of it, is unlikely to
happen. Without changing the broken APIs, introducing new, non-broken
ones won't help: people will still be using the bogus APIs. Since it's
impossible to fix all this code, POSIX has, de-facto, defined what
time is (even though that definition flies in the face of the current
definition). UTC may well be superior to POSIX's notion, but that's
entirely besides the point. It's not better enough that people will be
motivated to fix all this code, especially since public education
about proper (meaning UTC-ly correct) is so lacking. While it might
result in a better world if POSIX were able to change, it isn't. It
can't. Efforts in this area are doomed to fail, alas. However, since
it is a matter of pride for both sides, we'll sadly continue in the
bogus state where we have the side that has the overwhelming weight of
implementation thinking they are right (or at least not wrong), and
the side that knows the math and knows their way is better because it
lacks the flaws of the other guys (but without the mind-share in the
right places to be implemented correctly universally).

That's what I mean that POSIX has de-facto changed UTC. It's not a
value judgement on UTC, per se. The marketplace has effectively voted
with its feet, and change would be too expensive. Sadly, change on
either side is seen as too expensive, so we'll likely continue with
the impedance mismatch until it causes enough major chaos to force a
change.

Warner


More information about the LEAPSECS mailing list