点击上方“码农突围”,马上关注
这里是码农充电第一站,回复“666”,获取一份专属大礼包
真爱,请设置“星标”或点个“在看”

作者丨赵钰莹

近日,GitHub 年度开发者大会 GitHub Universe 2019 正式拉开帷幕。GitHub 在峰会现场宣布了一项永久保存代码计划——GitHub Archive Program,通过不间断的跨各种数据格式和位置存储多个副本的方式来保护开源软件代码,至少保存 1000 年。

代码永久保存计划

开源软件的出现为科技发展提供了动力,这也是全人类的共同遗产。GitHub Archive Program 的任务就是最大可能为后代保留这些开源软件。为了完成这项计划,GitHub 与 Long Now Foundation、the Internet Archive、the Software Heritage Foundation, Arctic World Archive、Microsoft Research、the Bodleian Library 和 Stanford Libraries 合作,通过不间断地跨各种数据格式和位置存储多个副本来保护代码,维持至少 1000 年的长期存档。

GitHub 表示,尽管发生全球性灾难的可能性很小,但所有存储在现代设备平台上的内容都可能会在几代后消失,跨多个组织和存储形式的归档软件将有助于确保其长期保存:在线归档员将其称为“ LOCKSS”,因为大量副本可以确保安全。

目前,大量的知识存储在临时媒体设备上:硬盘、SSD、CD 可以使用数十年,备份磁带名义上只有 30 年的寿命,还得严格控制热量和湿度。即便未来这些硬件还在,但运行在上面的软件可能早已被淘汰, GitHub Archive Program 计划有更长远的打算,以解决数据在未来丢失的风险。

与此同时,这一计划也为受到访问限制的开发者提供了选择,如果 GitHub 在某些地方不可用,受影响的开发人员可以使用 Internet Archive 和 Software Heritage Foundation 访问其项目的公共代码。

存哪?怎么存?

在 Long Now 创始人 Steward Brand 的启发下,GitHub 采用“分层”策略来归档代码。通过提供从实时到长期存储的一系列解决方案,该方法旨在最大程度地提高灵活性和耐用性。存档程序分为三类:热门,一般和冷门。

热门:接近实时更新

一般:每月或每年更新一次

冷门:每 5 年以上更新一次

GitHub(以下各存储方案按热度排列,GitHub 为热门项目首选)

每次访问 GitHub,GitHub 都会将 Git 数据复制到世界各地的多个数据中心。此外,在 Git 的多个位置存储数据、问题、拉取请求以及数据备份,所有这些都可通过 GitHub API 实时获得。

GHTorrent

GHTorrent 监视 GitHub 公共项目的时间线,并进行归档,递归爬取归档内容和依赖性。这些存档每天或每月可供下载。

GH Archive

GH Archive 监视 GitHub 公共事件时间轴,将这些事件归档,并使用 BigQuery 使它们可查询。开发者可以按小时、天或月下载快照。

Wayback Machine

互联网档案馆 Wayback Machine 将检索 GitHub 的公共资料库(包括新的资料库、问题、拉取请求、Wiki 等),并将副本存储在旧金山和其他位置的硬盘上,这些档案将通过 git 和 https 公开提供。

Software Heritage Foundation

Software Heritage Foundation(软件遗产基金会)将定期抓取 GitHub,并将其公共存储库添加到存档中,并向其提供公共 API 访问权限。

Bodleian 图书馆

牛津大学的 Bodleian 图书馆将 GitHub 的 10,000 个最受关注和最依赖的存储库保留为 Piql 胶片格式,从而为 Arctic Code Vault 提供冗余。

GitHub Arctic Code Vault(北极)

2020 年 2 月 2 日,GitHub 会对每个活跃的公共存储库进行快照捕获,并保存在 GitHub Arctic Code Vault 中。存储所使用的胶片卷轴长达 3500 英尺,由专门负责研发超长期数据保存技术的挪威 Piql 公司提供并编码,其中的薄膜使用卤化银聚酯技术。根据 ISO 标准,这种介质的使用寿命长达 500 年;同时,老化模拟测试表明,其使用时长也能达到原来的两倍。

