GitHub存档计划:北极代码保险库

在2019 GitHub 宇宙大会(GitHub Universe 2019)上,他们提到了一个问题,1000年后的软件会是什么样?人类会是什么样子?对此我们只能猜测,但我们可以采取行动以确保当下最重要的组成部分能够延续到未来。GitHub方面认为,我们的世界是由开源软件提供支持的,这是我们文明的隐藏基石,也是全人类的共同遗产。所以“GitHub存档计划”的任务就是将其保存下来以供后代使用,他们跟斯坦福图书馆、Long Now基金会、互联网档案馆、软件遗产基金会、Piql、微软研究院和博德莱恩图书馆合作,以保护全球的开源代码。主要是通过在不同的数据格式和位置存储多个副本来保护这些知识,其中包括一个专门设计来保存至少1000年的超长存档,被称为GitHub北极代码保险库(GitHub Arctic Code Vault)。

在2020年2月2日,相关人员对GitHub上所有活动的公共存储库进行了快照,以将其存档在保险库里。过去几个月,他们的档案合作伙伴Piql将186卷 piqlFilm(数字光敏档案胶片)卷写入了21TB的存储库数据。所以如果你在2020年2月2日前贡献过开源代码,都进行了快照存档,被专业人员埋到北极圈了!GitHub设计了北极代码保险库徽章Highlight,该徽章显示在GitHub上开发人员个人资料的亮点部分。鼠标悬停,就可以看到个人贡献的存储库。

GitHub最初是计划让他们自己的团队团队飞去挪威,亲自护送世界开源代码到北极,但随着世界范围继续遭受疫情的影响,他们调整了计划,只能跟合作伙伴保持密切联系,等待安全前往斯瓦尔巴群岛的时间。

体验开源代码的北极之旅

值得一提的是,斯瓦尔巴群岛是世界上最北端的城镇所在地,那里气候极寒,只有几千只北极熊和几千人类一起居住。而且这里受国际《斯瓦尔巴群岛条约》管制,属于非军事区。据GitHub官方最新消息,这些代码已于2020年7月8日成功存放在斯瓦尔巴群岛的北极代码保险库(Arctic Code Vault)中。

您的代码之旅始于Piql在挪威德拉门的工厂,那里装有186个胶片卷轴的盒子被运到奥斯陆机场,然后装到飞机的腹部,为斯瓦尔巴群岛提供旅客服务。 斯瓦尔巴群岛位于欧洲大陆以北约600英里(1000公里),最近才开放给申根地区和欧洲经济区国家的游客。

运载代码的飞机降落在斯瓦尔巴特群岛(Svalbard)上一个只有几千人的小镇朗伊尔城(Longyearbyen),所有箱子被当地的一家物流公司运到了中间的安全仓库过夜。第二天早上,它门会来到位于山上的一座废弃的煤矿,然后到达深藏在数百米下的永久冻土层中的一个密室,我们的代码现在就驻留在那,以履行其将全球开放源代码保存1000多年的使命。

这些代码其实并不孤独,这个地方还有着世界数据档案馆(Arctic World Archive),里面保存了意大利、巴西、挪威、梵蒂冈还有很多其他国家的历史和文化数据。另外著名的全球种子库与这个矿井也就1.6公里的距离,那里也保存了几乎所有农作物的种子。虽然会受到气候变化的影响,但在可预见的未来,它只能影响到最外层几米的永久冻土,预计不会威胁矿井的稳定性。

确保将来的人能够正确使用

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

一千年是很长的时间,像吴哥窟、大津巴布韦和马丘比丘这样的古代遗迹在一千年前还没有建成。他们考虑并规划未来1000年的各种可能性,最后以我们今天拥有的最佳创意为基础。

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

受《长期文明手册》启发,该档案还将包括应用开放源代码的信息和指南,以及我们今天如何使用开放源代码,以防将来读者需要从头开始重建技术。就像旅行者1号和旅行者2号这两艘宇宙飞船上携带的黄金唱片一样(承载着人类与宇宙星系沟通的使命),它将有助于我们将这个世界的故事传达给未来。

档案的介绍将包括QR解码、文件格式、字符编码和其他关键元数据的技术指南,以便原始数据可以转换回源代码供未来人类使用。该档案还将包括一个“技术树”,上面有路线图和罗塞塔石碑,以供将来好奇的人继承该归档文件的数据。

转载请标明本文来源:https://www.cnblogs.com/yswenli/
更多内容欢迎我的的github:https://github.com/yswenli/
如果发现本文有什么问题和任何建议,也随时欢迎交流~

