你写的代码要被 GitHub 存在北极啦!期限是 1000 年!
以下文章来源于SegmentFault ,作者徐九
公众号关注 “GitHubDaily”
设为 “星标”,每天带你逛 GitHub!
一句话新闻
GitHub 宣布,为了把开源软件留给子孙后代,将在 2020 年 2 月 2 日为所有公共存储库生成快照,保存在北极一个地下 250 米的废弃煤矿,快照储存在胶片上,寿命高达 1000 年。
* 视频为 GitHub 现场发布的项目介绍短片
在会上,GitHub 官方说明了这个计划启动的原因:
世界由开源软件提供动力。它是现代文明的隐藏基石,也是全人类的共同遗产。GitHub Archive Program 的任务是为后代保留开源软件。
我们还打算将 GitHub Archive Program 用作证明开源社区重要性的证明。我们希望它现在和将来都将进一步宣传全球开源运动。促进在全球范围内广泛采用开源和开放数据政策;并鼓励长期思考。
这个项目由 GitHub 和很多顶级的机构、企业合作,计划通过多种形式并行的存储形式,能够长期保存世界上的开源软件和项目,至少上千年。
一、启动多形式存储计划的原因
名词解析:亚历山大图书馆
亚历山大图书馆,又称古亚历山大图书馆,曾是世界上最大的图书馆。后来惨遭火灾被摧毁,从而丢失了成千上万本包含大量经典文学,科学和文化的文本。
1. 为什么使用多种形式的存储?
尽管发生全球灾难的可能性很小,但我们可能会在几代后失去所有存储在现代媒体上的东西。
跨多个组织和存储形式的归档软件将有助于确保其长期保存,在线归档员将其称为「LOCKSS」,通过大量副本来确保信息的安全。
名词解析:LOCKSS
LOCKSS 是通用数字保存技术和解决方案提供商,也是斯坦福图书馆数字图书馆产品组合的支柱。LOCKSS 目前是数字保存领域中广泛接受的最佳实践,并且更广泛地用于确保数字信息的持久性。
目前,大部分的数字信息都存储在只能短期储存信息的介质上,如:硬盘,SSD。硬盘可以使用几十年,磁带名义上可以有 30 年的使用寿命,但需要严格控制热量和湿度。
GitHub 存档计划想通过多形式的存储组合,来解决随着时间的流逝数据丢失的风险。
2. 未来社会如何使用我们的代码?
GItHub 已经与斯坦福图书馆合作,帮助整理相关资料库以及其所处的文化和背景,作为广泛的历史和社会研究与分析的关键要素。通过代码永久保存计划,未来的历史学家将能够从开源项目和元数据中了解我们。
由于硬件的寿命比当今大多数存储介质(尤其是较旧的和/或具有掩码ROM的存储介质)的寿命长得多,因此存在运行现代计算机的一系列可能的未来,但是它们的软件已大失所望。存档程序将保留该软件。
还有一点,因为现在某些国家和地区因为政策原因限制访问了 GitHub 的部分功能,随着这一计划的展开,受影响的开发人员可以使用 Internet Archive 和 Software Heritage Foundation 访问其项目的公共代码。
可以预见一个未来,在这个未来中,当今的软件将被视为古朴而又被人们遗忘的无关紧要的事物,直到对它的意外需求出现。
二、灵活持久的「步调分层」策略
名词解析:步调分层
步调分层在整个系统中提供了多级的校正,稳定反馈。正是在这些层次之间的矛盾中,文明才找到最可靠的健康。我建议在一个健壮且适应性强的文明中,六个重要的步调和规模。
这个项目将采用「步调分层」策略来归档代码,通过提供从实时到长期存储的一系列存储解决方案,该方法旨在最大程度地提高灵活性和耐用性。
存档程序分为三层:热,热和冷。
- 热:接近实时更新
- 暖:每月至每年更新
- 寒冷:每5年以上更新
名词解析:飞秒激光
飞秒激光是指时域脉冲宽度在飞秒(毫微微秒,10的负15次方秒)量级的激光。可以用在聚合物加工、医学成像及外科医疗上。飞秒激光现已是目前21世纪最先进的眼科手术。激光视力矫正(LASIK)可以利用飞秒激光制作角膜瓣。除此之外,也可被应用在固态物理上,以此分析晶体结构,分析其衍射或者萤光光谱图。在基础科学研究领域,飞秒激光可用于超快现象的研究。
GitHub Arctic Code Vault 是一个数据存储库,存储在北极世界档案馆(AWA)中,这是一个长期的档案设施,位于北极山永久冻土层深250米。该档案馆位于斯瓦尔巴群岛的一个退役煤矿中,比北极圈更靠近北极。 GitHub 将在 2020 年 2 月 2 日捕获每个活动公共存储库的快照,并将这些数据保存在 Arctic Code Vault 中。此外还包括由星号、依赖项和咨询小组确定的大量休眠存储库。快照将由每个存储库的默认分支的 HEAD 减去任何大于 100KB 的二进制文件组成,每个存储库将打包为一个 TAR 文件。
名词解析:斯瓦尔巴全球种子库(Global Seed Vault)
斯瓦尔巴全球种子库是挪威政府在北冰洋的斯瓦尔巴群岛建造的,一个保存全世界农作物种子的贮藏库。
种子库是为了在大规模的区域性或全球性危机期间防止其他基因库中种子的丢失。这个工程得到了联合国粮农组织的支持,被称为是全球农业的“诺亚方舟”。
GitHub 正在召集一个 GitHub Archive Program 咨询小组,其中包括人类学,考古学,历史学,语言学,档案科学,未来主义等方面的专家,以就应该在归档中包含哪些内容以及如何与继承者进行最佳沟通提供建议。
一千年是很长的时间。一千多年前尚未建成吴哥窟,大津巴布韦和马丘比丘等古代遗址。但是,我们可以考虑并计划在未来 1000 年内实现各种可能性。
该计划以我们今天拥有的最佳思路为基础,存档的简介将包括 QR 解码,文件格式,字符编码和其他关键元数据的技术指南,以便可以将原始数据转换回源代码,以供将来其他人使用。
该归档文件还将包括技术树-路线图和 Rosetta Stone,以供将来好奇的人继承该归档文件的数据。
关于存档及其使用方式的概述,“技术树”将作为软件开发和计算的快速入门手册,并与该存档的用户指南捆绑在一起。它将描述如何从原始数据向后处理到源代码,以及如何提取项目,目录,文件和数据格式。
受《长期文明手册》启发(并包括其内容),该档案还将包括应用开源的信息和指南,以及我们今天使用它的背景情况,以防将来读者需要从头开始重建技术。
在人类拥有可以运行的现代计算机但没有可在其上运行的软件的未来范围内,档案及其技术树可能会非常有价值。但是,该价值很有可能是历史性的,也许可以确保今天的技术不会因一个漫不经心地认为无关紧要的明天而丧失,直到发现我们的软件被意外使用。
项目官网:https://archiveprogram.github.com/
代码恒久远,一行永流传。
地球有 46 亿年的历史,我们应该不是出现在这个星球上的第一代智慧生物,那么问题来了:上一代「地球人」的痕迹在哪里?他们的文化和文明是什么?
这些我们暂时都不得而知,但希望我们的历史和文化,在千万年之后能被下一代「地球接班人」发现,估计挺有意思的~