在廣州火車站的售票大廳里,旅客們在排隊買火車票。一名女子因為沒能買到車票,傷心地掩面而泣。南方周末記者?翁洹?攝
西安的趙老先生近來每天早上起床做的第一件事就是打開電腦,登錄12306網(wǎng)站,拿著事先寫好的訂票步驟極不熟練地敲擊鍵盤,希望給孫子“搶”到一張回家的火車票。?CFP?圖
◤為讓人們更輕松地返家,軟件工程師倪超開發(fā)了搶票軟件。這最終攪動了2013年春運,火車票以神速“售罄”,不懂網(wǎng)絡(luò)的農(nóng)民工首當(dāng)其沖。
◤倪超不認(rèn)為搶票插件是在加劇不公,而是優(yōu)化資源和解放雙手。他與商業(yè)公司結(jié)合推廣這一技術(shù)成果,但不料陷入一場商業(yè)漩渦。
◤超高點擊量正在將“12306”推至崩潰的邊緣,鐵道部開始一場阻擊戰(zhàn)。倪超疲憊不堪,他選擇離開,“再也不要面對12306”。
南方周末記者 趙一海 謝鵬
發(fā)自 寧波 北京
南方周末特約撰稿
邵世偉 楊寶璐
26歲的網(wǎng)絡(luò)工程師倪超終于明白,生活原來可以如此荒誕。
一切緣起他那僅有1年零9天壽命的個人作品——“12306訂票助手”。這是一款立志讓浩蕩春運潮中返鄉(xiāng)人避免因買不到火車票而崩潰的軟件,然而,令作者倪超始料未及的是,自己最后卻被這個軟件弄崩潰了。
短短數(shù)日,熱衷于利用業(yè)余空閑編寫免費網(wǎng)絡(luò)軟件的他,極不情愿地被這個世界從網(wǎng)絡(luò)背后推向喧囂無比的臺前。從被指責(zé)拖垮全球知名網(wǎng)站,到被指責(zé)令鐵道部訂票網(wǎng)站“12306”數(shù)度癱瘓,再到被指責(zé)引發(fā)IT企業(yè)間的商戰(zhàn)乃至與部委的對抗。
最令他憤然的是,有人指責(zé)他為錢而來,肆意踐踏在春運購票權(quán)上本就脆弱的公平和規(guī)則。2013年1月17日晚,他被鐵道部“約談”,隨后停止了“訂票助手”的更新服務(wù)。
“一切的指責(zé)似乎都與我有關(guān),又好像一切都與我無關(guān)。”2013年1月22日晚,倪超在寧波的一家茶館里反復(fù)咀嚼著每個字眼的味道。
IT男的技術(shù)自救
2013年春運如期而至,預(yù)計34億人次的客運量將再創(chuàng)歷史新高。相比往年,今年的火車票不僅難買,而且總是神速“售罄”——目前最高紀(jì)錄是一班列車車票20秒內(nèi)售光。
2013年1月19日下午,東莞白領(lǐng)林海倫在舒適的辦公室里點擊鼠標(biāo),在連續(xù)7天購票失敗后,終于買到了發(fā)往陜西老家的臥鋪車票。
“感覺像飛起來一樣?!彼@樣描述心情。成全這種幸福的是一款名為“12306訂票助手”的軟件,它好比在網(wǎng)絡(luò)里植入一個不斷運轉(zhuǎn)的機器人,以人力無法企及的頻率和速度自動登錄網(wǎng)站購票。
但在這個國家里,仍有數(shù)以萬計的農(nóng)民工從沒摸過電腦。在林海倫感到無比幸福的那個凌晨,山東農(nóng)民工薛運杰已經(jīng)在廣州火車站睡了兩夜?!按哼\臥鋪票什么樣這輩子就沒見過”。最后,他終于買到了一張開往鄭州的票,“只好走一步算一步了?!?/p>
林海倫和薛運杰不知道,今年春運的火車票市場被一款只有一百多K的小軟件所攪動。它的設(shè)計者是寧波一名普通的程序員倪超。他自稱曾是春運多年的受害者,并想用科技讓它變得“有所不同”。
“以前總是臨近春節(jié)了才想到跑去火車站排隊?!蹦叱叵胪?,“連黃牛都在嘲笑我的后知后覺。”在坐了一次因雪后打滑險些翻下山坡的長途客車后,他非常渴望有一張火車票。經(jīng)過2011年短暫的電話訂票過渡后,鐵道部于2012年推出了訂票網(wǎng)站“12306”。此前,這套購票系統(tǒng)已謀劃近十五年。
現(xiàn)實總有距離?!?2306”在2012年春運售票首日,就在超過10億點擊量下癱瘓了。即使作為資深I(lǐng)T男,倪超也只能“完敗”——在三次成功付錢之后,12306網(wǎng)站仍然沒讓倪超買到朋友托付的車票。倪超頻繁地點擊鼠標(biāo)刷新頁面,每次總希望奇跡出現(xiàn),“然后,就沒有然后了”。
不過最讓倪超困惑的,還是“12306”這個網(wǎng)站?!八撬袉栴}的根問題”。在過去一年中,“這個系統(tǒng)幾乎沒有絲毫的改進”。除了2012年國慶前新增加了“提交訂單排隊”的功能,登錄仍不便利,界面還是枯燥,甚至購票流程還是繁瑣的13步。
甚至于那唯一一次的新增功能,也不被倪超認(rèn)為是改善?!芭抨犞筚徺I失敗的概率還是很大,還錯過了購買其他車次的寶貴時間。”為此,鐵道部相關(guān)人士也被迫站出來公開道歉。2012年12月,該網(wǎng)站甚至兩次公告機房空調(diào)故障,暫停一切互聯(lián)網(wǎng)售票、退票、改簽業(yè)務(wù)。
一些IT發(fā)燒友開始進行“技術(shù)自救”,包括倪超。這些IT男們希望通過編寫購票軟件,幫助人們徹底告別冒雪的排隊場面。
2012年春節(jié)購票高峰前后,倪超集合了多個網(wǎng)絡(luò)插件的功能,最后成功編寫了這個在一年后攪動中國春運的軟件。
包括國慶長假,不喜歡旅游的倪超,一年僅需要4張往返寧波和合肥火車票。秉持互聯(lián)網(wǎng)共享精神的他,嘗試把軟件放在大學(xué)同學(xué)的服務(wù)器供人下載,沒過幾天,同學(xué)告訴他,服務(wù)器被拖垮了。日后統(tǒng)計,第一個版本的“訂票助手”被下載了二十多萬次。
此后一年間,倪超沉浸在助人為樂的滿足感中。經(jīng)過十?dāng)?shù)次更新升級,倪超對自己的作品非常自信,“超過了其他所有購票軟件”。這個軟件可以自動查票,自動下單,自選硬臥還是硬座,甚至在網(wǎng)站顯示無票時自動輪查下一天……
“只要有票,除了付錢,軟件能夠代勞一切?!蹦叱f。他認(rèn)為軟件的使命在于改善“12306”的用戶體驗,他把自己的身份定義為鐵道部的“義工”——“我從來沒有否定這個網(wǎng)站的價值,而是在它剛開始走路的時候扶它一把。”
凈化運動
2012年春節(jié)后相當(dāng)一段時間里,倪超的“12306訂票助手”還是以單個軟件的形式出現(xiàn),他甚至一度淡忘了自己作品的存在。直到2012年4月,12306網(wǎng)站程序稍有變化。有人發(fā)來郵件:登錄不了了。
在這種“被人惦記”的感覺敦促下,倪超陸續(xù)開始組建自己的QQ群。目前他有20個QQ群,除了一些IT同仁,大多數(shù)是急于買到火車票的人。他們都在竭力呵護軟件的純凈——不能成為票販子趁火打劫的利器。倪超為此定了規(guī)矩:一旦發(fā)現(xiàn)有人在群里宣傳加價代購,他會立馬把他踢出去。
這場凈化風(fēng)氣的抗?fàn)幧踔恋搅薗Q群外。2012年9月中旬,友人發(fā)來網(wǎng)址,告訴倪超有人公開在淘寶網(wǎng)上售賣這個軟件。
倪超旋即展開維權(quán)行動。他找到淘寶網(wǎng)投訴,但是客服要求提供軟件專利號,“一百多K大小的東西,哪會去申請專利?”倪超又親自聯(lián)系那些賣家?!坝腥肆ⅠR道歉,有人直接把我拉進了黑名單?!?/p>
交涉未果后,倪超索性宣布在QQ群里免費發(fā)布注冊序列號,以杜絕有人售賣的行為。宣布的頭幾天,不斷有人申請加入QQ群獲得序列號,“很多晚上我都顧不上吃飯。”
隨后,淘寶公司寄來一封郵件,希望能夠捆綁在淘寶瀏覽器上。與瀏覽器捆綁,能夠確保軟件安全無毒,“畢竟他們都是大廠商”。倪超沒有猶豫,只是強調(diào)一點:不能以此謀利。
從此,倪超負(fù)責(zé)對淘寶瀏覽器上的助手進行更新和維護。他坦言,更新不復(fù)雜,技術(shù)含量也不高。“只要有一個人在用,我就會負(fù)責(zé)任地幫他完善?!?/p>
倪超自述年少時曾把家里所有電器全部拆光,“除了高高在上的電風(fēng)扇”。他不厭其煩地為QQ群里的電腦盲答疑解惑,甚至在與12306的數(shù)次PK中總結(jié)出多條買票技巧。比如如何撿到漏票,如何同時操作多個瀏覽器買票。甚至于春運期間,一些小站因為??繒r間短而限制售票,“這時候你可以瞅準(zhǔn)鄰近的大站買,然后在小站下車”
2012年9月,倪超在自己的個人網(wǎng)站上設(shè)置了一個網(wǎng)絡(luò)捐助選項,網(wǎng)友可以通過支付寶捐錢。倪超認(rèn)為那是這個僅有一百多K大小軟件的成長史的一部分,于是他把每一個捐款網(wǎng)友的名字列了很長的名單,放在自己的網(wǎng)站上?!拔业某踔圆皇菫榱隋X?!彼f。而讓倪超玩味許久的是,“沒捐錢的和捐錢的,唯一區(qū)別就是‘前者會多說一句謝謝你?!?/p>
商業(yè)漩渦
站在倪超身后的,不僅是海量的支持者,還有反對者。有人加了他的QQ,上來便一頓痛罵,說他的“不良軟件”讓不懂網(wǎng)絡(luò)的老百姓買不到票。
倪超熟知很多關(guān)于網(wǎng)絡(luò)訂票的新聞報道,包括2012年春節(jié)一個在溫州打工的四川農(nóng)民工上書鐵道部,直陳網(wǎng)絡(luò)購票對農(nóng)民工不公平。
?下轉(zhuǎn)第2版
?上接第1版
倪超有一套特有的公平觀,“十個農(nóng)民工便可以團體購票,預(yù)售期甚至比白領(lǐng)們提前十天,而且他們的時間相對自由,上班白領(lǐng)根本抽不出時間去窗口前等待?!?/p>
“訂票助手”把農(nóng)民工的票搶光了的指責(zé),倪超更是不認(rèn)同。他熟練地背出一組數(shù)據(jù):網(wǎng)絡(luò)售票占鐵路售票總額的38.2%,剩下的便是電話售票和窗口售票。“蛋糕是切好的,不是網(wǎng)絡(luò)全霸占了?!?/p>
“訂票助手最大的意義就是解放你的雙手,枯燥重復(fù)的工作由機器代替?!蹦叱忉尩溃斑@不是插隊,而是讓本來就排在前面的人不要錯失機會?!?/p>
倪超還極為審慎地遵從了“12306網(wǎng)站”的規(guī)則。他把軟件自動刷新頁面的時間間距從網(wǎng)站要求的5秒設(shè)置為6秒。“如果這都承受不了,這個系統(tǒng)是不是有問題了?”
2012年12月,金山獵豹(一家網(wǎng)絡(luò)瀏覽器公司)找到倪超,希望與他合作。“瀏覽器能推廣給更多人?!蹦叱f。雙方的合作由此敲定,雙方均稱此次合作不涉及利益問題。而尊重5秒規(guī)則和完全免費,這是倪超對與之合作的金山公司的唯一要求。
這取得立竿見影的效果。2013年1月14日,金山獵豹推出了搶票專版瀏覽器。百度指數(shù)顯示,當(dāng)天該瀏覽器的用戶關(guān)注度開始飆升,一周內(nèi)猛增135%?!皳屍避浖遍_始了狂飆突進的規(guī)模化商業(yè)進程。如360、即刻搜索、搜狗等網(wǎng)絡(luò)公司都推出各自的搶票軟件。
一場網(wǎng)絡(luò)公司間的營銷戰(zhàn)正在醞釀,其中又以素有宿怨的金山和360之間的相互責(zé)難最為顯著。他們不點名地相互指責(zé)對方“是公平與規(guī)則的破壞者”。
360曾高調(diào)宣傳:2013年春運搶票季中,360已為500萬用戶買到了回家的火車票。倪超覺得這違背常識,“每天網(wǎng)絡(luò)放票200萬張,春運才開始幾天,難道四分之一的票全被360用戶買去了?”
隨后,媒體刊發(fā)的“金山搶票插件竊取隱私遭鐵道部調(diào)查”一文,把金山獵豹推至風(fēng)口浪尖,他們認(rèn)為這是一場競爭對手栽贓陷害的“抹黑”事件。
“惡性競爭是互聯(lián)網(wǎng)常有的事,但把春運作為炒作題材,確實有點過了?!蹦叱H為不滿,“他們的熱鬧與我無關(guān),但是我得為我的作品負(fù)責(zé)到底?!?/p>
“12306”阻擊戰(zhàn)
這場互聯(lián)網(wǎng)的“火車票營銷戰(zhàn)”不僅考驗各方操守,更帶來一定程度上的“技術(shù)災(zāi)難”。
2013年1月15日,多家中國媒體顯要位置刊登了全球最大的社交編程及代碼托管網(wǎng)站——GitHub服務(wù)器,因“訂票助手”用戶的頻繁訪問而被拖垮的消息。此前,倪超一直將軟件代碼托管于此。由此,“中國春運拖垮世界級網(wǎng)站”的說法應(yīng)運而生。
“5萬人5秒點一次訂票網(wǎng)站,一小時連續(xù)點就有3600萬次?!奔词箶?shù)字如此驚人,倪超仍認(rèn)為“沒有那么嚴(yán)重”。他說GitHub網(wǎng)站程序員在給他的電郵中澄清“只是受到了一些負(fù)面影響”。
但兩天后,倪超意識到問題要比想象中復(fù)雜。1月17日晚,三名自稱鐵路派出所(隸屬于鐵道部公安局)的警察來到了倪超租住的居民樓樓下。這一天的上午,“12306”刷新了成立以來單小時售票最高紀(jì)錄——上午10點到12點,“12306”網(wǎng)站總計賣出車票超過60萬張。這個被詬病的脆弱的系統(tǒng)蹣蹣跚跚地捱過了這一天。
警察顯然將這個狼狽的現(xiàn)實部分歸咎于倪超的發(fā)明。在二十分鐘的談話中,三名拜訪者“反復(fù)說這樣做是對不會上網(wǎng)的農(nóng)民工的不公平”。倪超沒有據(jù)理力爭,耐不住冷風(fēng)的他草草結(jié)束了這場談話。
基于與三位警察的口頭承諾,回到家中的倪超帶著傷感,寫了一條微博:因種種不可抗的因素,12306訂票助手即刻起停止公開提供,已下載的恕不提供更新服務(wù)。
被約談的并不限于倪超。遠(yuǎn)在北京的金山網(wǎng)絡(luò)公司,同樣在這一天晚上7點接到來自有關(guān)部門的電話。
據(jù)金山網(wǎng)絡(luò)公司內(nèi)部人士透露,當(dāng)時有七八名鐵道部官員。對方的要求很簡單:立即停止運營獵豹瀏覽器春運搶票版。一位官員直言不諱,據(jù)12306的后臺統(tǒng)計,借助獵豹瀏覽器登錄該網(wǎng)站的用戶數(shù)量是最多的。“影響了購票系統(tǒng)的公平”。但金山方面以“無證據(jù)顯示有任何影響”為由回應(yīng),并表示其他公司也在做,“要停大家一起?!?。
據(jù)南方周末記者此后調(diào)查,包括360、搜狗、金山網(wǎng)絡(luò)等多家瀏覽器廠商均表示,目前并未收到工信部叫停搶票軟件通知。
商業(yè)公司的消極合作換來更大層面的反制措施。2013年1月20日,QQ群里不斷提示有新信息,人們急切地反映,12306網(wǎng)站的程序變個不停。甚至在購票高峰的幾分鐘內(nèi),還更改了一次程序。在倪超看來,目的無疑是防范獵豹春運版瀏覽器。
“一邊放票一邊修改程序”,在倪超看來,這嚴(yán)重違背了互聯(lián)網(wǎng)的基本常識,“訪問量高峰時,程序員首先應(yīng)該保持系統(tǒng)的穩(wěn)定”。這樣的修改,讓獵豹瀏覽器訪問12306網(wǎng)站時,頁面會出現(xiàn)一片灰白。
這場針對金山獵豹的網(wǎng)絡(luò)阻擊戰(zhàn),顯然打亂了遠(yuǎn)在北京的另一群IT男的計劃。金山網(wǎng)絡(luò)內(nèi)部人士告訴南方周末記者,1月14日推出第一版春運搶票專版后,他們迅即進行了百萬元級的廣告投放。
變化發(fā)生在約談之后,獵豹瀏覽器自動訂票功能失效了,失效的表現(xiàn)是顯示無此訂單?!拔覀儼l(fā)現(xiàn)其他瀏覽器用戶也反映類似問題?!苯鹕絻?nèi)部人士告訴南方周末記者。
顯然,這個變化讓所有瀏覽器廠商猝不及防。對應(yīng)的措施是,金山每隔半小時在訂票高峰期測試一下,二是調(diào)集客服人員,在微博和論壇上搜集用戶反饋。周五當(dāng)天,獵豹論壇同時在線人數(shù)最高峰為九千多人,多數(shù)是反映購票的技術(shù)問題”。
也正是在1月21日這天,倪超發(fā)現(xiàn)12306網(wǎng)站至少改動了三次程序,目的當(dāng)然是阻擋訂票助手的訪問。作為回應(yīng),金山內(nèi)部啟動了監(jiān)控機制。“保證我們第一時間發(fā)現(xiàn)他們的調(diào)整”,甚至不惜安排技術(shù)人員周末連續(xù)倒班,從早上七點,到凌晨兩點都有人跟進。
一個新紀(jì)錄誕生了,金山獵豹瀏覽器在一天內(nèi)連發(fā)三個版本?!斑@是軟件歷史上前所未有的更新速度?!苯鹕揭桓邔尤缡潜硎?,有統(tǒng)計顯示,8天之內(nèi),金山獵豹搶票專版總共更新了13個版本。
這場攻防戰(zhàn),已讓身處事外的倪超無力參與,但是頁面灰白還是讓他頗為震驚。
他試圖守護自己作品不可冒犯的尊嚴(yán)。他在QQ群里和微博上號召網(wǎng)民迅速修改瀏覽器設(shè)置,“簡單設(shè)置后又能正常訪問了”。
數(shù)日之后,倪超還對頁面灰白耿耿于懷。他認(rèn)為,12306網(wǎng)站至少應(yīng)該發(fā)布公告,力勸這些人更換別的瀏覽器,“封的不是一個瀏覽器,而是剝奪了上百萬用戶買票的權(quán)利”。
雖然轉(zhuǎn)交了源代碼,但是用戶們還是習(xí)慣第一時間求助倪超?!拌F道部一更改程序,我的電子郵箱里便爆滿?!比鞎r間,總共有600封求助郵件。
奉行“有信必回”的倪超,決定利用1月20天這一天。他哪里也沒去,就待在家里寫郵件。結(jié)果兩小時后,200封郵件發(fā)完后,騰訊郵箱提示“發(fā)送失敗”,原因是已超過發(fā)送上限,“這回是真的憂傷了”。
金山與12306的這場拉鋸,也讓倪超受到牽連。獵豹瀏覽器頁面灰白后,有人在QQ上大罵倪超無能?!爸钡搅R完了解氣了,我就把他們拖進永遠(yuǎn)無法聯(lián)系的黑名單”。
難解的“根問題”
一年零九天對“訂票助手”的開發(fā),倪超自稱于此獲利近乎為零。淘寶公司在元旦寄來一套12生肖布偶公仔,是倪超從這兩家IT公司獲得的唯一回報。“可惜剛抱回辦公室,便被同事們搶去大半”。
從一個軟件引發(fā)的春運洪潮,讓自稱對錢并不敏感的倪超深感疲憊。卻讓兩家互聯(lián)網(wǎng)公司仍樂此不倦。
倪超納悶,“約談”后,兩家互聯(lián)網(wǎng)公司的調(diào)門居然越來越高。360公開宣布:有人說搶票工具“不公平”,但360衛(wèi)士要說,能買到火車票才是最大的公平!
金山更是宣稱面對重重壓力,工程師們再次加班更新,獵豹春運搶票版已更新至最新版,網(wǎng)民安裝可正常搶票。
除了電腦軟件,360還推出了手機搶票軟件。“這解決了網(wǎng)絡(luò)搶票對于公平的爭議。”360副總裁曲曉東如是表示,“這樣能夠幫助不會上網(wǎng)的農(nóng)民工和老年人,還有沒有網(wǎng)上支付賬號的人買到車票?!?/p>
在金山網(wǎng)絡(luò)一邊,他們準(zhǔn)備每天派出一輛免費的橙色大巴,每次送50名農(nóng)民工返鄉(xiāng)。第一班車已于1月23日發(fā)車,目的地河南鄭州?!拔覀兿M麕椭F路部門增加運力?!苯鹕骄W(wǎng)絡(luò)一部門負(fù)責(zé)人告訴南方周末記者。
在業(yè)界看來,在部委和媒體圍剿后,這兩家劍拔弩張的互聯(lián)網(wǎng)企業(yè)正在洗白自己——他們正在向農(nóng)民工群體示好。
對引發(fā)這場春運搶票題材商戰(zhàn)的“根問題”——12306網(wǎng)站,金山網(wǎng)絡(luò)更是在被鐵道部約談當(dāng)晚,提出派出技術(shù)人員幫助鐵道部解決相關(guān)問題,“可惜沒有獲得任何回復(fù)?!鼻笆鼋鹕骄W(wǎng)絡(luò)部門負(fù)責(zé)人說。
360安全瀏覽器產(chǎn)品負(fù)責(zé)人陶偉華甚至建議,一是鐵道部將部分余票數(shù)據(jù)共享給互聯(lián)網(wǎng)公司,“購買還是在12306,但是查詢放開,這樣能夠減少對服務(wù)器的壓力”,二是效仿民航票務(wù)分流。
圍觀12306整整一年的倪超否定了票務(wù)分流的提議,他不認(rèn)為這是對舊體制的辯護?!拌F路票務(wù)系統(tǒng)遠(yuǎn)比航空復(fù)雜,那么多區(qū)間票確實需要一個總系統(tǒng)來調(diào)度配置?!?/p>
他甚至反駁了購置天價服務(wù)器緩解流量壓力的提議?!拔姨貏e能夠理解鐵道部,”倪超呼了口氣,“高峰期就兩個月,買了天價服務(wù)器,剩下十個月難道無限地浪費?”
“這就是這個大系統(tǒng)的復(fù)雜性,”倪超告訴南方周末記者,“你期待12306變好,不如期待社會發(fā)展平衡,大家不用背井離鄉(xiāng)了?!?/p>
遵照約定的倪超并沒結(jié)束與警察的糾纏。1月19日10點整,倪超正蹲守在電腦前等待放票,他準(zhǔn)備2月7日返回家鄉(xiāng)合肥。
電話又響了,對方再次要求他刪除網(wǎng)站上的一個鏈接。接電話間隙,倪超瞅瞅電腦——票沒了。倪超開始歇斯底里地朝電話那頭怒吼。當(dāng)晚倪超把這段經(jīng)歷寫了一條微博,第二天網(wǎng)站將這條微博置頂,標(biāo)題改作“訂票助手作者吐槽購票難”。
哭笑不得的倪超開始了新一天的搶票,最終借助自己的作品,苦等一個半小時后,最終換回一張退票。一個半小時,意味著倪超的軟件刷新了頁面1000次,“再厲害的軟件也抵不過人多票少”。
離鄉(xiāng)五年后,倪超準(zhǔn)備離開寧波,回合肥發(fā)展,“那時候我就不用再面對12306了”。