vlambda博客
学习文章列表

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种

机器之心报道

参与:张倩
对于程序员来说,一生中最骄傲 / 耻辱的事可能在于:人没了,代码还在。
「代码恒久远,bug 永流传。」前不久,GitHub 帮广大程序员把这个噩梦变成了现实。

上周,这家全球最大的开源代码托管机构表示:今年的 7 月 8 号,我们已经把大家 2 月 2 号之前开源的项目代码安全送到了北极,预计存个一千年没有问题。


为什么要费这么大劲存一堆代码?GitHub 曾在去年的 GitHub Universe 大会上解释说:首先,这些代码都是人类文明的宝贵财富,但现有的存储介质都不足以让它们长期保存下去,一旦丢失,后代就要重新造轮子;其次,天有不测风云,万一哪天哪个天灾人祸让地球回到原始时代,起码还能留下点火种,让后代在这个基础上重建新一轮的计算机文明。

GitHub 的担心不无道理。且不说外星人入侵、核战争之类的全球毁灭性灾难,就是在正常情况下,人类文化遗产也有不少一度或永远消失在历史长河中,比如古罗马的混凝土工艺。

因此, GitHub 就想到了这个极富远见和科幻色彩的方法——将代码存到北极

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


这个项目名叫 GitHub Archive Program,宗旨是为子孙后代留下一个名为「GitHub Arctic Code Vault」的开源项目代码库,具体做法是为网站上每个活跃的开源代码库创建「快照」,然后将其存储在胶片上运往北极。

受疫情影响,该计划最近才被完成。

如果你在今年 2 月 2 号之前向 GitHub 提交过开源项目代码,那么恭喜你,你的代码很可能已经静静地躺在北极了。

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种

为了表彰广大开发者对开源项目的贡献,GitHub 设计了荣誉徽章(图上的「Highlights:Arctic Code Vault Contributor」字样)。如果你的 GitHub 个人主页下方也有这个徽章,表明你的代码去了北极。机器之心的已经去了。

21TB 代码的北极之旅

此次运往北极的代码达到了 21TB,存储在 186 卷数字光敏档案胶片中。这些胶片来自一家名为 Piql 的挪威公司。据报道,常见胶片的寿命约为 500 年,但 Piql 的胶片在 1000 年之后仍能读取。

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


代码以二维码的形式存储在胶片上,每一帧可以容纳 880 万个像素。

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


这些胶片从 Piql 在挪威德拉门的办公地点出发,被打包运到首都奥斯陆机场。它的最终目的地是 600 英里(1000km)外的斯瓦尔巴群岛。

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


经过上千公里的飞行,代码安全抵达斯瓦尔巴群岛的朗伊尔城。这里的山上有一个「退役」的煤矿, 你的代码就被安置在煤矿几百米深处永冻层的一个房间。这一区域被称为人类文明的「诺亚方舟」,全球种子库也在这附近

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


一份写给未来的读取指南

GitHub 这一项目的科幻色彩贯穿于每个细节。 考虑到一千年后的人类不一定能读懂今天的代码,GitHub 贴心地为每份文档附加了一份「指南」

指南的开头这样写道:「你可能在一年或一千年之后读到这篇文章,但无论是哪种情况,我们都希望文中的概念,或者说开源的概念,对你有所帮助。」

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


接下来,他们又简单地介绍了一下二进制、计算机、软件、编译等基本概念,以及如何解码胶片上的信息。

由于不确定人类将来使用何种语言,GitHub 将这份指南用五种语言各写了一遍。

尽管已经解释地非常仔细了,但 GitHub 觉得,后代还是有可能打不开这些文件,因为他们可能缺乏一样最重要的东西——计算机。

地球上最早的人类文明诞生于数千年前,但现代计算机直到最近几十年才出现。如果再经历一次文明重建的过程,我们的后代是不是还要花这么长时间?GitHub 显然已经想到了这个问题。因此, 除了代码读取指南之外,他们还留下了另一样东西——「科技树」

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


「科技树」是一个独立的人类可读卷轴,里面主要包含现有的工作,旨在让后代对现代计算、开源及其应用、现代软件开发、流行编程语言等有一个详细的了解。

此外,它还包含理解软件所需的多层技术基础,如微处理器、网络、电子、半导体,甚至工业社会前的技术。有了这些技术,我们的后代就有可能重新造出现代计算机。

有人在 GitHub 的这份指南中读出了《流浪地球》般的史诗味道,感兴趣的读者可以前去阅读全文:https://github.com/github/archive-program/blob/master/GUIDE.md。

被封存的不只是代码

在 GitHub 公布代码已经安全抵达北极的消息之后,开发者们纷纷晒出自己的代码被选中的喜讯。

有人将这个项目的「浪漫」演绎到了极致:

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


但对于另外一些人来说,浪漫永远是别人的:

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


还有人担心后代看不上自己的代码:

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


更有意思的是,有人提醒说,GitHub 上几屏都拉不到底的女装教程「Dress」也被冻在了北极:

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种

GitHub 上著名的女装项目,star 量 17.6k,贡献者有 248 位。该项目已经得到了 GitHub 给的徽章。

让我们猜测一下后代打开这个项目之后的反应:

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


除了北极的这个存储库之外,你的代码(和照片)还有可能会出现在互联网档案馆(IA)和软件遗产基金会(Software Heritage Foundation)的库里,因为他们都和 GitHub 展开了合作,前者已经归档了大约 55TB 的数据,后者也已经归档了超过 1.3 亿个项目。

看来,以后写(传)代(照)码(片)也要多长点儿心了。

GitHub:1000 年不够,我们还打算存几万年

对于一个个体的生命来说,一千年已经很长了。但从整个人类的历史来看,时间是以「万年」为单位的。因此,GitHub 一直在寻找更加持久的存储方式。在最新的博客中,他们介绍了 Project Silica——一种借助石英玻璃存储代码的方法。

除了bug,GitHub可能还把你的女装照冻到了北极,1000年后还能读那种


这种存储方式是通过永久改变玻璃材质的物理结构实现的,能够抵抗地磁干扰,还能防水防热,可以将数据存储数万年。


目前,GitHub 已经借助该方法存储了 6000 多个全世界最流行的开源项目,而且这个数字未来还将持续扩大。

最后提醒一句,如果不想被存几万年,现在删掉一些东西可能还来得及。

参考链接:https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic/

Amazon SageMaker 是一项完全托管的服务,可以帮助开发人员和数据科学家快速构建、训练和部署机器学习 模型。SageMaker完全消除了机器学习过程中每个步骤的繁重工作,让开发高质量模型变得更加轻松。


现在,你可以免费领取1000元服务抵扣券,轻松上手Amazon SageMaker,快速体验5个人工智能应用实例。