你的代码已被埋在北极冰雪之下,保存千年——GitHub北极代码保险库的更多相关文章

  1. 使用命令创建github代码仓库,push本地仓库到github远程代码仓库

    1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立gith ...

  2. Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法

    今天项目中碰到一个以前从没有见过的异常信息“由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值”,于是查了一下资料,原来此异常是由于我在代码中使用了"Response.End ...

  3. 异常:Data = 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。

    做项目的时候,将DataTable序列化成Json,通过ashx向前台返回数据的时候,前台总是获取不到数据,但是程序运行却没问题, 没抛出异常.一时找不到办法,减小输出的数据量,这时前台可以接收到页面 ...

  4. C# 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。这个错误是什么原因引起的?

    C# 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值.这个错误是什么原因引起的? 2011-12-17 22:45 提问者: 匿名|浏览次数:6056次 我来帮他解答 图片 符号 ...

  5. Page 由于代码已经过优化或者本机框架位于调用堆栈之上

    Page.Response.Clear();            Page.Response.Write("<script type=\"text/javascript\& ...

  6. 【.NET】由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。

    前言 上段时间做项目时,遇到如题之类问题,如今过去有一段时间了,具体出现的情形忘了,当时虽然找到了解决方法,但是依旧没有弄明白出现此种情况是何种原因,后来在微软的帮助支持中心找到了答案,特此记录,以防 ...

  7. asp.net 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值

    看MS给的解决方案:(http://support.microsoft.com/kb/312629/ ) 症状:如果使用 Response.End.Response.Redirect 或 Server ...

  8. 在Windows下github展示代码

    最近大爱Web编程,于是寻找各种代码中,然后就发现了GitHub这个网站,如果你知道Google Code,那么你就知道这个GitHub是做什么的了.不过GitHub主要是用作基于Git的分布式版本管 ...

  9. GitHub 系列之「向GitHub 提交代码」

    1.SSH 你拥有了一个 GitHub 账号之后,就可以自由的 clone 或者下载其他项目,也可以创建自己的项目,但是你没法提交代码.仔细想想也知道,肯定不可能随意就能提交代码的,如果随意可以提交代 ...

  10. 从0开始学习 GITHUB 系列之「向GITHUB 提交代码」【转】

    本文转载自:http://stormzhang.com/github/2016/06/04/learn-github-from-zero4/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...

随机推荐

  1. & 0xFF 作用 取低8位

    & 0xFF 取低8位 @Test void byteTest() { byte hex1 = (byte) 127; byte hex2 = (byte) 383; byte hex3 = ...

  2. LT01 创建转储单

    一.LT01创建转储单 采购订单--MIGO收货--虚拟仓位--LT01上架--实体仓位--LT01下架--虚拟仓位--MIGO发料--生产订单 二.参考代码 "-------------- ...

  3. AtCoder Educational DP Contest 刷题记录

    写在前面 深感自己 DP 很弱的 村人B 刷了点 DP 题,题集地址戳这里. 后记:刷完后感觉自己又行了 A - Frog 1 题意 给定 \(n\) 个石头,第 i 个石头的高度为 \(h_i\). ...

  4. 0x68 - C题:車的放置

    链接:https://ac.nowcoder.com/acm/contest/1062/C 题目描述 给定一个N行M列的棋盘,已知某些格子禁止放置. 问棋盘上最多能放多少个不能互相攻击的車. 車放在格 ...

  5. 【每日一题】1. tokitsukaze and Soldier (优先队列 + 排序)

    题目链接:Here 思路:这道题很容易看出来是考察 优先队列(priority_queue) 和 sort . 对于容忍人数越高的人来说,团队人数低也更能做到: for i = 0 to n - 1: ...

  6. JVM自定义类加载器在代码扩展性的实践

    一.背景 名单管理系统是手机上各个模块将需要管控的应用配置到文件中,然后下发到手机上进行应用管控的系统,比如各个应用的耗电量管控:各个模块的管控应用文件考虑到安全问题,有自己的不同的加密方式,按照以往 ...

  7. Zookeeper(3)---java客户端的使用

    前面介绍了zk指令的使用,这里说一下java客户端中怎么使用这些指令 <dependency> <groupId>org.apache.zookeeper</groupI ...

  8. 《3D编程模式》写书记录

    本书介绍 本书罗列了我从自己的实战项目中提炼出来的关于3D编程(主要包括"3D引擎/游戏引擎"."编辑器"开发)的各种编程模式 所有的写书记录 <3D编程 ...

  9. 基于AHB_BUS SRAM控制器的设计-02

    AHB-SRAMC Design 片选信号决定哪几个memory被选择和功耗 sram_addr和sram_wdata都是可以通过AHB总线的控制信号得到的 1. sram_csn信号理解 hsize ...

  10. P5728 【深基5.例5】旗鼓相当的对手

    1.题目介绍 2.题解 2.1 二维数组 思路 主要熟悉vector创建二维数组的方法 vector<vector> ans(N,vector(3)); 这里第一个元素表明数组大小,第二个 ...