In Defense of Leap Seconds

In November 2022, the General Conference on Weights and Measures met for the 27th time in Paris. In its 4th Resolution, the CGPM

requests that the CIPM consult with the ITU, and other organizations that may be impacted by this decision in order to
  • propose a new maximum value for the difference (UT1-UTC) that will ensure the continuity of UTC for at least a century,
  • prepare a plan to implement by, or before, 2035 the proposed new maximum value for the difference (UT1-UTC),
  • propose a time period for the review by the CGPM of the new maximum value following its implementation, so that it can maintain control on the applicability and acceptability of the value implemented,
  • draft a resolution including these proposals for agreement at the 28th meeting of the CGPM (2026),

In other words, the CGPM has called for the end of leap seconds as we know them.

Who Defines Time?

A slightly distressing number of different bodies are involved in the definition of international timescales. In general,

The International Astronomical Union (IAU)
defines a variety of astronomical times (TT, TCG, TCB, and TDB), as well as UT1 and formerly TAI; but handed the responsibility for TAI to the BIPM (IAU 1985 Resolution B1).
The International Earth Rotation Service (IERS)
is a body underneath both the IAU and the International Union of Geodesy and Geophysics which is tasked with measuring UT1 (in the form of ΔUT, the offset between UTC and UT1) and determining and announcing leap seconds.
The Bureau international des poids et mesures (BIPM)
is the international body established by the 1875 Metre Convention to govern on matters of measurement science and standards. The BIPM is responsible for TAI and, to some degree, UTC, although UTC is also defined by the ITU-R.
The Conférence générale des poids et mesures (CGPM)
is the intergovernmental conference that makes decisions for the BIPM and endorses its work.
The Comité international des poids et mesures (CIPM)
is a committee of scientist and metrologists, appointed by the CGPM, which oversees the operation of the BIPM.
The BIPM Consultative Commission for Time and Frequency (CCTF)
is a committee of the BIPM which advises the CIPM on «matters related to time and time scales». The CCTF was formerly known as the Consultative Committee for the Definition of the Second (CCDF). The ITU-R is essentially a member of the CCTF.
The International Telecommunication Union Radiocommunication Sector (ITU-R)
oversees international standards for radio frequency allocations and other related matters. The ITU-R defines in Recommendation TF.460 the international broadcast time scale, which it defines to match UTC, and provides its own bounds on ΔUT. The predecessor to the ITU-R was the Consultative Committee on International Radio (CCIR). The BIPM is a member of the ITU-R.
The ITU-R Study Group 7 (SG 7)
is a group of the ITU-R dedicated to a wide range of «science services», including (as its subdivison Working Party (WP) 7A), the international standard broadcast time signal UTC.

A Brief List of Common Timescales

In order to contextualize this discussion of leap seconds, we begin with a brief overview of the various time systems that remain in common use today.

Time might be measured by the position of the sun in the sky (solar time); by the position of distant astronomical objects in the sky (sidereal time); or by the progression of a physical process. At issue is the reconciliation of the first and last of these schemes, which is nontrivial due to fluctuations in the rotation of the Earth.

A very large variety of time scales have entered into usage for a variety of reasons. At present, some of the most widely-used time scales are:

