Tuesday, February 1, 2011

軟件炸彈爆發 用家束手無策

(轉載自CUP magazine 2011年2月號)


去年三月我在此寫過一篇文章 “To err is human, to really mess things up needs a computer” http://it-column-cup.blogspot.com/2010/12/to-err-is-human.html),消極地指出「軟件工業永遠是在承擔和推卸責任之間走鋼絲,有bug的軟件一直在我們的電腦內像計時炸彈一樣地潛伏著……」。
今年甫至,最新的兩個計時炸彈即連環引爆:iPhone的鬧鐘不鬧,hotmail電郵不翼而飛。我們是否應該像以往一樣的 無助, take it for granted,讓災難沉澱下去,繼續等待下一次更大的災難發生,直至致命的一刻,還可能趕得及瑪雅歷法中最後一天(20121231日)世界末日之前來臨?
           地球上可憐的人類,今天在電腦面前是多麼的赤裸無助,多麼的委屈。原因只有兩個:一是我們傻兮兮地把自己最寶貴的資源和天賦才能的擁有權,絕對信賴地付託給電腦,而不去考究電腦軟件商的可靠性;二是我們中了「免費毒」,養成大部份要錢的軟件不買的習慣,而免費的東西壞了我們便沒有追索權。
           從我們計算加減乘除時要依賴計算機開始,我們腦袋的運算功能已停濟不前。一踏入千禧年,雖然千禧蟲並沒出現,但有一晚我在酒吧遇到警察查牌,年輕師姐望著我的身分證問我多少歲,我駁她嘴:難道妳看了我出生年分也看不出嗎?她一邊拿出自己的手機一邊按,我以為侮辱了她,要呼人找我麻煩,後來才知道原來她不懂心算減數時需要借位,要靠手機內置的計算功能!
           今天我們家長一句「用計算機又快又準,心算沒用,省些時間學其他更有用的東西吧」就是說明我們已傾向放棄一些後天基本智力訓練,和低估人類大腦的可塑性和無窮的潛能,一字曰之:「懶」。
        當然,我不會否定計算機和電腦帶給我們只有電腦才能實現今天可見的一切生活方便和工作效率提升,讓我們更「懶」。但如果我們只是盲目地依賴電腦,不去理會用的是什麼軟件,就是「懶」加「蠢」,「蠢」得就像把我們健康的身軀交到一些蒙面的營養師手上,唯命是從讓他們擺佈每天吃些什麼補品,令你上癮,一旦身體出了問題,你連他們是誰也不知道。補品又是你甘心情願去吃,難道你去控告賣補品給你的藥材鋪嗎?況且,有些補品更是免費的,你能怪誰?
寫到這裡,我得要覆述文初說過的「有bug的軟件一直在我們的電腦內像計時炸彈一樣地潛伏著」,再看看以上兩個新近引爆的軟件炸彈,出自那些藥材鋪更是擁有雄厚實力的律師團 −−−當今天之嬌子AppleMicrosoft,我們能追究什麼?況且,我們有沒有看清楚他們在Disclaimer Smallprint才按「I agree」使用,就算你看過後不同意難道也可以改嗎?這正是富商運用法律最高明之處,令顧客進退維谷,而賣家則責無旁貸。
現實就是這樣。你同意使用我們的軟件條款便用,用了之後有什麼後果我們概不負責,但你有權可以不用,逆向維權在西方國家比比皆是。那末,軟件用家是否毫無保障?我覺得如果軟件工業以目前的生態發展下去,絕對是!我更預言,潛伏着的軟件炸彈很快便像「三水佬睇走馬燈」,陸續有來。到時才真正應驗really mess things up,和胡錦濤說過「一個小問題在中國放大十四億倍便變成大問題」的話;今天的鬧鐘不鬧和電郵失踪只是前菜一碟而已。而且,事發後什麼解釋也屬多餘,因為就算對個別事件作出的解釋多合理也不能保證新的軟件炸彈不會引爆。
大難當前,現實上我們真的是措手無策,因為這是個歷史遺留下來的問題,度過了千禧蟲恐慌一役後,無人再有興趣正視這軟件計時炸彈危機。
讓我先用另一個例子,換個角度來分析為什麼軟件用家至今依然亳無保障。我們知道醫院病人進入手術室前要簽署一份同意書,同意書上當然列齊一切擺脫責任的可能條款,那又是一個典型令顧客進退維谷的情節。但若手術失敗,死者家屬有没有追索權?有。
因為人死不能復生,死者已矣,無可補救,更涉及生命尊嚴和人道立場。而免費軟件出錯,可謂「你死你賤」,算什麼一回事,有免費upgrade新版本善終不是足夠了嗎?死者家屬不服氣可以告到死因法庭,可觀看手術進行時的錄影,和有專業人士在旁提供第二意見;對不起,世上沒有軟件死因法庭,而且大部分軟件是集體創作,不是一個人所為,世上是沒有bug-free的軟件的,知道嗎?
如果你認為拿手術失敗和軟件出錯作比喻是不恰當的話,我同意,因為我正正是想指出兩者之間不同之處,就是第一、醫生是專業,而電腦不是專業,programmer不用考取專業資格,幾個programmer合作便可開一間軟件公司;第二、手術費昂貴,而現今有些軟件是免費和第三、醫生萬一出錯亦早已買了巨額保險作賠償,試問哪有保險公司肯接受軟件責任賠償?
然而,財雄勢大且歷史悠久的軟件公司呢?當然,它們全部自稱是專業,但那種是無監管的專業而已,說白了,電腦專業只不過是強調優質銷後服務,定時推出upgradessoftware updates等來迎合客户要求而已,電腦軟件的可靠性不是像醫生用手術的成功比率來計算,而相反地是用失敗後的補救方案多完善來衡量。BackupBackup、再Backup,這就是現今大小電腦公司的唯一安全意識。電腦公司倒閉不會是因為它的軟件不安全而被監管局除牌,因為根本上無人監管,找誰監管?電腦公司結業只是不夠生意。所以它們求存一定要創新,sellsellsell,誰說它們要肩負軟件安全和社會道德責任?能保障你的個人私穩不外洩已功德無量。整個電腦業在這種生態下運作,加上免責法律金剛罩保護下,軟件用家毫無保障是必然的。
明乎此,怎樣令軟件用家的一面倒的劣境撥亂歸正已不是個技術性的問題,而是個科學哲學性辯題:你認同波普爾(Karl Popper)主張的「否證」(falsification)−−− 未「爆鑊」前仍是好的科學(軟件)?還是庫恩(Thomas Kuhn)提出我們的科學(軟件)是一個共同體的「範例」(paradigm),革命(創新)是要在有規範中進行的?
崇尚自由主義的波普爾,就是今天軟件從業員的絕大多數取態;庫恩獨裁專制的範例主義,誰敢提出來,哪怕整個電腦業界翹楚無一不羣起而攻之,置諸死地而後生矣!。(完)