A brief history of (and agenda for) time zone libraries

Paul Eggert eggert at twinsun.com
Sat May 15 23:35:46 UTC 1993

   Date: Sat, 15 May 93 18:14:01 -0400
   From: roland at gnu.ai.mit.edu (Roland McGrath)

   I wish I had known that this code was being maintained, and where to get it
   from, before now.

Sorry, I didn't know about the current timezone mess until yesterday, or I'd
have written earlier.  To keep up to date with Olson's changes, write him
<ado at elsie.nci.nih.gov> and ask to be put onto the tz mailing list -- he
regularly informs the list when he releases updates.

The GNU C library patches that I sent yesterday, plus Brendan Kehoe's, should
have merged almost all of Olson's fixes; all that remains is to merge Olson's
localtime.c fixes.
   It took me quite a while to untangle the spaghetti in the first place.
   This would certainly not simplify maintenance of the glibc code; it would
   return it to the obfuscated spaghetti I started with.

Unfortunately, that ``spaghetti'' is well-tested and has fewer bugs than the
GNU C timezone code that is trying to replace it.  Relatively few people have
tried the GNU C timezone code, whereas hundreds of thousands of people use
Olson's code every day.  (E.g. it's part of SunOS.)  Even now, I suspect that
reverting to a simple variant of Olson's code will reduce the FSF's
maintenance costs in the long run -- perhaps Olson's code is not as elegant,
but it works and it's maintained well.  I know that this will require giving
up cleaner code that you invested a lot of time on, but if giving up that code
_saves_ you time, then you should do it.

Here's a wishful thought: perhaps if you contacted Olson, the two of you could
try to merge the code into a single version that would satisfy the FSF's needs
for easy library maintenance without having to rewrite it all from scratch.
I'll volunteer to help with this (assuming my involvement would help :-).

More information about the tz mailing list