今天事件的程序猿哥哥呢
我們先叫他凌八哥好了
凌八哥是一個苦逼的富士通程序員
整天幫公司給甲方開發一些
沒什么新意的軟件
萬萬沒想到,
有一天他接到了一封起訴書
哎喲我天,
長這么大連情書都沒收過!
竟然收到起訴書!
這次訴訟是關于2000年
給東京證券交易所開發系統時
他寫進去的一個bug
說起來真的是滿臉無辜
這個bug非常不起眼
而且在特定的組合條件下才會出現
因此在多次測試、驗收中
都沒有人發現
(下圖是包含了bug的cobol代碼)
就是這么一個不起眼的bug
然而凌八哥就是這么倒霉
偏偏就貪上了大事了
用這個軟件的人
是日本瑞穗證券的一個交易員
我們先叫他壽參君好了
2005年12月8日,
是J-COM公司上市的日子
壽參君接到一位客戶的委托:
“請以61萬日元的價格,
賣出1股J-Com的股票”
這種本來很基礎的操作
結果壽參君硬是在系統上輸成了
“以每股1日元的價格,
賣出61萬股”
呵呵噠。
你說你怪誰?
發生這種事你還能怪誰?
大家有沒有遇到過這種事
跟微信發紅包有點像
有時候你想發61個1塊錢的紅包
一不小心發成了1個61塊錢的紅包
然后有一個不認識的人
迅雷不及掩耳搶走了紅包
等你反應過來的時候
那個人已經退群了!
這種情況還算好的
證券系統上由于有限制
不可以賣1日元這種價格
所以系統還自動給他調整成了
以57萬日元出售61萬股
真的是...
事情發展到這里
都完全是手抖交易員的錯
跟程序員沒有半毛錢關系
但是——
后來,壽參君嘗試彌補
2分鐘后,他終于發現了這個錯誤~
握草,你咋不明天發現呢?
然后他試圖撤銷這筆交易
可是3次撤單指令
都被交易系統拒絕了
對,這個地方就是那個
凌八哥的那個bug!
當時的場面大家想象一下
一方面是壽參君整個人已經懵逼了
連帶他的瑞穗證券的管理層也懵逼了
但是另外一方面
當天J-COM的股票開盤一度有91萬元
然后因為這個57萬元的大單
就開始一直狂跌
散戶們先是驚慌失措,各種拋售
然后反應快的競爭對手和大戶已經猜到
啊,一定是哪個手抖的烏龍指了!
然后就在那里瘋狂搶購
有便宜干嘛不占啊!又不是智障
然后由于57萬日元已經是相對低價了
接著又引發日本大媽跑步進場
各種抄底掃貨一搶而空
這個場面。。。
沒能目擊真是我本世紀最大遺憾
還不止是這樣
當時“有一個券商出了烏龍指”
這個消息不脛而走
所有股民都知道了
在還不知道是哪家券商的情況下
所有券商股票都慘遭拋售
如果各大券商們將來知道這一切
都是因為壽參君的話
恐怕他很難再在這一行混了。。
請計算壽參君的心理陰影面積
還沒完啊,為了止損
瑞穗證券又決定自己反向買入J-COM股票
于是加入搶購的大軍
就在這樣各方瘋搶的情況下
J-COM的股票一度又被拉高到
77.2萬日元
最后到當天交易結束
瑞穗證券一共損失了約270億日元
J-COM的主要發行商日興證券
股價一度狂跌8%
當時大盤日經指數應聲下跌301點
臥槽,竟然只下跌301點
下跌3000點我們中國股民都挺過來了!
301點多大點事?
雖然收盤了,但是悲劇還沒結束
因為J-COM的股票
一共只發行了14000多股
現在這61萬股
難道要畫出來?
(原諒我今天畫性大發)
最后經過協商
瑞穗證券用每股91萬日元的價格
現金清算了股民手上的9萬多股
還好剩下的都被自己反向買入了
但是這樣一來
真的是雪上加霜
他們的損失擴大到400多億日元
據事后統計
這些錢有40%被6個著名金融機構瓜分了
包括瑞士銀行,摩根斯坦利,日興證券,
雷曼兄弟,瑞士信貸,野村證券
他們趁火打劫了168億日元之后
扭扭捏捏不想把錢還回來
真是令人心寒啊~
不過這些跟我們都沒啥關系了
只能看看
話說瑞穗證券從此受到重挫
據說這400億比他們一整年的利潤還多
而當事人本人的姓名
一直沒有被公布
這個公司也算是良心啊
所以我們在這里
只能讓他化名為壽參君=手殘君了~
只不過,本來公司正在計劃發年終獎的
這些全體員工的年終獎
都變成西北風了~~
好了,背景前戲告一段落
下面瑞穗開始追責了
噢,正片終于開始了~
瑞穗認為
自己在事發后的2分鐘
就已經嘗試撤銷交易
但是由于系統bug
導致他們沒能及時止損
在取消指令發出之前的損失自己認了
但是那之后的損失
應該由東京證券來買單
說的也算是有理有據
很快,東證社長鶴島琢夫
因為此事引咎辭職。
但是,東證沒打算背這個鍋
他們把責任全部推到
當初承包這個項目的富士通身上,理由是:
我的需求里,
是明確寫明可以撤單的
是你開發的系統沒有符合我的需求
富士通的表態更加堅決:
我去,你手殘你怪誰呢?
雙方就這樣開始扯皮
談來談去誰也不肯讓步
于是,2006年9月
瑞穗把東證和富士通告上了法庭
開始了漫長的十年訴訟之路
其實吧,在我們看來
這件事壽參君肯定是主要責任
任何系統,都不可能完全沒有bug
任何測試,都不能確保測出每一個bug
否則的話,我每次電腦藍屏
都損失了好幾行勞動成果
如果這些都要賠錢
世界上最大的bug生產商——
微軟,早就賠得連內褲都不剩了
關于這個案子
東京地方法院給出的判定是:
這個系統的主要責任人是東證。富士通只是東證的系統供應商,屬于連帶責任人。無論是主要責任人還是連帶責任人,如果被證明犯有重大過失,都應該做出賠償。
那么問題來了,
什么樣的bug算是“重大過失”呢?
法院給出了判斷的標準:
這個bug是不是很容易被發現。
于是,控辯雙方都請來了資深程序猿專家
在法庭上當庭 review 代碼
蔚為壯觀
讓我想起了樂視的庭審~~
穗瑞專家組:
這種bug都測試不出來?媽的智障~~
富士通專家組:
這么復雜的bug,
你給我馬上重現一個試試?
你行你上,no can no bb!
而此時的法官表面上
泰然自若胸有成竹
而他的內心os:
總而言之,
在這場盛大的當庭撕代碼之后
最終東京地方法院判定:
程序bug并不能算是重大過失,由這部分導致的損失無需賠償。
但是,在瑞穗證券電話聯絡東證交易所后,東證未能履行中止異常交易的職責,屬于重大過錯方。另一方面,事情的起因是由于瑞穗證券的烏龍指,所以瑞穗證券也不能完全免責。從電話聯絡那個時間點以后產生的損失,由東證承擔70%,107億日元。
瑞穗證券和東證
都對這個審判結果表示不滿,
上訴到東京最高法院。
2015年9月3日,
東京最高法院駁回上訴,
維持原判結果。
長達10年的訴訟終于塵埃落定
各位程序猿哥哥是不是
覺得心里暖暖的呢
法律是站在程序猿這一邊耶
其實并不是。。。
“bug是否很容易被檢測出來”這一點,
從此將會成為此類訴訟的判斷標準。
所以萬一被判定成重大過失,
程序猿們可真是欲哭無淚了。
本案也讓東證認識到,
舊交易系統的老朽化以及bug過多等缺陷。
以瑞穗證券烏龍指事件為契機
他們開始了金融行業的重大項目
開發全新的交易系統
這個新系統,
依然由富士通負責開發。
你們這種基友真的是真愛好嘛~
至于那位凌八哥
就沒有再接這個case了
他痛定思痛
回去改了個名字叫
凌八哥 = 0 bug
希望大家堅挺在編程第一線
每天都 0 bug 好嘛~~