坊间流传着数百万已故人士收到了美国社会保障支票的谣言。 然而,这种耸人听闻的说法与事实相去甚远。 真实情况是老化的技术、政府系统和年轻的 IT 专业人员(尤其是政府效率部(DOGE)的专业人员)的误读之间复杂的相互作用。
谣言始于埃隆-马斯克(Elon Musk)声称有大量 100 岁以上的美国人在不当领取福利。 马斯克和其他能源与环境部代表称,他们在对社会保障进行初步审查时发现了"异常现象"。 马斯克甚至断言,150 岁的老人都被列为福利领取者。 后来,他又扩大了这些说法,称超过 2000 万美国百岁老人正在领取社会保障金。 马斯克在 X 上分享了一张他描述为社会保障数据库电子表格的图片,以支持他的论点。
不过,真正的罪魁祸首是一种编程语言,几十年来它一直是社会保障管理局IT系统的支柱。
COBOL 开发于 20 世纪 50 年代,为社会保障局的关键功能提供支持,包括处理退休和伤残索赔。 社保局保留了令人印象深刻的 6000 万行 COBOL 代码。
COBOL 的一个特点是缺乏处理日期的标准化方法。 这一局限性导致程序员在政府数据库中设计出了一些具有创造性的日期表示方法,包括使用占位日期来表示未知信息。
根据圣托马斯大学工程学院数据科学和软件工程教授 Manjeet Rege 的说法,1875 年 5 月 20 日是一个常用的占位日期。 根据 ISO 8601 时间和日期标准,这个日期标志着时间的开始,之所以选择这个日期,是因为它是国际度量衡局成立的周年纪念日。
日期表示上的这一偏差导致一些社保申请人的出生日期被指定为 1875 年 5 月 20 日,而他们的实际出生日期却是未知的。 因此,系统中的受益人年龄似乎超过了 149 岁。 众多程序员和数据录入员数十年如一日的工作使情况变得更加复杂,导致系统出现不一致和错误。
尽管存在这些错误,社保局还是采取了一些措施来防止欺诈性申请。 个人去世后,殡仪馆必须提交死亡声明(SSA-721 表)。
此外,社保局多年来一直在主动监控年龄极大的公民。 2023 年的一项研究显示,虽然有 1890 万社会保障号持有者被列为出生于 1920 年或更早而没有死亡日期记录的人,但实际上只有 44000 人在领取福利金。 此外,自 2015 年起,社保局使用自动系统阻止向任何超过 115 岁的人支付福利金。
社会保障局并不是唯一使用几十年前的编程语言的政府机构。 许多关键系统,包括教育部、卫生与公众服务部和美国国税局的系统,仍然依赖 COBOL 和其他遗留软件。
例如,美国国税局使用大约 160 个 COBOL 应用程序,其中包括可追溯到 20 世纪 60 年代初的个人主文件 (IMF) 系统。
此外,45 个州和哥伦比亚特区仍在使用 COBOL 系统。 COVID-19 大流行凸显了这些系统的局限性,当时许多基于 COBOL 的失业救济金计划都难以处理突然激增的申请。
尽管年代久远,COBOL 仍然是处理大量业务数据的强大而高效的语言。 它在数据操作、批处理以及保持数据准确性和可靠性方面表现出色,这也是 COBOL 在某些行业(如银行业和保险业)仍然流行的原因。
挑战不在于 COBOL 的功能,而在于缺乏更新和维护政府遗留代码的资金。 虽然一些机构,如英国就业与养老金部和纽约时报,已经成功地从大型机 COBOL 中迁移出来,但政府系统的现代化任务仍然十分艰巨。 据估计,目前仍在使用的 COBOL 代码在 2200 亿到 8000 亿行之间。