这是位于北极世界档案馆(AWA)中的数据存储库,位于北极山永久冻土区深 250 米。该档案馆位于斯瓦尔巴群岛的一个废弃煤矿中,比北极圈更靠近北极。GitHub 将在 2020 年 2 月 2 日捕获每个活动公共存储库的快照,并将这些数据保存在 Arctic Code Vault 中。

斯瓦尔巴群岛受国际《斯瓦尔巴群岛条约》的管制,属于非军事区,是世界上最北端的城镇所在地,地球上最偏远和地缘政治最稳定的人类居住地之一。AWA 是挪威国有采矿公司 Store Norske Spitsbergen Kulkompani(SNSK)与长期数字存储提供商 Piql AS 的一项联合计划。AWA 致力于永久保存档案,胶片卷轴将被存储在位于斯瓦尔巴群岛偏远群岛一座废弃煤矿密封室内的钢壁容器中。

尽管斯瓦尔巴群岛受到气候变化的影响,但在可预见的将来,可能只会影响到最外面几米的永久冻土,预计变暖不会威胁稳定性。矿山靠近著名的 Global Seed Vault(仅一英里之遥),这增强了斯瓦尔巴群岛作为人类集体知识的稳定且长期的档案馆地位。

存档在 GitHub Arctic Code Vault 中的 02/02/2020 快照将包括所有活动的公共 GitHub 存储库,此外还包括由星号、依赖项和咨询小组确定的大量休眠存储库。快照将由每个存储库的默认分支的 HEAD 减去任何大于 100KB 的二进制文件组成,每个存储库将打包为一个 TAR 文件。

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

微软研究院的 SILICA 项目

GitHub 存档计划与 Microsoft 的 Silica 项目合作,通过使用飞秒激光(目前科技条件下所能获得的最短脉冲激光)将所有活动的公共存储库写入石英玻璃片中,最终将其保存超过 10,000 年。

未来如何获取这些代码?

GitHub 正在召集 GitHub Archive Program 咨询小组,其中包括人类学、考古学、历史学、语言学、档案科学、未来主义等方面的专家,就应该在归档中包含哪些内容以及如何与继承者进行最佳沟通提出建议。

存档的简介将包括 QR 解码、文件格式、字符编码和其他关键元数据的技术指南,以便可以将原始数据转换回源代码,以供将来其他人使用。该归档文件还将包括技术树 - 路线图和 Rosetta Stone,以供将来好奇的人继承该归档文件的数据。

关于存档及其使用方式的概述,“技术树”将作为软件开发和计算的快速入门手册,并与该存档的用户指南捆绑在一起。它将描述如何从原始数据向后处理到源代码,以及如何提取项目的目录、文件和数据格式。

受《长期文明手册》启发,该档案还将包括应用开源的信息和指南,以及当下开发者使用开源的情况,以防将来读者需要从头开始重建技术。在人类拥有可以运行的现代计算机但没有可在其上运行的软件的范围内,档案及其技术树可能会非常有价值。但是,该价值很有可能是历史性的。

一千年是很长的时间,一千多年前尚未建成吴哥窟等古代遗址。但是,GitHub 认为可以考虑并计划在未来 1000 年内实现各种可能性,主要任务是为后代开发者保留开源软件,并打算将 GitHub Archive Program 作为开源社区重要性的证明。希望这项计划现在和将来可以进一步宣传全球开源运动,促进在全球范围内广泛采用开源和开放数据政策并鼓励长期思考。

说句题外话,有不少人想加鱼哥微信,鱼哥姑且放出来,但是坑位有限哦
有热门推荐

