0
很久很久以前,西方流传着这样一个传说:亡灵会在隆冬开始的第一天(也就是万圣节这天)回到人世,寻找合适的身体“重生”,而他们坚信保存好尸体是复活的基本保障,所以,木乃伊出现了。
现在,Github 也要做一件流传千年的事业。
7 月 8 日,GitHub 将支撑当今社会运转的几乎所有开源代码,以胶片的形式储存,打包运往 Svalbard。目前,这些胶片已经被放置在钢制容器内,密封在一个废弃煤矿中。在这个极其干燥的、-5°C 恒温的矿井中,这些代码至多可以保存一千年。
听闻自己的代码被送到北极的程序员们也坐不住了,纷纷晒出自己的代码被选中的喜讯,但也是几家欢喜几家愁。
有人用代码给吃瓜群众狠狠撒了一波狗粮:
也有人懊悔当初为什么要上传自己还未修改的代码,这可是会被后代“耻笑千年”的!(手动狗头)
更有意思的是,有些开发者的“恶趣味”代码也被统统送去了北极,不知道千年之后后代看到这些代码怎么想......
那么,问题来了,GitHub 为什么要把代码保存在北极呢?
这还要从去年的 GitHub Universe 大会说起。
GitHub 官方说明了这个计划启动的原因:
世界由开源软件提供动力。它是现代文明的隐藏基石,也是全人类的共同遗产。GitHub Archive Program 的任务是为后代保留开源软件。
我们还打算将 GitHub Archive Program 用作证明开源社区重要性的证明。我们希望它现在和将来都将进一步宣传全球开源运动。促进在全球范围内广泛采用开源和开放数据政策;并鼓励长期思考。
同时,GitHub 也强调会和很多顶级的机构、企业合作,计划通过多种形式并行的存储形式。
为什么要通过多种形式存储呢,GitHub 也解释了原因。
首先,我们永远不知道明天会发生什么,所以做好万全的准备是为人类保存火种。(emmm....听起来很有道理)
其次,跨多个组织和存储形式的归档软件将有助于确保其长期保存。而目前,大部分的数字信息都存储在只能短期储存信息的介质上,如:硬盘,SSD。硬盘可以使用几十年,磁带名义上可以有 30 年的使用寿命,但需要严格控制热量和湿度。所以 GitHub 存档计划想通过多形式的存储组合,来解决随着时间的流逝数据丢失的风险。
可以说,为了让后代有迹可循,GitHub 也是操碎了心。
那么,代码要保存在哪里呢?
既然要保存千年以上,那么这个地方一定要绝对安全,并且发生重大灾难的系数也要极低,最终,GitHub 将代码保存地点保存在了常年冰封的 Svalbard——斯瓦尔巴群岛。
这里气候极寒,数千只北极熊与三千人类居民共生。受国际斯瓦尔巴条约的监管,它是地球上最偏远,也是地缘政治最稳定的人类居住地之一。
虽然 Svalbard 会受到气候变化的影响,但在可预见的未来,受到影响的大概率只是最外层几米的永久冻土,气候变暖不会威胁矿井的稳定。因此,这个矿井也成为保存人类文明的重要基地。
并且,已有成功先例。
AWA(Arctic World Archive,世界数据档案馆)就在这里,AWA 已经保存了来自意大利、巴西、挪威、梵蒂冈和许多其他国家的历史和文化数据。著名的「全球种子库」也位于此,距离 GitHub 选择的矿井仅一英里远,那里保存了世界上几乎所有农作物的种子。
AWA 是挪威国有采矿公司 Store Norske Spitsbergen Kulkompani(SNSK)与长期数字存储提供商 Piql AS 的一项联合计划,AWA 致力于永久保存档案。胶片卷轴将被存储在位于斯瓦尔巴群岛偏远群岛的一座退役煤矿内的密封室内的钢壁容器中。
今年 2 月 2 日,工作人员拍下了 GitHub 上所有开源项目并存档。
按照原计划,GitHub 计划让团队成员亲自护送这批代码到北极。但万万没想到,新冠疫情爆发了。GitHub 团队只能与合作方胶片数据存储公司 Piql 保持远程联系。
他们只能先将 21TB 的代码数据交到这家公司位于挪威德拉门的工厂。代码被写在了 186 箱胶片里,胶片每帧都包含 880 万个像素点,源代码以 QR 码的形式存储其中。
最终,这 186 箱胶片被运到挪威首都奥斯陆,装上飞机运往距离欧洲大陆北部 1000 公里远的斯瓦尔巴群岛。
代码最终保存在斯瓦尔巴群岛上一个只有几千人的小镇朗伊尔城。
此外,为表彰开发者们的贡献设立,参与者将收获一枚北极密码库徽章。
GitHub 称,这一项目是为了表彰全世界数以百万计的开发人员为开源社区作出的贡献。GitHub 还特意设计了 Arctic Code Vault 徽章,目前如果你打开 GitHub 开发者简介,鼠标移动到作者简历的高亮部分就可以看到。
保存之后还要确保后代能使用,在这一点上,GitHub 也想好了办法。
据其官方介绍,被存储每个档案卷都包含一份五种语言的“ GitHub 代码库指南”,由 GitHub 社区的输入编写,可以在该档案程序自己的 GitHub 库中找到。此外,GitHub 还计划将一个独立的人类可读卷轴运往北极一起存储,它记录了档案内容的技术历史和文化背景。
GitHub 称之为科技树。
“科技树”受 Long Now 文明手册的启发,主要包括现有的工作,选择提供对现代计算、开源及其应用、现代软件开发、流行编程语言等的详细了解。它还将包括解释使软件成为可能的多层技术基础的著作:微处理器、网络、电子、半导体,甚至前工业技术。这将使档案的继承者更好地了解当今世界及其技术,甚至可能帮助他们重新创建使用存档软件的计算机。
该计划以我们今天拥有的最佳思路为基础,存档的简介将包括 QR 解码,文件格式,字符编码和其他关键元数据的技术指南,以便可以将原始数据转换回源代码,以供将来其他人使用。
该归档文件还将包括技术树-路线图和 Rosetta Stone,以供将来好奇的人继承该归档文件的数据。
所以,程序员们还不去看看你的哪些代码被送到了北极~
雷锋网雷锋网雷锋网
参考资料:
【2】https://github.com/github/archive-program/blob/master/GUIDE.md
【3】https://archiveprogram.github.com/
雷峰网原创文章,未经授权禁止转载。详情见转载须知。