誰該為阿里的彩蛋背鍋?
頭圖來自視覺中國。
圣誕本該是開心的節(jié)日,即便有些許雜音,歡樂、祥和的氣氛仍然成為了中文互聯(lián)網(wǎng)的主旋律。
但就在這樣的日子,卻有很多人因?yàn)?ldquo;圣誕”慌張起來:他們是一群大小機(jī)構(gòu)的產(chǎn)品經(jīng)理和程序員,在自己負(fù)責(zé)的項(xiàng)目中,突然發(fā)現(xiàn)了這樣的奇景:
先別在意那個拼錯的 Christmas。除了企業(yè),嚇一跳的機(jī)構(gòu)當(dāng)然也包括部分政府部門:
甚至有一些程序員發(fā)消息表示自己已被憤怒的老板開除——這是不白之冤嗎?
誰出了問題?
一番 GitHub 熱議后,眾人終于鎖定了罪魁禍?zhǔn)住?/p>
這個彩蛋源于許多開發(fā)者使用的一個開源產(chǎn)品,來自巨頭阿里巴巴的“Ant Design”。在 Ant Design 官網(wǎng),我們可以看到,螞蟻金服體驗(yàn)技術(shù)部稱該產(chǎn)品是一個服務(wù)于企業(yè)級產(chǎn)品的設(shè)計體系。
你可以簡單地將其理解為一個開源的 UI 產(chǎn)品,目前其用戶包括螞蟻金服、阿里巴巴、騰訊、百度、口碑、美團(tuán)、滴滴、餓了么及……受害或未受害的其他用戶。
事情爆出后不久,Ant Design 的開發(fā)人員便出面解釋:這一彩蛋純屬個人行為,與企業(yè)無關(guān)。此外,螞蟻很快回滾了代碼,并推出了官方修復(fù)版本。
我們并無證據(jù)得知這位程序員是被螞蟻推出來“背鍋”的,還是這真的只是其個人行為。如果該事件最終被確認(rèn)為團(tuán)隊(duì)乃至公司行為,不知螞蟻還要牽扯多少麻煩??纯茨莻€拼錯的 Christmas(如今已修復(fù)),說是個人行為,好像也有些根據(jù)……吧?
不過我想起了一個相似的故事。2016 年,阿里“搶月餅”事件曾經(jīng)引發(fā)互聯(lián)網(wǎng)企業(yè)大討論,那個因?yàn)閷懥?ldquo;搶月餅代碼”而被開除的程序員也曾受到廣泛的關(guān)注和同情。至于阿里系企業(yè)是否有讓程序員“背鍋”的傳統(tǒng),就不得而知了。
誰遭了殃?
受這件事影響最直接的,其實(shí)是和螞蟻距離最遠(yuǎn)、最不直接接觸的用戶,也就是各路機(jī)構(gòu)產(chǎn)品的直接使用者。在中國自然無妨,但在一些比較敏感的國家,產(chǎn)品上突然跳出圣誕節(jié)彩蛋,或許是會令用戶充滿疑惑。如今,與我們遠(yuǎn)隔重洋的北美,已經(jīng)有大批無信仰、輕信仰者不說“Merry Christmas”而改稱“Happy Holiday”。
這自然由于北美的信仰較為分散、復(fù)雜,但在另一些信仰相對集中但并非基督教信仰的國家,事情可能會更糟。已經(jīng)有人聲稱自己在伊朗的項(xiàng)目也出現(xiàn)了彩蛋問題,如果是真的,只能祝老兄好運(yùn)。
但受影響更大的可能是應(yīng)用 Ant Design 的企業(yè)。對用戶來說是個文化層面的問題,企業(yè)則需面對安全、穩(wěn)定、可控等一系列質(zhì)疑。畢竟,自己的產(chǎn)品中冒出個自己不知道的彩蛋,那是不是意味著今后也可能出現(xiàn)其他自己不知道的情況呢?而且,手忙腳亂的追責(zé)、修復(fù)工作,想必也給企業(yè)帶來了不少直接困擾。
不過被坑得最慘的,恐怕還是這些產(chǎn)品的具體開發(fā)者和負(fù)責(zé)人,也就是 Ant Design 最直接的用戶。事發(fā)時,他們的慌亂想必不在自己老板之下;考慮到一些開發(fā)者比較“菜”,可能一時半會兒連病根兒都查不出來,他們的血壓要飆到多少?此外,如果一些開發(fā)者并未對雇主或客戶講清楚自己用了開源設(shè)計,那么他們又該怎樣解釋這口“天降大鍋”?
對有些人來說,可能真不只是開除那么簡單。
誰該背鍋?
不管怎樣,事情已經(jīng)發(fā)生了,有人要為此負(fù)起責(zé)任。那么,誰該負(fù)擔(dān)損失,或者說,誰的責(zé)任更大些?
我們應(yīng)該注意到一個細(xì)節(jié):該彩蛋源于 2018 年 9 月 10 日的一次升級,且官方并未聲明。那么,使用 Ant Design 并遭遇彩蛋的開發(fā)者就此分為兩類:在 9 月 10 日前使用并于當(dāng)天 merge 代碼的,在 9 月 10 日后才***開始使用的。
對于前者而言,他們要查看的升級內(nèi)容相對較少,但考慮到官方日志并未提及這次彩蛋,沒發(fā)現(xiàn)恐怕要一半怪自己、一半怪螞蟻了。
但對于那些 9 月 10 日后使用,一開始便將 Ant Design 作為一個“企業(yè)級產(chǎn)品”來使用的初體驗(yàn)者而言,讓他們完整 review 該開源產(chǎn)品未免有些苛求——不排除一些大企業(yè)有專人負(fù)責(zé)此類工作,但對于絕大多數(shù)小微企業(yè)乃至已經(jīng)有相當(dāng)體量的企業(yè)而言,完整 review 開源代碼都并非確定的工作流程或某種職位的義務(wù),遑論企業(yè)外的其他機(jī)構(gòu)。
這是為什么?在客觀上,review 完整代碼的工作量實(shí)在太大,對很多開發(fā)者而言,如此開源還不如自己重寫;在主觀上,使用開源的基礎(chǔ)組件(Ant Design 絕非某種特定功能組件),追求的本來就是穩(wěn)定、可控、高效,結(jié)果該組件并不能如愿,那到底是誰的問題呢?
在 Ant Design 官網(wǎng),我們可以看到“用最小的工作量”是 Ant Design 迄今引以為豪的一句宣傳語,不知道這句宣傳語潛在的含義是否是“用最小的工作量,但你要花絕大精力去 review 一遍”。
而且,強(qiáng)調(diào) Ant Design 是企業(yè)級產(chǎn)品同時,螞蟻還突出了“確定”和“自然”的價值觀。突然冒出來的圣誕彩蛋,恐怕在任何人眼里,都既稱不上“確定”也稱不上“自然”吧?
無論如何,在產(chǎn)品(無論是否開源)里擅自添加彩蛋并且默認(rèn)開啟,絕不是單個程序員該做的事情。如果該行為并非來自個人而是來自團(tuán)隊(duì),那么螞蟻團(tuán)隊(duì)或許該重新審視自己在表面上反復(fù)強(qiáng)調(diào)的價值觀了。
不過,想想阿里旗下支付寶曾經(jīng)的“六一節(jié)默認(rèn)給用戶名+寶寶”事件,以及“隱私賬單默認(rèn)勾選”事件,會有此事,大概也不是一朝一夕了。
希望各位讀者能做出自己的判斷。節(jié)日快樂。