很久很久以前,西方流傳著這樣一個傳說:亡靈會在隆冬開始的第一天(也就是萬圣節(jié)這天)回到人世,尋找合適的身體“重生”,而他們堅信保存好尸體是復活的基本保障,所以,木乃伊出現(xiàn)了。
現(xiàn)在,Github 也要做一件流傳千年的事業(yè)。
7 月 8 日,GitHub 將支撐當今社會運轉(zhuǎn)的幾乎所有開源代碼,以膠片的形式儲存,打包運往 Svalbard。目前,這些膠片已經(jīng)被放置在鋼制容器內(nèi),密封在一個廢棄煤礦中。在這個極其干燥的、-5°C 恒溫的礦井中,這些代碼至多可以保存一千年。
聽聞自己的代碼被送到北極的程序員們也坐不住了,紛紛曬出自己的代碼被選中的喜訊,但也是幾家歡喜幾家愁。
有人用代碼給吃瓜群眾狠狠撒了一波狗糧:
也有人懊悔當初為什么要上傳自己還未修改的代碼,這可是會被后代“恥笑千年”的?。ㄊ謩庸奉^)
更有意思的是,有些開發(fā)者的“惡趣味”代碼也被統(tǒng)統(tǒng)送去了北極,不知道千年之后后代看到這些代碼怎么想......
GitHub Archive Program代碼永久保存計劃
那么,問題來了,GitHub 為什么要把代碼保存在北極呢?
這還要從去年的 GitHub Universe 大會說起。
GitHub 官方說明了這個計劃啟動的原因:
世界由開源軟件提供動力。它是現(xiàn)代文明的隱藏基石,也是全人類的共同遺產(chǎn)。GitHub Archive Program 的任務是為后代保留開源軟件。
我們還打算將 GitHub Archive Program 用作證明開源社區(qū)重要性的證明。我們希望它現(xiàn)在和將來都將進一步宣傳全球開源運動。促進在全球范圍內(nèi)廣泛采用開源和開放數(shù)據(jù)政策;并鼓勵長期思考。
同時,GitHub 也強調(diào)會和很多頂級的機構(gòu)、企業(yè)合作,計劃通過多種形式并行的存儲形式。
為什么要通過多種形式存儲呢,GitHub 也解釋了原因。
首先,我們永遠不知道明天會發(fā)生什么,所以做好萬全的準備是為人類保存火種。(emmm....聽起來很有道理)
其次,跨多個組織和存儲形式的歸檔軟件將有助于確保其長期保存。而目前,大部分的數(shù)字信息都存儲在只能短期儲存信息的介質(zhì)上,如:硬盤,SSD。硬盤可以使用幾十年,磁帶名義上可以有 30 年的使用壽命,但需要嚴格控制熱量和濕度。所以 GitHub 存檔計劃想通過多形式的存儲組合,來解決隨著時間的流逝數(shù)據(jù)丟失的風險。
可以說,為了讓后代有跡可循,GitHub 也是操碎了心。
保存在哪里?
那么,代碼要保存在哪里呢?
既然要保存千年以上,那么這個地方一定要絕對安全,并且發(fā)生重大災難的系數(shù)也要極低,最終,GitHub 將代碼保存地點保存在了常年冰封的 Svalbard—;—;斯瓦爾巴群島。
這里氣候極寒,數(shù)千只北極熊與三千人類居民共生。受國際斯瓦爾巴條約的監(jiān)管,它是地球上最偏遠,也是地緣政治最穩(wěn)定的人類居住地之一。
雖然 Svalbard 會受到氣候變化的影響,但在可預見的未來,受到影響的大概率只是最外層幾米的永久凍土,氣候變暖不會威脅礦井的穩(wěn)定。因此,這個礦井也成為保存人類文明的重要基地。
并且,已有成功先例。
AWA(Arctic World Archive,世界數(shù)據(jù)檔案館)就在這里,AWA 已經(jīng)保存了來自意大利、巴西、挪威、梵蒂岡和許多其他國家的歷史和文化數(shù)據(jù)。著名的「全球種子庫」也位于此,距離 GitHub 選擇的礦井僅一英里遠,那里保存了世界上幾乎所有農(nóng)作物的種子。
AWA 是挪威國有采礦公司 Store Norske Spitsbergen Kulkompani(SNSK)與長期數(shù)字存儲提供商 Piql AS 的一項聯(lián)合計劃,AWA 致力于永久保存檔案。膠片卷軸將被存儲在位于斯瓦爾巴群島偏遠群島的一座退役煤礦內(nèi)的密封室內(nèi)的鋼壁容器中。
今年 2 月 2 日,工作人員拍下了 GitHub 上所有開源項目并存檔。
按照原計劃,GitHub 計劃讓團隊成員親自護送這批代碼到北極。但萬萬沒想到,新冠疫情爆發(fā)了。GitHub 團隊只能與合作方膠片數(shù)據(jù)存儲公司 Piql 保持遠程聯(lián)系。
他們只能先將 21TB 的代碼數(shù)據(jù)交到這家公司位于挪威德拉門的工廠。代碼被寫在了 186 箱膠片里,膠片每幀都包含 880 萬個像素點,源代碼以 QR 碼的形式存儲其中。
最終,這 186 箱膠片被運到挪威首都奧斯陸,裝上飛機運往距離歐洲大陸北部 1000 公里遠的斯瓦爾巴群島。
代碼最終保存在斯瓦爾巴群島上一個只有幾千人的小鎮(zhèn)朗伊爾城。
此外,為表彰開發(fā)者們的貢獻設立,參與者將收獲一枚北極密碼庫徽章。
GitHub 稱,這一項目是為了表彰全世界數(shù)以百萬計的開發(fā)人員為開源社區(qū)作出的貢獻。GitHub 還特意設計了 Arctic Code Vault 徽章,目前如果你打開 GitHub 開發(fā)者簡介,鼠標移動到作者簡歷的高亮部分就可以看到。
下一步計劃
保存之后還要確保后代能使用,在這一點上,GitHub 也想好了辦法。
據(jù)其官方介紹,被存儲每個檔案卷都包含一份五種語言的“ GitHub 代碼庫指南”,由 GitHub 社區(qū)的輸入編寫,可以在該檔案程序自己的 GitHub 庫中找到。此外,GitHub 還計劃將一個獨立的人類可讀卷軸運往北極一起存儲,它記錄了檔案內(nèi)容的技術(shù)歷史和文化背景。
GitHub 稱之為科技樹。
“科技樹”受 Long Now 文明手冊的啟發(fā),主要包括現(xiàn)有的工作,選擇提供對現(xiàn)代計算、開源及其應用、現(xiàn)代軟件開發(fā)、流行編程語言等的詳細了解。它還將包括解釋使軟件成為可能的多層技術(shù)基礎的著作:微處理器、網(wǎng)絡、電子、半導體,甚至前工業(yè)技術(shù)。這將使檔案的繼承者更好地了解當今世界及其技術(shù),甚至可能幫助他們重新創(chuàng)建使用存檔軟件的計算機。
該計劃以我們今天擁有的最佳思路為基礎,存檔的簡介將包括 QR 解碼,文件格式,字符編碼和其他關鍵元數(shù)據(jù)的技術(shù)指南,以便可以將原始數(shù)據(jù)轉(zhuǎn)換回源代碼,以供將來其他人使用。
該歸檔文件還將包括技術(shù)樹-路線圖和 Rosetta Stone,以供將來好奇的人繼承該歸檔文件的數(shù)據(jù)。
所以,程序員們還不去看看你的哪些代碼被送到了北極~