UT1
The various forms of UTx (for x in 0, 1, 2) have traditionally been various forms of mean solar time, «corrected» in various ways so as to provide for a more uniform time scale. At present, IAU 2000 Resolution B1.8 defines UT1 as a linear transformation of Earth Rotation Angle. UT1 is published after-the-fact in IERS Bulletin B, as a table of offsets from UTC.
ERA
The Earth Rotation Angle is defined as both the scale underlying UT1 and as a replacement for various sidereal time scales (GMST, GAST, etc).
TAI
International Atomic Time is «a continuous time scale produced by the BIPM based on the best realizations of the SI second» (Resolution 2 of the 26th CGPM). TAI is based on the average timekeeping of a worldwide network of atomic clocks, corrected for a relativistic rate-shift to match the SI second on the geoid. Before these steering corrections, the time produced by this clock network is EAL (free atomic time). TAI is published after-the-fact, as offsets from national time laboratory atomic time scales, in BIPM Circular T.
GPS
GPS time is a time scale defined by atomic clocks onboard GPS satellites. GPS time is intended to track TAI, but is offset by 19 SI seconds for historical reasons.
UTC
UTC is based on TAI, plus a varying number of seconds (the «leap seconds»). The UTC second is the SI second, but leap seconds are added to keep UTC within 1.0s of UT1. This prevents UTC from drifting out-of-sync with the Earth's rotation. Leap seconds are the responsibility of the IERS, and published in IERS Bulletin D.
TT
Terrestrial Time is an astronomical timescale that is essentially parallel to TAI, but offset from it by 32.184 seconds for historical reasons (specifically, in order to maintain continuity with a former timescale called Ephemeris Time).
TCG
Geocentric Coordinate Time is a linear scaling of TT which removes the effect of gravitational time dilation due to the Earth's mass.
TCB
Barycentric Coordinate Time is similar to TCG, in that it is intended to avoid the effects of gravitational time dilation, but it reflects time experienced at the barycenter of the entire solar system (modulo the gravitational effects of the solar system), rather than the center of the Earth. TCB was originally intended as a replacement for an unworkable prior definition of TDB, but TCB and the present definition of TDB co-exist.
TDB
Barycentric Dynamical Time is a linear scaling of TCB that reduces the difference between it and TT as much as practical (to within two milliseconds for the foreseeable future). TDB formerly had a «physically impossible» definition, but was redefined in 2006 to be effectively the same as the independent argument Teph of JPL Development Ephemeris DE405.

It is important to understand that UTC still counts the same number of seconds as TAI. The difference between UTC and other physical timescales is that not every UTC day is 86400 seconds, and not every UTC minute is 60 seconds: when a (negative) leap second is introduced, a UTC day is 86401 (or 86399) seconds long, and one particular UTC minute is 61 (or 59) seconds long. This allows UTC to count days based on the rotation of the Earth, but seconds based on atomic time. The extra second of a day containing a leap second is numbered 23:59:60 in UTC.

Are Leap Seconds Bad for Computers?

POSIX requires that POSIX time count UTC seconds since the epoch, but also that every day since the epoch must be precisely 86400 seconds.

Unfortunately, this is fundamentally impossible: UTC days are not always 86400 seconds long. This has led to the current unfortunate situation, where positive leap seconds result in the same second being counted twice—resulting in the nonmonotonicity of the system clock that plagues system engineers.

This is not only a problem for distributed systems engineers. The present situation of leap second handling makes it entirely impossible for a POSIX-conformant piece of software to display correct UTC time (or local time) to the user, as there is no way to distinguish the first 23:59:59 counted by the system clock from the second 23:59:59 counted by the system clock—and so the system cannot display 23:59:60 for the latter.

There is a simple, obviously correct, approach to solve these issues for POSIX: redefine the system clock to be a monotonic, continuous, atomic time scale, and allow the conversion to UTC to happen at the same time as timezone conversions when converting to civil time for display. While some systems do not implement timezones correctly, this means that they already may differ from civil time by a matter of hours, due to issues with daylight savings times—the potential for an additional difference of a few seconds is quite irrelevant. The POSIX day of 86400 seconds is then a Julian day in the timescale of the system clock (TAI, or something synchronized perfectly with it), and unrelated to the calendar of civil days used when dealing with civil time—which already have to go through timezone and DST conversion logic to become UTC intervals, which are not always 86400 seconds long.

This solution is eminently practical: Arthur David Olson has included zoneinfo files designed for this system in the tzinfo database, under a subdirectory called «right», due to the obviously preferable nature of this treatment of leap seconds, since at least as far back as 1992, when the present changelog of the database ends.

Torino Colloquium

