The system clock needs to be UTC, not UTC =C2=B1 some offset stuck somewhere that keeps some form of running tally of the current leap second offset since the epoch.
Nope. UTC *includes* leap seconds already. It's UT1 that does not.
Are you suggesting that NTP timekeeping should be based on UT1?
The system clock should be based on UT1 and should be monotonically increas= ing since this matches the common concept of time. Calculations done with = this value are all based on it being UT1 and using the "common" notion of U= T1 rules. The root cause of the difficulties is that someone decided that = the system clock would not maintain "wall clock" time (UT1) but rather some= other timebase and then "step" that time to keep it in sync with UT1.
NTP can keep time in UTC (or anything else) if it wants, but it should disc= ipline the system clock to monotonically increasing UT1.
UTC is the universal time. UT1 is "astronomical time". As the definition of a atomic second is 9192631770 complete oscillations of cesium 133 between enery level 3 and 4, "everyone" can make a second in their lab, that's TAI. Just add the lepsecond ofset and you have UTC. UT1-UTC is done by observations from radio astronomers VLBI telecopes and a comitee, you can't make one in your lab, and it's not real time. --P (The only SI metric you can't make is a kilogram, you have to have one of the 28 kilos in the world..)