前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你的代码会被GitHub埋在北极,保存1000年,用二维码胶片备份人类文明

你的代码会被GitHub埋在北极,保存1000年,用二维码胶片备份人类文明

作者头像
量子位
发布2019-11-18 21:01:36
1.1K0
发布2019-11-18 21:01:36
举报
文章被收录于专栏:量子位量子位
晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI

你写的代码将被会被GitHub保存1000年。

GitHub是不是疯了?有网友吐槽:3年写前的代码就有些过时,10年前的代码更是老古董了,1000年后科技都不知道会发展成啥样,什么代码值得被保存1000年?

GitHub说,开源代码是全人类共有的财产,即使人类文明遭战火毁灭,希望未来也可以用这些代码快速重建科技。

因此他们公布了一项代码存档计划Arctic Code Vault,要把它们埋藏在北极的地下,保存1000年。

该计划将于2020年2月2日启动,截止到那一天的开源代码将会被GitHub处理后,以QR码(也就是二维码)的形式存在胶片里。

存储下这些需要3500英尺(1066.8米)长的胶片,最后胶片将被放在挪威斯瓦尔巴特(Svalbard)群岛一座已退役的矿井里。

程序员的“诺亚方舟”

GitHub采用的是来自挪威公司piql*的技术,胶片上每帧包含880万像素,源代码以QR码的形式存储其中,可以保存1000年。

存入胶片中的repo由项目的标星数、依赖项以及专家顾问的意见所决定,并且会剔除正在活跃的项目。

储存的快照将由每个repo默认分支的HEAD组成,并且会去掉任何大于100KB的二进制文件。每个repo将打包为一个TAR文件。

然后胶片将被放在钢壁容器中,放置于斯瓦尔巴特群岛废弃矿井的密封室中。

之所以选择斯瓦尔巴群岛,是因为这里属于国际公约规定的非军事区,可以免遭战火的袭扰。而且这里常年寒冷,有几百米厚的冻土层。稳定且寒冷的环境非常适合存储胶片。

斯瓦尔巴特群岛在地球上的位置

即使未来受到气候变化的影响,也只会影响最外层几米的永久冻土。

而且距离这座矿井不到一英里的地方,就有一座“诺亚方舟”,一个保存全世界农作物种子的全球种子库,足以证明这里的安全性。

存档在GitHub Arctic Code Vault中的代码将清除所有活动的公共GitHub存储库,此外还包括由星号,依赖项和咨询小组确定的大量休眠存储库。

为了提高数据密度和完整性,大多数数据将以QR编码存储。易于阅读的索引和指南将逐项列出每个存储库的位置,并说明如何恢复数据。

1000年后如何读取

如果1000年后,人类遭遇了战火,导致科技倒退,GitHub存下的代码还能被读取出来吗?

为此,GitHub咨询了人类学家、考古学家、历史学家、语言学家以及档案科学、未来主义等方面的专家,把重建方法的指南写得通俗易懂,就像旅行者号飞船上给外星人看的图画一样。

重建指南中包括QR解码规则、文件格式、字符编码等技术,以便将来的人类可以快速将原始数据转换回源代码。

读取这些数据需要用到piql公司开发的一种类似电影放映机的设备piqlReader,而不是像光驱、硬盘等太高科技的装置。

piqlrReader具有比前代产品更快的读取速度,并且操作简单,可提供对脱机数据访问的能力。

未来或用玻璃存代码

作为GitHub存储代码计划GitHub Archive Program的一部分,Arctic Code Vault用到的是胶片。

GitHub的母公司微软还有一项比胶片更酷炫的技术——在一片变长7.5厘米的正方形玻璃瓶中存入75.6GB的数据。

玻璃瓶可以承受高温烘烤、低温冰冻甚至是钢丝球刮擦,微软说,只要你不用锤子砸,玻璃片中的数据可以保存数据1000年以上。

华纳兄弟已经用微软的技术把电影《超人》保存了下来。

未来,GitHub将以每年或每两年一次的节奏来存储代码,未来他们可能也会用上微软的玻璃存储技术。

项目地址: https://archiveprogram.github.com/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 程序员的“诺亚方舟”
  • 1000年后如何读取
  • 未来或用玻璃存代码
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档