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