GitHub 啟動程式碼永久儲存計劃,為人類文明留“火種”?

發表於2019-11-16

clipboard.png

2019 年 11月 13-14 日,GitHub 舉辦了年度開發者大會 GitHub Universe 2019。

今年的 GitHub 大會,除了在會前釋出的年度報告(點選藍字回顧:GitHub 年度報告解讀),還公佈了一個 GitHub 的 App 版本,讓廣大開發者喜大普奔。

但最讓我感興趣的,是他們在峰會現場釋出的 —— GitHub Archive Program 程式碼永久儲存計劃。

在會上,GitHub 官方說明了這個計劃啟動的原因:

世界由開源軟體提供動力。它是現代文明的隱藏基石,也是全人類的共同遺產。GitHub Archive Program 的任務是為後代保留開源軟體。

我們還打算將 GitHub Archive Program 用作證明開源社群重要性的證明。我們希望它現在和將來都將進一步宣傳全球開源運動。促進在全球範圍內廣泛採用開源和開放資料政策;並鼓勵長期思考。

這個專案由 GitHub 和很多頂級的機構、企業合作,計劃通過多種形式並行的儲存形式,能夠長期儲存世界上的開源軟體和專案,至少上千年。

一、啟動多形式儲存計劃的原因

clipboard.png

名詞解析:亞歷山大圖書館

亞歷山大圖書館,又稱古亞歷山大圖書館,曾是世界上最大的圖書館。後來慘遭火災被摧毀,從而丟失了成千上萬本包含大量經典文學,科學和文化的文字。

1.為什麼使用多種形式的儲存?

儘管發生全球災難的可能性很小,但我們可能會在幾代後失去所有儲存在現代媒體上的東西。

跨多個組織和儲存形式的歸檔軟體將有助於確保其長期儲存,線上歸檔員將其稱為「LOCKSS」,通過大量副本來確保資訊的安全。

名詞解析:LOCKSS

LOCKSS 是通用數字儲存技術和解決方案提供商,也是史丹佛圖書館數字圖書館產品組合的支柱。LOCKSS 目前是數字儲存領域中廣泛接受的最佳實踐,並且更廣泛地用於確保數字資訊的永續性。

目前,大部分的數字資訊都儲存在只能短期儲存資訊的介質上,如:硬碟,SSD。硬碟可以使用幾十年,磁帶名義上可以有 30 年的使用壽命,但需要嚴格控制熱量和溼度。

GitHub 存檔計劃想通過多形式的儲存組合,來解決隨著時間的流逝資料丟失的風險。

2.未來社會如何使用我們的程式碼?

GItHub 已經與史丹佛圖書館合作,幫助整理相關資料庫以及其所處的文化和背景,作為廣泛的歷史和社會研究與分析的關鍵要素。通過程式碼永久儲存計劃,未來的歷史學家將能夠從開源專案和後設資料中瞭解我們。

由於硬體的壽命比當今大多數儲存介質(尤其是較舊的和/或具有掩碼ROM的儲存介質)的壽命長得多,因此存在執行現代計算機的一系列可能的未來,但是它們的軟體已大失所望。存檔程式將保留該軟體。

還有一點,因為現在某些國家和地區因為政策原因限制訪問了 GitHub 的部分功能,隨著這一計劃的展開,受影響的開發人員可以使用 Internet Archive 和 Software Heritage Foundation 訪問其專案的公共程式碼。

可以預見一個未來,在這個未來中,當今的軟體將被視為古樸而又被人們遺忘的無關緊要的事物,直到對它的意外需求出現。

二、靈活持久的「步調分層」策略

clipboard.png

名詞解析:步調分層

步調分層在整個系統中提供了多級的校正,穩定反饋。正是在這些層次之間的矛盾中,文明才找到最可靠的健康。我建議在一個健壯且適應性強的文明中,六個重要的步調和規模。

