曾經(jīng)作為一陣子網(wǎng)頁(yè)前端,根據(jù)我的經(jīng)驗(yàn),阿里的這個(gè)Antd是一個(gè)開(kāi)源的前端框架,使用它可以比較輕松的通過(guò)代碼實(shí)現(xiàn)一些網(wǎng)頁(yè)特效,讓頁(yè)面更加好看。再加上有阿里旗下的螞蟻金服在后面背書(shū),所以有很多商業(yè)網(wǎng)站和企業(yè)網(wǎng)站甚至政府網(wǎng)站都在使用Antd。
由于Antd本身是開(kāi)源的,所有代碼任何人都看得見(jiàn),所以使用它的開(kāi)發(fā)者都默認(rèn)為它是一個(gè)干凈、安全的框架。卻沒(méi)想到,Antd的一位維護(hù)人員不知道出于什么想法,在9月10日提交了一個(gè)“彩蛋”源碼,它的作用是在12月25日當(dāng)天,為所有使用Antd框架的網(wǎng)頁(yè)中的表單提交按鈕,增加了一個(gè)“飄云”的特效,當(dāng)鼠標(biāo)移動(dòng)到按鈕上是還會(huì)顯示“Ho ho ho”的文字提示。
按理說(shuō),給提交按鈕增加這樣一個(gè)特效無(wú)關(guān)大雅。但需要注意的是,前面已經(jīng)提到,很多政府、企業(yè)網(wǎng)站都在使用Antd的框架,而這些網(wǎng)站很多都是極其嚴(yán)肅的,并不適合這些玩笑似的“彩蛋”。尤其是這一彩蛋被設(shè)定在12月25日這天出現(xiàn),指向性的含義非常明顯,因此給不少網(wǎng)站的維護(hù)人員帶來(lái)了很大的麻煩,甚至據(jù)說(shuō)還有前端因此而丟掉飯碗。
一開(kāi)始,這一彩蛋的提交者還認(rèn)為這不是什么大事,直到不少開(kāi)發(fā)者通過(guò)各種社交軟件“炮轟”,才在github發(fā)表了一個(gè)不痛不癢的聲明,稱(chēng)是在自己的“一意孤行且愚蠢的決定”。
而這次事件也給廣大開(kāi)發(fā)中敲響了警鐘。一直以來(lái),很多開(kāi)發(fā)者認(rèn)為“開(kāi)源”的東西一定的安全的,因?yàn)樗写a對(duì)外開(kāi)放,任何人都可以查看。但是當(dāng)一些大型的開(kāi)源項(xiàng)目涉及到很多行代碼的時(shí)候,不一定有開(kāi)發(fā)者能夠完整的閱讀所有的開(kāi)源代碼。而且像Antd這樣由團(tuán)隊(duì)負(fù)責(zé)運(yùn)營(yíng)的開(kāi)源項(xiàng)目,很多時(shí)候默認(rèn)就是安全的,人們使用它就是為了提高工作效率源碼,不大可能把所有代碼都讀一遍。這就使得一些開(kāi)源項(xiàng)目存在了隱患的可能。這次僅僅只是加入了一個(gè)彩蛋,如果下次增加點(diǎn)后門(mén)什么的,后果不堪設(shè)想。
盡管由于Antd是開(kāi)源項(xiàng)目,根據(jù)協(xié)議即使這一彩蛋給開(kāi)發(fā)者帶來(lái)困擾甚至害人丟了工作,開(kāi)發(fā)者也很難追究添加彩蛋的運(yùn)營(yíng)人員的責(zé)任,因?yàn)殚_(kāi)發(fā)者在使用Antd框架的時(shí)候并沒(méi)有付費(fèi),該框架也并非用于盈利。但是這一事件也給Antd項(xiàng)目的聲譽(yù)造成了嚴(yán)重的負(fù)面影響,一些開(kāi)發(fā)者已經(jīng)著手在網(wǎng)站頁(yè)面中將Antd框架刪除??偠灾?,這次“彩蛋事件”雖然是個(gè)別人員的非主觀惡意造成的,但是卻給整個(gè)開(kāi)源社區(qū)帶來(lái)了一場(chǎng)“信任危機(jī)”。