我給自己的數據做過可靠性工程。那棟 18 萬的房子,在我賬上不是房產,是 100TB 的個人數據中心:雙址冗餘,目標 10 個 9 的可靠性——十億次運行裏錯一次的意思。硬盤會壞,我就多放一份;房子會塌,我就再放一處。圖紙畫完,我自己檢查了一遍,然後發現了一個所有副本都罩不住的零件。
這架構最薄弱的一環,就是如果我物理毀滅了——這個零件的失效率,怎麼算都壓不到 10 的負九次方以下。而結論更好笑:我如果物理毀滅了,我也不需要研究了。你把整套系統做到十億分之一的故障率,是為了一個系統存在的前提——你自己——不參加運行的那天。可靠性工程的盡頭站着一個人,而人是所有硬件裏最先壞的那個。
十一個 9
硬件會壞,房子會塌,人會消亡。9 的競賽,在肉體這裏到頭了:十個 9 是我的硬盤的極限,十一個 9 是數學的極限,而死亡不是故障,是停機。它不進可靠性預算,因為它不修復。
所以我決定把我的所有架構全部開源——有一天我物理毀滅了,我的思想還存在。這不是情懷,是架構決策。思想要活得比肉體長,就得先離開肉體——開源就是那個搬運過程:把代碼、邏輯、運維手冊從我的腦子裏搬出去,搬進一個不跟我共用壽命的地方。其中真正值錢的不是代碼,是文檔:為什麼選這個因子、怎麼避開倖存者偏差——代碼是答案,文檔是推導,思想住在推導裏。
最可笑的一件事
但有一盆冷水必須自己潑:就算把這套東西全部開源,只要我不做 marketing,GitHub 上一個 star 都不會有——沒有人明白一個人曾經在裏面付出多少心血。開源解決的是存續,不解決傳播。種子撒出去沒人澆水,照樣死。所以永生不是一個動作,是兩個:開源,加傳播。star 數不是虛榮,是思想的心跳計數器——這也是為什麼我寫這個網站:它是我給自己思想配的通風系統。
故鄉
換句話説,其實 GitHub 是我的故鄉。那裏沒有物業費,沒有通馬桶的煩惱,每一次 commit 都像刻進石頭族譜的一筆;不管肉體在深圳、惠州還是東京,git pull 下來永遠是同一個家。
然後還有一句:但是不是的,我的故鄉寄託在微軟的身上。故鄉的領土、天空、電網、自來水,全是微軟的——GitHub 只是微軟國土上的一個省。永生沒有免費版,只有託管版:不死,但是死後住在別人的服務器上。
我簽了這份合同。哪天你點開我的倉庫看到一個 404,那不叫網頁丟失——那是一個故鄉,連同它全部的族譜,遷走了。