這個專案將採用「步調分層」策略來歸檔程式碼,通過提供從實時到長期儲存的一系列儲存解決方案,該方法旨在最大程度地提高靈活性和耐用性。

存檔程式分為三層:熱,熱和冷。

  • 熱:接近實時更新
  • 暖:每月至每年更新
  • 寒冷:每5年以上更新

以下各儲存方案按由熱到冷的順序排列:

1.GitHub

每次訪問 GitHub 時,GitHub 都會將 Git 資料複製到世界各地的多個資料中心。此外,在 Git 的多個位置儲存 Git 資料、問題、拉取請求以及進行所有的資料備份,這些都可通過 GitHub API 實時獲得。

2.GH 種子檔案(GHTORRENT)

GHTorrent 監視 GitHub 公共專案的時間線,並歸檔這些事件,遞迴爬取和歸檔它們的內容和依賴性。這些存檔將在每天或每月供下載。

3.GH 檔案(GH ARCHIVE)

GH 檔案監視 GitHub 公共事件時間軸,將這些事件歸檔,並使用 BigQuery 使它們可查詢。開發者可以按小時、天或月下載快照。

4.網際網路檔案館(INTERNET ARCHIVE)

網際網路檔案館將抓取 GitHub 的公共資料庫(包括新的資料庫、問題、拉取請求、Wiki 等),並將副本儲存在舊金山和其他位置的硬碟上,這些檔案將通過 git 和 https 公開提供。

5.軟體遺產基金會(Software Heritage Foundation)

軟體遺產基金會將定期抓取 GitHub,並將其公共儲存庫新增到存檔中,並向其提供公共 API 訪問許可權。

6.Bodleian 圖書館(BODLEIAN LIBRARY)

牛津大學的 Bodleian 圖書館將 GitHub 的 10,000 個最受關注和最依賴的儲存庫保留為 Piql 膠片格式,從而為 Arctic Code Vault 提供冗餘。

7.北極世界檔案(ARCTIC WORLD ARCHIVE)

2020 年 2 月 2 日,GitHub 將捕獲每個活動公共儲存庫的快照,並將其儲存在 GitHub Arctic Code Vault 中。這些資料將儲存在 3500 英尺的膠片卷軸上,該膠片卷軸由一家專門從事長期資料儲存的挪威公司 Piql 提供並編碼。薄膜技術依賴於聚酯上的鹵化銀。根據 ISO 的標準,這種介質的使用壽命為 500 年;模擬的老化測試表明,Piql 的膠片會使用兩倍的時間。

8.微軟研究院的 SILICA 專案(PROJECT SILICA FROM MICROSOFT RESEARCH)

GitHub 存檔計劃與 Microsoft 的 Silica 合作,通過使用飛秒鐳射將所有活動的公共儲存庫寫入石英玻璃片中,最終將其儲存超過 10,000 年。

名詞解析:飛秒鐳射

飛秒鐳射是指時域脈衝寬度在飛秒(毫微微秒,10的負15次方秒)量級的鐳射。可以用在聚合物加工、醫學成像及外科醫療上。飛秒鐳射現已是目前21世紀最先進的眼科手術。鐳射視力矯正(LASIK)可以利用飛秒鐳射製作角膜瓣。除此之外,也可被應用在固態物理上,以此分析晶體結構,分析其衍射或者螢光光譜圖。在基礎科學研究領域,飛秒鐳射可用於超快現象的研究。

三、GitHub 北極程式碼庫

clipboard.png

GitHub Arctic Code Vault 是一個資料儲存庫,儲存在北極世界檔案館(AWA)中,這是一個長期的檔案設施,位於北極山永久凍土層深250米。該檔案館位於斯瓦爾巴群島的一個退役煤礦中,比北極圈更靠近北極。

