Why I embrace the leap second as a symbol of our imperfect earth, and think tech can find another way.

Clock showing EDT and UTC

In the last week or so, the tech industry has announced, “time is hard, we don’t want to manage to it.” Actually what they have done is attack the concept of the leap second which is designed to keep atomic time (known as UTC) in sync with solar time. A leap second is an adjustment of the “civil” time standard, just like a leap day adjusts the calendar. The earth does not perfectly rotate 24 hours every day, so on occasion a leap second will be added. The last adjustment was in 2017. Here’s what it looked and sounded like, just an extra tick at 23:59:59:

I was first alerted to this discussion on This Week in Google #674 and their takeaway seemed to be, “either way it’s not a big deal.” Adding 1 second in the last 5 years, no big deal to the average person and that seems right in may ways. The discussion was triggered by the tech industry’s view outlined in this Facebook Engineering article titled, It’s time to leave the leap second in the past. The article, as I summarize it, says, “look at all the ways the tech industry has screwed up leap seconds, wouldn’t it be better for us if they went away.”

I encourage you to look at the whole article on the Facebook page, but if you didn’t I have highlighted a couple of their issues and supplemented that with a few counter arguments to big tech’s talking points:

“This periodic adjustment mainly benefits scientists and astronomers”
Doesn’t it really help the community at large? What the leap second does is keep Coordinated Universal Time (UTC) in line with solar time. 12 Noon in UTC is astronomical noon, not 11:59:57 or 12:00:03. The second is a standard measurement, 9,192,631,770 vibrations of the cesium 133 atom. As Wikipedia says, “A unit of time is any particular time interval, used as a standard way of measuring or expressing duration. ” Solar midnight to solar midnight has been the standard for the day for millennia, and it makes sense we would adjust that for the earth’s varied rotation in our time measurement.

” …these days UTC is equally bad for both digital applications and scientists, who often choose TAI or UT1 instead.
I don’t know if I agree that they are equally bad for scientists, but let’s focus on a “civil” day being solar midnight to midnight. UTC maintains accuracy to the solar day.
TAI and UT1 are exactly what the tech companies are arguing for, a time standard that does not incorporate leap seconds. The site Time and Date explains it well. TAI is “International Atomic Time” the synchronization of hundreds of atomic clocks. TAI never adds leap seconds, it is based on continuous counting since January 1, 1958. That means it is 37 seconds different than UTC based on 10 leap seconds added in 1972 and 27 leap seconds since. UT1 is a time standard based on the earths rotation which also has a fixed calculation. Just to be complete, there is also GPS time which started at 0 on January 6, 1980 and counts continuously. It is ahead by 18 seconds.

Here’s a table that shows the differences at Midnight UTC in London

Time StandardTime Indicated at 0:00 UTC
Coordinated Universal Time
(UTC)
00:00:00
(12 Midnight)
GPS Time00:00:18
(12:00:18 AM)
International Atomic Time
(TAI)
00:00:37
(12:00:37 AM)
Solar Time
(UT1 as of 30-Apr-22)
23:59:59.9025
(11:59:59.9025 PM)

Why is this important to the tech industry?
Every time you post on Twitter, make a stock trade or send an email it is time stamped. Every time stamp tells Facebook which post is the newest or the energy plant when to start the generators for the next wave of power distribution. Accurate time IS important, by no doubt.

Does this need a change to leap seconds?
I say no, and here’s why.

1) This is a software problem. It CAN be fixed in code. Having an entire new second show up every 18 months or more can be a hassle, and a random one at that since it’s inconsistent. Google and Amazon already have a solution called the Leap Smear. Instead of adding 1 second at 23:59:59 UTC on June 30 or December 31, they take the whole day to add the second in very small increments of 11.6 PPM. So their time is off of UTC time by no more than the accumulation of this smear across a half day, never more than +/- 0.5 seconds. While doing that, it keeps the standard of Solar Midnight being UTC midnight.

2) The tech giants can use the other time scales. If they desire to have a time standard that always goes forward, never back, and never smeared, they can use the existing TAI or GPS time. There is not a conglomeration of networking for this standard like there is with NTP, but there could be. Major multi-billion revenue tech companies like Google, Amazon, and Facebook absolutely can afford the time and resources to make this their standard.

Let’s look at GPS time as the option. The standard is already in place, floating above our heads and many many places use that tech for time coordination today. I even use it in my own home.

Here’s a screen shot of my NTP server that uses GPS for time synchronization. The time data here is a super accurate standard that costs me less than $100 to add. This clock is accurate to 2^-20 seconds (see precision=-20 above) which equates to about 1/1,000,000 of a second. One-Millionth-of-a-second accuracy, in place today. Basing “server time” or whatever you want to call it on GPS time would probably be trivial because, again, it’s a software change. Do you really know or care if your Instagram post says it was posted at 1:34:18 instead of 1:34:00? Unlikely.

We already have a “leap” standard.
Just like the earth doesn’t quite revolve in exactly 24 hours around it’s axis, it’s doesn’t revolve around the sun every 365 days. It’s more like 365.24 days to make a year. We have a way to handle changes to Earth’s imperfect rotation and it’s called a leap day on a leap year. Just ask all those February 29th babies who should be 40 but claim to be 10.

After all the analysis, here’s my recap.
It’s wonderful that technology is in a place where we can measure time by counting the vibrations of an atom. Our Earth is not actually that precise though, so that imperfection trickles down to our days and years. Our time and date standards are well thought-out to align to the solar changes in both. We should maintain UTC against the solar “civil” day, not the arbitrary day that counts against a cesium atom.

Instead of the tech companies making long term fixes to their software, either by truly creating programming that would support a leap second or switching to a linear standard, they want to take the easy route and change the UTC standard. I believe we should keep the UTC standard aligned with UT1 (solar time) and that requires an occasional adjustment, just like a leap year. The great thing about the internet is it was built to define it’s own standards. If Meta, Google, Amazon, and others find their needs are different they can join together, create an Internet Standard via the RFC process convince their peers to adopt it go to town. That’s why it’s there, so let’s ask the tech companies to focus in their own universe if they need a different standard.

While they consider that, I hope you will join me in embracing the imperfections in our planet and solar system, support leap second and leave UTC alone.

I’m glad to have feedback. Tweet me @n4bfr with your thoughts.


Follow up: 8/2 at 3:20 PM – Found this tweet from @qntm with a tool to use TAI on Unix. Again, it’s a software problem.

Raspberry Pi with Chrony

I’ve been a fan of having a Stratum 1 time server on my LAN ever since I first read GM8ARV’s page. One of my first ones can be seen in the background on my YouTube video about Leap Second tracking.

I found an article last week where Facebook has been doing analysis on time server software and has come to the recommendation that the Chrony software is better than NTP for performance. I’ve actually been using NTPSEC for a couple of years now, but I am open to change so I’m setting up a Chrony server.