撑起全球几十亿台手机时间的,居然只是几个老程序员维护的纯文本文件
你的手机到底怎么知道现在几点了? 头顶上有几十颗 GPS 卫星,地底下有原子钟。 手机里的芯片连上网,就能精确知道从 1970 年元旦到现在过去了多少秒。 但是,这些顶尖的物理学设备,完全不知道你现在几点。 物理学管得了时间的流逝,管不了人类的法律。
有人可能会想:按经度算不就行了吗? 地球自转一圈 24 小时,经度每差 15 度就是一个时区。 写三行代码就能搞定的事,有什么难的? 要是事情真这么简单,全世界的程序员做梦都能笑醒。 现实是,时区从来不是地理问题,它是政治问题。 各国政客改起时间来,从来不按常理出牌。
2011 年,南太平洋岛国萨摩亚嫌自己和主要贸易伙伴澳大利亚差了一整天,做生意太麻烦。 政府大笔一挥,决定直接跳过国际日期变更线。 2011 年 12 月 29 日晚上,全国老百姓上床睡觉。 第二天一睁眼,日历直接变成了 12 月 31 日。 12 月 30 日这一整天,在萨摩亚的建国史上直接被凭空抹掉了。 如果你的手机按数学公式算,那一天它该怎么跳?
还有更让人头疼的突发政令。 2016 年夏天,埃及议会突然决定取消夏令时。 什么时候通知的? 距离夏令时生效只剩三天。 航空公司的订票系统、银行的计息程序、手机的自动闹钟,全在屏幕前傻眼了。 2023 年 3 月,黎巴嫩总理临时下令,把夏令时推迟一个月,方便大家过斋月。 离生效只剩 48 小时。 结果当地的基督教马龙派教会拒绝服从,宣布按原时间改。 整个国家当场裂成两个时区。 同一座城市里,马路这边的学校和马路对面的医院,硬生生过着两个不同的时间。
既然全世界的政客这么能折腾,你的手机又是怎么做到从不出错的? 难道苹果、谷歌、微软在每一个国家都派了专员盯议会开会吗? 并没有。 全球几十亿台手机、服务器和航班系统,背后全靠一个叫 tzdata 的数据库撑着。 听名字像是个极其庞大的跨国工程。 你把它从网上下载下来解压,会发现它简陋得让人不敢相信。 里面就是几个最普通的纯文本文件。 记事本就能打开。 文件名按大洲排:africa、asia、europe、northamerica。 每一行就是一段最朴素的文本:地名、哪一年哪一月改了时间、拨快还是拨慢几个小时。
那谁在维护这份纯文本文件? 它不是联合国管的,也不是哪家科技巨头养的专业团队。 从 1980 年代开始,这套关乎全球运转的数据,主要靠几个老程序员在邮件列表里当志愿者。 最早由美国国家卫生研究院的阿瑟·戴维·奥尔森(Arthur David Olson)发起。 后来加州大学洛杉矶分校的计算机系教授保罗·埃格特(Paul Eggert)接手主编,一管就是三十多年。 全球任何一个地方的政客半夜发通知改时间,邮件列表里的志愿者就会去翻那个国家的官方公报、报纸甚至是列车时刻表。 核实清楚后,埃格特教授在文本文件里敲上一行新规则。 然后运行一个叫 zic 的编译器,把文本打包成二进制规则文件。 苹果、谷歌、微软和各大 Linux 操作系统,再把这个小更新包抓回去,推送到全球几十亿台设备里。 你第二天早上的闹钟才没有迟响一个小时。
这么关键的东西,难道没人找过麻烦吗? 还真有。 2011 年,一家做占星软件的商业公司 Astrolabe,突然把奥尔森和埃格特告上了法庭。 这家公司声称:他们曾经出版过两本世界历史时区工具书,tzdata 里记录的历史时区数据,抄了他们的书,侵犯了版权。 面对巨额索赔,两位义务干活的老人根本无力承担,只能被迫把服务器关停。 全球技术圈瞬间炸锅:要是没有这个数据库,全人类的操作系统全部要乱套。 最后电子前沿基金会(EFF)免费接下了这场官司。 理由特别干脆: 历史上某年某月某日政府改了时钟,这是客观发生的事实。 法律保护独创性表达,不保护客观事实。 任何人都没有权利把历史时间据为己有。 占星公司眼看毫无胜算,不仅撤了诉,还公开签了道歉声明。 这场风波之后,负责全球互联网基础协议的机构 ICANN 正式把它收编为全球官方标准,由埃格特教授继续主持。
我们每天划着最新的智能手机,看着大模型和火箭升空。 总觉得数字世界是一座精密坚固的现代大楼。 真要顺着地基一层层扒开看,很多承重梁就是几个老头在几十年前敲下的几行纯文本。 他们不是为了发财,也没成立什么跨国公司。 只是觉得既然没人管,那我就顺手把它记下来。 全世界几十亿台设备,今天就这么安安静静地跑在这些纯文本上。
引用 / CITATIONS
No citations exported.
同领域解读 / PHYSICS & ENERGY
导出 / EXPORT
订阅 · SUBSCRIBE
每周一封独立、不受审查的科技与 AI 深度评论,周一发出。带出处,可核查。