GitHub 將在 2020 年 2 月 2 日捕獲每個活動公共儲存庫的快照,並將這些資料儲存在 Arctic Code Vault 中。此外還包括由星號、依賴項和諮詢小組確定的大量休眠儲存庫。快照將由每個儲存庫的預設分支的 HEAD 減去任何大於 100KB 的二進位制檔案組成,每個儲存庫將打包為一個 TAR 檔案。

斯瓦爾巴群島受國際《斯瓦爾巴群島條約》的管制,屬於非軍事區。它是世界上最北端的城鎮的所在地,是地球上最偏遠和地緣政治穩定的人類居住地之一。

AWA 是挪威國有采礦公司 Store Norske Spitsbergen Kulkompani(SNSK)與長期數字儲存提供商 Piql AS 的一項聯合計劃,AWA致力於永久儲存檔案。膠片卷軸將被儲存在位於斯瓦爾巴群島偏遠群島的一座退役煤礦內的密封室內的鋼壁容器中。

至今為止,AWA 已經儲存了來自義大利,巴西,挪威,梵蒂岡和許多其他國家的歷史和文化資料。儘管斯瓦爾巴群島受到氣候變化的影響,但在可預見的將來,它可能僅影響最外面幾米的永久凍土。礦山距著名的全球種子庫僅一英里之遙,這進一步增強了斯瓦爾巴群島作為人類集體知識的穩定且長期的穩定檔案館的地位。

名詞解析:斯瓦爾巴全球種子庫(Global Seed Vault)

斯瓦爾巴全球種子庫是挪威政府在北冰洋的斯瓦爾巴群島建造的,一個儲存全世界農作物種子的貯藏庫。種子庫是為了在大規模的區域性或全球性危機期間防止其他基因庫中種子的丟失。這個工程得到了聯合國糧農組織的支援,被稱為是全球農業的“諾亞方舟”。

四、如何確保未來可以使用我們的軟體?

clipboard.png

GitHub 正在召集一個 GitHub Archive Program 諮詢小組,其中包括人類學,考古學,歷史學,語言學,檔案科學,未來主義等方面的專家,以就應該在歸檔中包含哪些內容以及如何與繼承者進行最佳溝通提供建議。

一千年是很長的時間。一千多年前尚未建成吳哥窟,大辛巴威和馬丘比丘等古代遺址。但是,我們可以考慮並計劃在未來 1000 年內實現各種可能性。

該計劃以我們今天擁有的最佳思路為基礎,存檔的簡介將包括 QR 解碼,檔案格式,字元編碼和其他關鍵後設資料的技術指南,以便可以將原始資料轉換回原始碼,以供將來其他人使用。

該歸檔檔案還將包括技術樹-路線圖和 Rosetta Stone,以供將來好奇的人繼承該歸檔檔案的資料。

關於存檔及其使用方式的概述,“技術樹”將作為軟體開發和計算的快速入門手冊,並與該存檔的使用者指南捆綁在一起。它將描述如何從原始資料向後處理到原始碼,以及如何提取專案,目錄,檔案和資料格式。

受《長期文明手冊》啟發(幷包括其內容),該檔案還將包括應用開源的資訊和指南,以及我們今天使用它的背景情況,以防將來讀者需要從頭開始重建技術。

在人類擁有可以執行的現代計算機但沒有可在其上執行的軟體的未來範圍內,檔案及其技術樹可能會非常有價值。但是,該價值很有可能是歷史性的,也許可以確保今天的技術不會因一個漫不經心地認為無關緊要的明天而喪失,直到發現我們的軟體被意外使用。

專案官網:https://archiveprogram.github...

程式碼恆久遠,一行永流傳。

地球有 46 億年的歷史,我們應該不是出現在這個星球上的第一代智慧生物,那麼問題來了:上一代「地球人」的痕跡在哪裡?他們的文化和文明是什麼?

這些我們暫時都不得而知,但希望我們的歷史和文化,在千萬年之後能被下一代「地球接班人」發現,估計挺有意思的~

clipboard.png

相關文章