I've been lurking on this list for a few months now. About 15 years ago I was playing with NTP on 4.3 BSD unix.
I remember thinking then that Posix was making a serious error in specifiying that the time_t returned by time() or in the .tv_sec field of the structure returned by gettimeofday() would contain UTC. TAI would have seemed to be the better choice. I suggested in e-mail to David Mills that NTP should have been built around TAI, not UTC. He did not disagree with me but pointed out that there were no broadcast sources that he could get TAI from, so the choice of UTC was forced upon him. I still think TAI would have been the better choice, and would be the better choice going forward. But existing practice is slow to change, and not easy to change. I think what happened 33 or so years ago is that we went from having a single time scale (GMT) to having multiple time scales (UTC and TAI). What should happen (and what should have happened) is that both time scales should be distributed, side by side, requiring those who need to know what time it is to make a choice about which kind of time scale they wish to have. There's no use pretending that we don't have two time scales. We can argue forever about which should be the prefered "normal" time scale. But regardless of who wins that argument, the losing time scale will not cease to exist. The discussion on this list has been enlightening. I now see that no solution will be simple. But in my mind, the ideal would be if every system that distributes time (e.g. WWV, WWVB, GPS, NTP, etc...) would convey what time it is UTC, what time it is TAI, and what the entire table of leap seconds is (or the 200 or so most recent leap seconds). And systems downstream should try hard not to throw away any of the information, and pass all of it along to whoever gets time from them. I think much of the trouble we are in now is because we have not embraced this notion that there are two timescales involved here. But since 1972 there are two. Neither single timescale will be suitable for all uses. So both are needed. Systems that have any claim to general-puruposefulness need to carry both, along with information about what leap seconds have been and will be inserted. If the bundle of information you got that told you what time it is also told you what leap seconds have been and will be inserted, then all would be OK. Then 6 months would be plenty of warning for pending leap seconds because very few devices are capable of keeping time with 150 ppb accuracy over 6 months running open loop. The mistake is to distribute time without distributing both scales (UTC and TAI) and a table of historical and pending leap seconds. So that's all ideal. But we're in a mess now. Is it reasonable to hope we may be able to somehow get to the ideal I've described? In maybe 10 or 15 years? It seems what is needed most is education. -Tim Shepard [EMAIL PROTECTED]