我看著她,淡淡地說:「以後多關照。」
她的手抖了一下。
整個行業現在都在流傳一個關於我的傳說。
他們說,千萬不要輕易辭退一個老實的程式設計師,因為你永遠不知道,他的代碼里藏著多少後門。
他們說得不對。
那不是後門。
那是我為自己留的一條生路。
那天,我站在星河數據三十六樓的辦公室里,看著窗外。啟明科技原來所在的那棟樓,就在不遠處,灰撲撲的,像一塊墓碑。
這時,我的新助理敲門進來。
「陸總,啟明科技的破產管理人想約您見個面。」
「不見。」
「他們說,想把之前那個項目的爛攤子……低價賣給我們。」
我轉過身,看著這個年輕人。
「你告訴他,」我說,「我們星河數據,從來不碰別人用過的東西。」
助理愣了一下,點點頭,出去了。
我走到辦公桌前,桌上放著一個相框。
相框里,是茜茜的笑臉,她旁邊是我,我也在笑。
那是我離職後,帶她去公園時拍的。
陽光很好,一切都剛剛開始。
我的手機響了,是一個招標會的提醒。是啟明科技之前最大的一個客戶,現在,他們要重新選擇技術供應商。
而我,將作為甲方代表,坐在評審席上。
我整理了一下領帶,走出辦公室。
走廊的盡頭,我看到了一群熟悉的面孔。那是啟明科技剩下的人,由一個副總帶著,來參加這次招標。他們看到我,像見了鬼一樣,僵在原地。
我沖他們笑了笑,徑直走了過去。
擦肩而過的時候,我聽到那個副總用幾乎聽不見的聲音,說了幾個字。
「留條活路吧。」
9.
招標會的會議室,空調開得很足。
我坐在甲方評審席的正中央。啟明科技的人走進來時,帶隊的是個姓孫的副總。
他轉頭看向我的時候,臉上堆積的笑意有些僵硬。
彙報開始了。
孫副總講得磕磕巴巴,PPT 做得花里胡哨。我一句話沒說,靜靜地看著他。等他講完,我拿起桌上那本薄得像傳單的標書,翻到技術方案那一頁。
「孫總,」我用筆敲了敲桌面,「你們這套『分布式高並發處理框架』,用的是什麼版本控制系統?」
他身後的一個年輕人小聲說:「用……用的是 SVN。」
會議室里響起輕微的、壓抑的笑聲。
我把標書扔在桌上,聲音不大。
「連 Git 都不會用的團隊,」我說,「也配談數字化轉型?」
孫副總的臉,瞬間漲成了豬肝色。
我看著他,就像看著一隻被釘在牆上的甲蟲,看著他徒勞地揮舞著觸角。那一刻,我感覺很好。
就像一場高燒退去後的虛脫,帶著一種病態的快感。
10.
一個陌生的號碼打到我的私人手機上。
電話那頭,是一個女人的聲音,很平靜。
「是陸建國先生嗎?」
「是我。」
「我姓張,是啟明科技前 CTO……李工的愛人。」
我的手猛地攥緊了。李工,就是那個在機房拔掉電源的 CTO,因為重大安全責任事故,判了三年。
「李工他……在裡面還好嗎?」我聽見自己的聲音很乾澀。
「不好。」女人說,「他有高血壓,進去之後瘦了三十斤。前幾天突發腦溢血,人還在搶救。」
我的心沉了下去。
「對不起。」我說。
「你不用說對不起。」女人笑了笑,那笑聲比哭還難聽,「陸先生,我今天給你打電話,不是來罵你的。我就是想讓你知道一件事。」
她頓了頓。
「我們把房子賣了,給他治病,還債。我帶著孩子,在外面租了個小單間。我兒子今年小升初,本來能上最好的中學,現在……只能去一個菜場小學了。他以前很崇拜他爸爸,覺得他是個很厲害的工程師。現在,他在學校里,抬不起頭。」
「我……」我想說什麼,卻發現喉嚨里像堵了一團棉花。
「陸先生,你毀掉的不是一家公司,是很多人的一輩子。」
「你報了你的仇,你現在功成名就。可是我們呢?我們做錯了什麼?」
電話掛斷了。
我坐在漆黑的車裡,坐了很久。我第一次開始懷疑,我做的那一切,到底是對是錯。如果我的勝利,要建立在另一個孩子抬不起頭的童年上,那我贏來的,又是什麼?
11.
我開始做噩夢。
夢裡,是那場大火。我站在火里,周圍全是熔化的伺服器和燒焦的線路。趙立新、李工、孫副總,還有那些我叫不出名字的同事,他們都站在火里看著我,不說話。他們的臉在火光中扭曲,最後都變成了我女兒茜茜的臉。她問我:「爸爸,你為什麼要放火?」
我從夢中驚醒,一身冷汗。
我打開了那個塵封已久的 GitHub 帳號,「Prometheus」。
主頁上,Star 數量已經突破了十萬。
我成了很多人眼中的神。
我一條一條地翻著評論,像一個國王在檢閱他的戰利品,直到我看到一條不一樣的評論。
用戶 ID 叫「Icarus」(伊卡洛斯)。
他寫道:「Prometheus 的代碼堪稱藝術品。但是,我在研究其內核時,發現一個潛在的邏輯漏洞。在數據清理模塊的資源回收部分,存在一個內存溢出的風險。在特定條件下,一段被標記為『廢棄』的腳本片段,可能會被錯誤地打包進編譯後的發布版本里。這段腳本……似乎具有自我複製和輕度數據污染的能力。」
我盯著那段文字,後背的冷汗瞬間就冒了出來。
伊卡洛斯,在神話里,是那個用蠟做的翅膀飛向太陽,最終墜落的年輕人。
我點開他的個人主頁。主頁很乾凈,只有一個項目:我曾經教給王旭的那個底層協議的加密模塊。
是王旭。
我瘋了一樣衝到電腦前,下載了「Prometheus」的原始碼。半個小時後,我癱坐在椅子上。
他說的是對的。
那個漏洞,真的存在。
我當初為了報復,在「告別信」程序里,埋下了一個數據清理的「髒彈」。因為疏忽,或者說,因為當時被仇恨沖昏了頭腦,我無意中,把那個「髒彈」的一小片碎片,一個具有病毒特徵的腳本片段,帶進了「Prometheus」的原始碼里。
它就像一個微小的癌細胞。
現在,這個項目被下載了數十萬次,被應用在全球各地無數個公司的伺服器里。金融、醫療、交通……
我拿起手機,手抖得不成樣子,撥通了王旭的電話。
「王旭……那個漏洞……會有什麼後果?」
電話那頭沉默了很久。然後,我聽到了他疲憊但異常清晰的聲音。
「國哥,」他說,「你還記得,啟明科技的伺服器,是怎麼崩潰的嗎?」
我的腦子裡「轟」的一聲。
「那個 Bug 會潛伏,會複製。直到有一天,在某個我們誰也預料不到的時刻,它會被激活。」
「然後,所有運行著『Prometheus』的系統,都會在同一時間……迎來一場大火。」
我看著窗外,萬家燈火,像一片璀璨的星河。我想像著,這些燈火,在未來的某一天,會因為我寫下的一行代碼,同時熄滅。
那一刻,我終於明白。
我釋放的,不是火種。
是瘟疫。
12.
我做了一個決定。
我要去自首。我要公開這個漏洞,哪怕這意味著身敗名裂,甚至牢獄之災。
在那之前,我最後一次回到了啟明科技原來所在的那棟大樓。
大樓還在封鎖中,十七樓的窗戶黑洞洞的,像一雙死人的眼睛。
我站在樓下,點了一根煙。
一個穿著保潔服的大媽推著垃圾車從我身邊經過,停了下來。
「先生,這裡不讓抽煙。」
我抬頭,認出是以前公司的保潔張阿姨。她好像老了很多,頭髮白了一大半。
「張阿姨。」我叫了她一聲。
她定定地看著我。「是……是陸總監?」
我苦笑了一下,「早就不是了。」
我們沉默地站了一會兒。
「可惜了,這麼好的公司, 說沒就沒了。」張阿姨嘆了口氣, 自言自語,「那天晚上火那麼大, 消防噴頭跟瞎了一樣, 一滴水都不出。」
我心裡一動, 問:「噴頭壞了嗎?」
「誰知道呢。」張阿姨一邊把地上的煙頭掃進簸箕,一邊絮絮叨叨, 「我兒子以前是這裡的保安,後來公司裁員,第一個就把他給裁了。我那兒子,被裁之後到處找不到活,媳婦也跟人跑了, 孩子學費都交不起, 前幾天還說不想活了。他說那套消防系統,是德國進口的, 好用得很。就是總閥門在地下室, 要是被人關了, 神仙也救不了。」
她停下動作,看著我,渾濁的眼睛裡好像有什麼東西閃了一下。
「不過啊,那天晚上機房的備用電源也怪。我兒子說, 那種 UPS 最怕受潮, 尤其怕鹽水。你說巧不巧, 我那天拖地, 正好一桶水全灑在了那個角落。」
我的煙從指間滑落,掉在地上。
我死死地盯著她。
張阿姨仿佛沒看到我的表情,繼續說:「後來聽你們這些穿得乾乾淨淨的年輕人, 都在說陸總監你多厲害,用什麼代碼, 就把公司給整垮了。我就在想, 你們讀書人,⼼思就是多。哪有那麼麻煩。」
她推起垃圾車, 往前走了幾步, 又回過頭,沖我露出一個樸實的、幾乎可以稱得上是慈祥的微笑。
「陸總監,」她說, 「有時候, 報仇哪⽤得著敲鍵盤。」
「⼀塊浸了鹽水的抹布, 就夠了。」
她推著⻋, 慢慢⾛遠,消失在昏暗的街角。
我一個⼈站在空曠的街上,晚⻛吹過, 冷得刺⻣。我低頭看著我那雙寫了十幾年代碼、自以為能掌控一切的⼿。
我那場蓄謀已久、天衣⽆縫的復仇,我那足以載入史冊的「普羅⽶修斯」計劃,我那即將引爆全世界的軟體瘟疫……
原來,從頭到尾,都只是一個笑話。
我不是什麼顛覆老東家的狠人。
我只是一個⾃作多情的傻子, 在⼀個想報復的⺟親用最原始的⽅式點燃火柴時,恰好在她身邊,提前劃亮了一根我引以為傲的、自以為是的——電光火花。