In 2003, the ITU-R held a special colloquium in Torino, Italy, in which a panel of invited experts broadly rejected the original proposed options, and offered an improved suggestion: that a new broadcast timescale, International Time, synchronized with UTC at its date of introduction but without leap seconds, be introduced and replace UTC as a broadcast timescale. The Torino report did not directly address whether or not civil time would also use this new time scale, but—being a new scale with a new name—it would certainly not have the immediate impact on civil time that redefining UTC would.

Since, practically speaking, NTP servers tend to broadcast the internationally-recognized broadcast time scale, defining a new continuous timescale as the standard for international broadcast, while leaving UTC as the basis of civil time, would likely more-or-less effect the «right» system described above, where system time is kept in sync with a continuous atomic broadcast time, and local time conversions deal with leap seconds as needed to produce civil time that remains in sync with the Earth's rotation.

Unfortunately, the 2004 report of the ITU Special Rapporteur Group assigned to studying the future of UTC directly contradicts the consensus of the experts at the Torino colloquium, and states that the definition of a new timescale is not recommended.

While the idea of having a separately-named monotonic timescale, available for reference but distinct from civil time, has occasionally cropped up since (e.g. in this excellent presentation from a 2013 ITU/BIPM workshop), it does not seem to ever have been particularly seriously considered.

CGPM 2022 and WRC 2023

The CGPM 2022 resolution quoted above is the first call by a major stakeholding body to make UTC into a continuous scale without renaming it, but the ITU-R joined it at the World Radiocommunication Conference 2023, resolving to work with the BIPM/CIPM/CGPM as necessary to effect the planned increase in maximum divergence between UT1 and UTC, and that the revised timescale will retain the name UTC. An ITU-published magazine is replete with arguments against the inclusion of leap seconds in the broadcast time scale, and to some extent, they may be correct, insofar as the ITU's duty is defining a broadcast time scale: the time scale that is broadcast by radios and NTP probably shouldn't contain leap seconds.

Unfortunately, WP 7A's most recent report reiterates the ITU's position that UTC must «[remain] the only international reference time scale». The report briefly bothers to argue against adopting TAI as the broadcast reference scale, but criticizes it as having «no physical representation»—despite the fact that UTC is based on TAI, and, as the report itself admits, «UTC itself is not realized with any physical clock». While the report also dismisses using GNSS time as a broadcast reference time scale, it does not concern itself overmuch with the question of a new continuous timescale with a new name and essentially the same definition as the proposed UTC, sans the constraint of remaining within some bounded distance from UT1.

While the ITU and the CIPM both seem content to dismiss the issue of how any future adjustment of UTC to maintain the new larger-but-still-bounded maximum ΔUT could be effected, it is worth pointing out that this condition most likely requires the new «continuous» UTC to be non-continuous, and that the difficult and cost incurred by a future leap minute would no doubt be far worse than that incurred by the regular introduction of (common enough to keep at least some engineers on their toes) leap seconds today.

This compromise does nothing to fix the actual problem (that the reference time scale, which clearly should be monotonic) is too tightly linked to civil and legal time scales (which are already not monotonic in many countries, due to DST). Instead, it makes the problem of occasional changes to the reference time scale much worse by replacing a leap second, which happens regularly enough to be planned for, with an as-yet-unspecified mechanism that will be the future's problem.

Although a number of users have expressed difficulty with the discontinuities in UTC as a broadcast time scale, it is likely that the most significant contributing factor to the rush towards redefining UTC is the problems that large software companies have expressed, and their repeated requests that leap seconds be abolished. Where computing could have been a shining beacon of an example of the «right» way to divorce broadcast and civil time, we have become the loudest advocates for the worst possible continuation of the current compromise—one that will most likely simply result in the repeated delaying of syncing UTC and UT1, due to the unparalleled disruption that would no doubt result from such an attempt in the future. Consequently, one could fairly say that the world's calendars will drift out of sync with the Sun because computer scientists 50 years ago wrote an impossible—and probably undesirable—requirement in a specification document.