每一个程序员的一生都会面临无数个Bug。这些程序员们痛心疾首错误,可能会造成多大的损失?又有多少程序员的上班时间都花在找Bug上面?不管花了多少时间,和下面这个真实案例相比,你花在找Bug上面的时间,都不算长,因为谁知道你这一辈子能不能赚够400亿(哪怕是日元,现在折合人民币为:23.96亿元)。
程序员的日常(图片来源于网络)
事件发生在十年前,一家证券公司(瑞穗证券)因为乌龙指(手误)致使“以61万日元的价格,卖出1股J-Com的股票”错误的写成了“以每股1日元的价格,卖出61万股”。其中的变化不亚于任何一次“双十一大降价”。
但这似乎和程序员还没有关系,问题在于,当乌龙指发现这个错误并试图改正时,发现了一个Bug:撤销指令无法执行!所以这个本来两分钟的“大甩卖”,最终成为为期一天的“撤店狂甩”。
于是,瑞穗证券损失了约270亿日元,而这次乌龙引起的市场震动,还不仅仅这一家,很多证券公司都受到牵连。而瑞穗证券也因为最后的现金交割让其所遭受的损失扩大到400亿日元!如此一来,瑞穗证券将全年营收都赔了个精光,也不得不取消了所有员工的年终奖……
无论如何,这个本来能够避免的损失,因为一个Bug而成为事实,瑞穗证券咽不下这口气,在交涉无果后,于2006年一纸诉状将系统承包公司东证和系统开发商富士通告上了法庭。
经过近十年的厮杀,日本法院给出了判决:程序Bug并不能算是重大过失,由这部分导致的损失无需赔偿。但是,在瑞穗证券电话联络东证交易所后,东证未能履行中止异常交易的职责,属于重大过错方。另一方面,事情的起因是由于瑞穗证券的乌龙指,所以瑞穗证券也不能完全免责,东证承担70%,107亿日元。
对于这样的结果,东证和瑞穗证券都不满意,并上诉到东京最高法院,但得到的结果却是维持原判。
尘埃落定后,我们可以看到,这个Bug的制造者没有需要承担相应的责任。
但请各位程序员注意:第一,这种事情谁都不希望发生,所以最好还是不要出现Bug;
第二,日本法院的判决中强调“程序Bug并不能算是重大过失”,“Bug是否很容易被检测出来”也成为法庭判决的重要依据。
综上,入行需谨慎,并不排除程序员需要为自己的Bug承担责任的可能性!