天天看點

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

「代碼恒久遠,bug 永流傳。」前不久,GitHub 幫廣大程式員把這個噩夢變成了現實。

上周,這家全球最大的開源代碼托管機構表示:今年的 7 月 8 号,我們已經把大家 2 月 2 号之前開源的項目代碼安全送到了北極,預計存個一千年沒有問題。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

為什麼要費這麼大勁存一堆代碼?GitHub 曾在去年的 GitHub Universe 大會上解釋說:首先,這些代碼都是人類文明的寶貴财富,但現有的存儲媒體都不足以讓它們長期儲存下去,一旦丢失,後代就要重新造輪子;其次,天有不測風雲,萬一哪天哪個天災人禍讓地球回到原始時代,起碼還能留下點火種,讓後代在這個基礎上重建新一輪的計算機文明。

GitHub 的擔心不無道理。且不說外星人入侵、核戰争之類的全球毀滅性災難,就是在正常情況下,人類文化遺産也有不少一度或永遠消失在曆史長河中,比如古羅馬的混凝土工藝。

是以,GitHub 就想到了這個極富遠見和科幻色彩的方法——将代碼存到北極。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

這個項目名叫 GitHub Archive Program,宗旨是為子孫後代留下一個名為「GitHub Arctic Code Vault」的開源項目代碼庫,具體做法是為網站上每個活躍的開源代碼庫建立「快照」,然後将其存儲在膠片上運往北極。

受疫情影響,該計劃最近才被完成。

如果你在今年 2 月 2 号之前向 GitHub 送出過開源項目代碼,那麼恭喜你,你的代碼很可能已經靜靜地躺在北極了。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種
為了表彰廣大開發者對開源項目的貢獻,GitHub 設計了榮譽徽章(圖上的「Highlights:Arctic Code Vault Contributor」字樣)。如果你的 GitHub 個人首頁下方也有這個徽章,表明你的代碼去了北極。機器之心的已經去了。

21TB 代碼的北極之旅

此次運往北極的代碼達到了 21TB,存儲在 186 卷數字光敏檔案膠片中。這些膠片來自一家名為 Piql 的挪威公司。據報道,常見膠片的壽命約為 500 年,但 Piql 的膠片在 1000 年之後仍能讀取。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

代碼以二維碼的形式存儲在膠片上,每一幀可以容納 880 萬個像素。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

這些膠片從 Piql 在挪威德拉門的辦公地點出發,被打包運到首都奧斯陸機場。它的最終目的地是 600 英裡(1000km)外的斯瓦爾巴群島。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

經過上千公裡的飛行,代碼安全抵達斯瓦爾巴群島的朗伊爾城。這裡的山上有一個「退役」的煤礦,你的代碼就被安置在煤礦幾百米深處永凍層的一個房間。這一區域被稱為人類文明的「諾亞方舟」,全球種子庫也在這附近。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種
除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

一份寫給未來的讀取指南

GitHub 這一項目的科幻色彩貫穿于每個細節。考慮到一千年後的人類不一定能讀懂今天的代碼,GitHub 貼心地為每份文檔附加了一份「指南」。

指南的開頭這樣寫道:「你可能在一年或一千年之後讀到這篇文章,但無論是哪種情況,我們都希望文中的概念,或者說開源的概念,對你有所幫助。」

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

接下來,他們又簡單地介紹了一下二進制、計算機、軟體、編譯等基本概念,以及如何解碼膠片上的資訊。

由于不确定人類将來使用何種語言,GitHub 将這份指南用五種語言各寫了一遍。

盡管已經解釋地非常仔細了,但 GitHub 覺得,後代還是有可能打不開這些檔案,因為他們可能缺乏一樣最重要的東西——計算機。

地球上最早的人類文明誕生于數千年前,但現代計算機直到最近幾十年才出現。如果再經曆一次文明重建的過程,我們的後代是不是還要花這麼長時間?GitHub 顯然已經想到了這個問題。是以,除了代碼讀取指南之外,他們還留下了另一樣東西——「科技樹」。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

「科技樹」是一個獨立的人類可讀卷軸,裡面主要包含現有的工作,旨在讓後代對現代計算、開源及其應用、現代軟體開發、流行程式設計語言等有一個詳細的了解。

此外,它還包含了解軟體所需的多層技術基礎,如微處理器、網絡、電子、半導體,甚至工業社會前的技術。有了這些技術,我們的後代就有可能重新造出現代計算機。

有人在 GitHub 的這份指南中讀出了《流浪地球》般的史詩味道,感興趣的讀者可以前去閱讀全文:

https://github.com/github/archive-program/blob/master/GUIDE.md

被封存的不隻是代碼

在 GitHub 公布代碼已經安全抵達北極的消息之後,開發者們紛紛曬出自己的代碼被選中的喜訊。

有人将這個項目的「浪漫」演繹到了極緻:

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

但對于另外一些人來說,浪漫永遠是别人的:

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

還有人擔心後代看不上自己的代碼:

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

更有意思的是,有人提醒說,GitHub 上幾屏都拉不到底的女裝教程「Dress」也被凍在了北極:

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

GitHub 上著名的女裝項目,star 量 17.6k,貢獻者有 248 位。該項目已經得到了 GitHub 給的徽章。

讓我們猜測一下後代打開這個項目之後的反應:

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

除了北極的這個存儲庫之外,你的代碼(和照片)還有可能會出現在網際網路檔案館(IA)和軟體遺産基金會(Software Heritage Foundation)的庫裡,因為他們都和 GitHub 展開了合作,前者已經歸檔了大約 55TB 的資料,後者也已經歸檔了超過 1.3 億個項目。

看來,以後寫(傳)代(照)碼(片)也要多長點兒心了。

GitHub:1000 年不夠,我們還打算存幾萬年

對于一個個體的生命來說,一千年已經很長了。但從整個人類的曆史來看,時間是以「萬年」為機關的。是以,GitHub 一直在尋找更加持久的存儲方式。在最新的部落格中,他們介紹了 Project Silica——一種借助石英玻璃存儲代碼的方法。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

這種存儲方式是通過永久改變玻璃材質的實體結構實作的,能夠抵抗地磁幹擾,還能防水防熱,可以将資料存儲數萬年。

除了bug,GitHub可能還把你的女裝照凍到了北極,1000年後還能讀那種

目前,GitHub 已經借助該方法存儲了 6000 多個全世界最流行的開源項目,而且這個數字未來還将持續擴大。

最後提醒一句,如果不想被存幾萬年,現在删掉一些東西可能還來得及。

參考連結:

https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic/

繼續閱讀