你写的代码要被 GitHub 存在北极啦!期限是 1000 年!相关推荐

  1. AI之Tool:GitHub Copilot(一款人工智能编程小助手—猜你想写的代码)的简介、安装、使用方法之详细攻略

    AI之Tool:GitHub Copilot(一款人工智能编程小助手-猜你想写的代码)的简介.安装.使用方法之详细攻略 目录 Copilot人工智能工具的简介 1.GitHub Copilot的安全性 ...

  2. 在VS Code中t把分支写的代码合并到master中并提交到远程仓库github上

    新建分支dxj,然后把分支dxj写的代码合并到master中并push到远程仓库github中,步骤如下: 1.在当前主分支master中新建分支dxj E:\projects\ERP\zyyerp- ...

  3. python自己写库1001python自己写库_超酷!我不写一行代码,爬取GitHub上几万的Python库...

    菜鸟独白 爬虫很有趣,很多同学都在学爬虫,其实爬虫学习有一定的成本,需要考虑静态和动态网页,有一堆的库需要掌握,复杂的需要用scrapy框架,或者用selenium爬取,甚至要考虑反爬策略.如果你不经 ...

  4. 使用pycharm将自己项目代码上传github(保姆教程)

    1.梳理一下Git.github和gitee这三个之间的关系: 1.1.Github 首先从我们最熟悉的github来说,他其实是一个代码托管平台,我们可以在他的里面新建很多的仓库,有强迫症的我理解就 ...

  5. 真「祖传代码」!你的 GitHub 代码已打包运往北极,传给 1000 年后人类

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 程序员们,激动的消息来了! GitHub刚刚公布了一组照片,你的代码上周已经被打包运往北极保存.只要你2月2日以前贡献过的开源代码,现在都 ...

  6. 同事说,我写Java代码像写诗

    文章来源:http://33h.co/kntu3 前几天空闲时间写了一遍关于平时自己写代码的一些习惯,这里跟大家分享一下. 定义配置文件信息✦ 有时候我们为了统一管理会把一些变量放到 yml 配置文件 ...

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

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 你写的代码将被会被GitH ...

  8. 揭秘:一个月不摸鱼能写多少代码?

    作者 | 老鱼皮 来源 | 程序员鱼皮(ID:coder_yupi) 猜猜写了多少行?都写了哪些语言呢? 时间过得真是太快了,又到月底了.对于程序员来说,总结还是挺重要的,我也一直保持着一个习惯,就是 ...

  9. 真「祖传代码」!你的GitHub代码已打包运往北极,传给1000年后人类

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 程序员们,激动的消息来了! GitHub刚刚公布了一组照片,你的代码上周已经被打包运往北极保存.只要你2月2日以前贡献过的开源代码,现在都 ...

  10. 雷军 26 年前写的代码,你见过吗?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 程序师 来源 | techug.com/pos ...

最新文章

  1. Rails工作效率和Java运行平台
  2. 【译】Introduction to Byteball — Part 1: Why?
  3. CImage类的使用介绍!
  4. 播放框架模块:分而治之
  5. mysql 查找配置文件 my.ini 位置方法
  6. Airflow使用入门指南
  7. 记事本编程开发以及IDEA编程开发
  8. windowsxp主题包把windowsXP主题改成Windows7风格
  9. Lenovo ServerGuide 10.4
  10. 房友中介管理系统服务器地址查询,房友中介连接服务器设置
  11. Python3脚本抢票
  12. Observability:Data pipeline:Beats => Redis => Logstash => Elasticsearch
  13. IM云服务领域,融云因何得以登上浪潮之巅?
  14. 为整数线性规划(integer linear programming,ILP)
  15. 未来共享出行自动驾驶安全威胁预测
  16. 7、Callable接口
  17. SEO Sitemap优化
  18. Google Map手机地图
  19. Android项目模拟器提示:Unfortunately,XXX has stopped?
  20. 使用Java编写自己的区块链

热门文章

  1. Javascript特效:响应式改变页面背景颜色
  2. Pannellum:实例之简单热点
  3. gifrecord可以卸载吗_频繁安装卸载 App,手机真能受得了吗?!
  4. CentOS7与CentOS6区别及特点
  5. 数据抓取的艺术(一)
  6. 高等数学复习笔记(二)- 一元函数微分学的概念、计算以及几何应用
  7. Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
  8. 算法题:(1) 有一个集合R = [a, b, c, d, e, f, g, h, i, j, k, l, m, n, ],....请写出求解这样的一个子集的通用算法。
  9. 一文详解YOLOX算法实现血细胞检测
  10. 用简单Mask分类实现语义分割、实例分割“大一统”!FacebookUIUC开源MaskFormer