轉(zhuǎn)帖|行業(yè)資訊|編輯:郝浩|2016-07-19 11:15:44.000|閱讀 2161 次
概述:在互聯(lián)網(wǎng)世界里,程序員意味著什么?你可以把他們想象成神一樣的人物,最頂尖的程序員可以一手遮天,甚至影響整個(gè)隱秘的互聯(lián)網(wǎng)帝國(guó)。就在前不久,美國(guó)加州奧克蘭一名程序員,只是刪除了11行代碼(如上圖所示),但卻破壞了全球的互聯(lián)網(wǎng),特別是Java語(yǔ)言的世界。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
在互聯(lián)網(wǎng)世界里,程序員意味著什么?你可以把他們想象成神一樣的人物,最頂尖的程序員可以一手遮天,甚至影響整個(gè)隱秘的互聯(lián)網(wǎng)帝國(guó)。就在前不久,美國(guó)加州奧克蘭一名程序員,只是刪除了11行代碼(如上圖所示),但卻破壞了全球的互聯(lián)網(wǎng),特別是Java語(yǔ)言的世界。

根據(jù)海外新聞網(wǎng)站Quartz.com報(bào)道,這個(gè)程序員叫Azer Koçulu(我們叫他安東吧),是一名程序員,專門給NPM寫(xiě)程序,NPM是個(gè)什么東西?簡(jiǎn)單來(lái)說(shuō),就是提供用Java寫(xiě)的開(kāi)源軟件的平臺(tái)(如下圖),你可以想象成一個(gè)巨大無(wú)比的公用圖書(shū)館,里面藏滿了各種書(shū)籍而且允許你亂涂亂畫(huà),NPM每個(gè)月的調(diào)用量就超過(guò)10億次。
這個(gè)安東可以說(shuō)是自學(xué)成才,他只是一個(gè)高中生,沒(méi)念過(guò)大學(xué),但靠著自學(xué)編程成為了一個(gè)高手,他的信仰就是分享和開(kāi)源,并且對(duì)麻省理工學(xué)院(MIT)早期程序員的駭客之道深信不疑,那就是“程序員的友誼基礎(chǔ)就是分享程序”。
安東經(jīng)常寫(xiě)的開(kāi)源程序包叫KIK,用處是幫助程序員為他們開(kāi)發(fā)的項(xiàng)目設(shè)置各種模板,故事到這里沒(méi)有任何問(wèn)題,但問(wèn)題就在于KIK這個(gè)名字和那個(gè)全球知名的社交軟件商KIK名字一樣,這引發(fā)了為社交軟件商KIK工作的專利和商標(biāo)代理包卜.斯特拉頓(Bob Stratton)的注意。
于是,斯特拉頓找到了安東并問(wèn)他,你能不能重新命名你的那個(gè)程序包KIK,因?yàn)槲覀兊腒IK自己要推出程序包。
安東拒絕了斯特拉頓,告訴他,抱歉,我開(kāi)發(fā)的開(kāi)源項(xiàng)目就叫KIK。(安東挺有脾氣)
斯特拉頓不高興了,警告安東,如果執(zhí)意這樣做,那么會(huì)有人來(lái)找他麻煩,安東回復(fù)很簡(jiǎn)單,F(xiàn)*** You,不用再給我發(fā)郵件。
斯特拉頓可能慫了,提出可以付錢給安東,安東說(shuō),好啊,3萬(wàn)美刀。
Quartz.com報(bào)道稱,斯特拉頓看無(wú)法攻破安東這一關(guān),直接找到了NPM公司,不料這一招果然管用,NPM的首席執(zhí)行官Isaac Schlueter同意將有爭(zhēng)議名字歸還給KIK。
Schlueter的這一舉動(dòng)徹底惹怒了安東,特別是他一直維護(hù)的開(kāi)源社區(qū)的價(jià)值觀,安東告訴NPM必須撤下所有他寫(xiě)的程序包,否則他會(huì)自己動(dòng)手。(碉堡的程序員啊,肅然起敬!)
事情到了這里,已經(jīng)不可挽回了,一邊是憤怒的程序員,一邊是想息事寧人的NPM。
3月22日,全世界的Java程序員在試圖運(yùn)行代碼時(shí)收到了一條奇怪的錯(cuò)誤代碼,其中一段是這樣的:

這段代碼的意思是,Java程序員試圖運(yùn)行的代碼缺少一個(gè)程序包,Left-Pad。但很多程序員都感到莫名其妙,Left-Pad是什么鬼?
要理解為什么運(yùn)行自己代碼需要Left-Pad,就必須要理解這些程序的運(yùn)行方式,根據(jù)Quartz.com的解釋,幾乎每一個(gè)程序都是建立于其他軟件上的,你要運(yùn)行自己的代碼,沒(méi)問(wèn)題,但很可能必須要載入NPM某個(gè)特定的程序包,所以這也是為什么NPM那么風(fēng)靡的原因。舉個(gè)例子,你面前有一堵高墻,要翻過(guò)去必須疊羅漢,如果缺少一個(gè)羅漢,你都可能無(wú)法逾越。
當(dāng)天晚上,很多程序員聚集到了全球最大的開(kāi)源代碼平臺(tái)GITHUB,在上面找到了遺失的Left-Pad以及11行代碼(如下圖),這11行代碼非常簡(jiǎn)單,即便是大多數(shù)程序員都可以隨手寫(xiě)出,但缺少了這11行代碼,互聯(lián)網(wǎng)世界就轉(zhuǎn)不動(dòng)了。

破壞已經(jīng)造成,很多軟件商都依賴于NPM,而NPM其中一個(gè)重要的程序包就包括Left-Pad,這種鏈條式的沖擊影響了社交軟件商業(yè)Kik,甚至影響了另一個(gè)至關(guān)重要的程序包React,React被廣泛運(yùn)用于多數(shù)主要網(wǎng)站,其中一個(gè)就包括Facebook。
1個(gè)小時(shí)以后,安東在個(gè)人出版網(wǎng)站Medium上發(fā)文稱,為了抗議NPM,他刪除了在NPM上的273個(gè)程序包,其中一個(gè)就是令全球程序員抓狂的Left-Pad。
2個(gè)小時(shí)后,NPM決定恢復(fù)這11行代碼,終于結(jié)束了這場(chǎng)短暫的互聯(lián)網(wǎng)危機(jī)。
而急于復(fù)仇的程序員安東,在不經(jīng)意之間,影響了全球的互聯(lián)網(wǎng)。
本文轉(zhuǎn)載自NEXT-MIND
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn