和程序員友誼的小船最好還是別翻

事情是這樣的:

一名NPM(Nodejs Package Manager)社區(qū)的貢獻者Azer Ko?ulu出于對NPM管理層的怨憤退客,不聲不響刪除了自己在NPM上面的全部代碼呼股,其中就包含只有11行代碼的“Left-pad”矮烹。

沒想到從中國北京到美國硅谷飘哨,從大學宿舍學習Nodejs的新手到Facebook的資深工程師旁壮,整個互聯(lián)網(wǎng)界都炸開了鍋潘拨,他們手中的許多Nodejs模塊蒋畜,全罷工了。

此事的背景:

要理解NPM啄栓,首先就要知道Node.js娄帖。

Node.js是基于Javascript語言的后端編程框架,開發(fā)網(wǎng)站用的語言昙楚,可以理解為PHP的替代品近速。

Node.js最明顯的特征在于,除了使用Javascript語言堪旧,同時還擁有許許多多公用的模塊削葱,都由來自世界各地的開發(fā)者貢獻,這些模塊使用NPM 管理淳梦,NPM就有點像蘋果的App商店析砸,只不過這些模塊都是免費的。

AzerKo?ulu本來是NPM的熱情粉絲爆袍,經(jīng)常為NPM貢獻代碼首繁,其中之一就有個叫Kik的模塊,但是這個模塊可能是功能簡陋陨囊,也可能是知名度不高弦疮,反正用的人很少,沒什么存在感谆扎。巧巧合的是挂捅,剛好有一家公司也叫Kik芹助,是一款類似微信的社交工具堂湖。

Kik 公司也要在NPM社區(qū)用到Kik這個名字,于是就給Azer Ko?ulu發(fā)律師函状土,義正言辭要求他把自己的Kik換成別的无蜂,否則會有律師找上門。

Azer Ko?ulu覺得Kik公司說的很有道理蒙谓,然后拒絕了斥季。

畢竟取名不應(yīng)該先到先得嗎?憑啥你說什么我就信什么,憑什么你要我做啥我就做啥酣倾。而且我又沒做錯什么舵揭,我在剛開始編寫Kik模塊時候并不知道有Kik這個公司。

Kik公司交涉失敗躁锡,直接就向NPM官方投訴了午绳,沒多久,NPM社區(qū)管理員沒經(jīng)過Azer Ko?ulu本人同意映之,就把他在NPM上面的Kik模塊的控制權(quán)交給了別人拦焚。

翻船了:

這下Azer Ko?ulu簡直要爆炸了,對于NPM大失所望杠输,沒想到NPM社區(qū)是這種玩意赎败,保護大公司,漠視個人開發(fā)者蠢甲。

這簡直就是對自己價值觀的奇恥大辱僵刮。

憤怒難抑,Azer Ko?ulu決定復仇鹦牛,他要和NPM決裂妓笙,一下子刪光了自己在NPM上面的所有代碼。其中就包括流行組件“l(fā)eft-pad”能岩。

這個組件只有11行寞宫,功能很簡單,就是在給定的字符串左邊重復插入給定的字符拉鹃,以達到需要的字符串長度辈赋。

事件影響:

這個Nodejs模塊雖然簡單,但是應(yīng)用非常廣泛膏燕,下載量超過57萬次钥屈。

Facebook、Spotify以及Netflix等著名公司大型軟件項目中都用到了Babel這個模塊坝辫,而Bel本來這個模塊又調(diào)用了“l(fā)eft-pad”這個模塊篷就。

同時受影響的還有當今非常著名的React框架,這個框架幫助前端 工程師更便捷地開發(fā)網(wǎng)站界面近忙,全世界同時學習React框架的程序員可能數(shù)百萬竭业,但是突然就都不能用了。

據(jù)NPM官方博客及舍,“l(fā)eft-pad”刪除后未辆, 受到影響的模塊達到數(shù)千個。

這就像飛機的發(fā)動機突然掉了一顆螺絲锯玛,點火時候系統(tǒng)就肯定會報錯咐柜,但是你卻很難定位為題的出處兼蜈。畢竟 Nodejs采用連環(huán)套的設(shè)計思想,你調(diào)用的模塊可能調(diào)用了其他模塊拙友,其他模塊也調(diào)用了自己的其他模塊为狸,一層又一層,代碼量千千萬遗契,定位并修復所有的問題代碼钥平,實在工程浩大。

這場意外迅速在Twitter姊途、以及微博上炸開了鍋涉瘾,眾多網(wǎng)友反應(yīng)React、Babel捷兰、Ember無法使用立叛,數(shù)小時后也有網(wǎng)友反映Babel已經(jīng)推出了緊急修補版。

事情結(jié)果:

意外發(fā)生4個多小時后贡茅,NPM社區(qū)管理員才把“l(fā)eft-pad”這個名字從Azer Ko?ulu手中奪了回來秘蛇,重新寫了一個“l(fā)eft-pad”函數(shù),終于撫平了千萬程序員躁動的心顶考。


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?原文轉(zhuǎn)自:http://tech2ipo.com/10028615

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?程序員的復仇:11行代碼如何讓Nodejs社區(qū)雞飛狗跳

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赁还,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子驹沿,更是在濱河造成了極大的恐慌艘策,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件渊季,死亡現(xiàn)場離奇詭異朋蔫,居然都是意外死亡,警方通過查閱死者的電腦和手機却汉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門驯妄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人合砂,你說我怎么就攤上這事青扔。” “怎么了翩伪?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵微猖,是天一觀的道長。 經(jīng)常有香客問我幻工,道長励两,這世上最難降的妖魔是什么黎茎? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任囊颅,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘踢代。我一直安慰自己盲憎,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布胳挎。 她就那樣靜靜地躺著饼疙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪慕爬。 梳的紋絲不亂的頭發(fā)上窑眯,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音医窿,去河邊找鬼磅甩。 笑死,一個胖子當著我的面吹牛姥卢,可吹牛的內(nèi)容都是我干的卷要。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼独榴,長吁一口氣:“原來是場噩夢啊……” “哼僧叉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起棺榔,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤瓶堕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后症歇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捞烟,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年当船,在試婚紗的時候發(fā)現(xiàn)自己被綠了题画。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡德频,死狀恐怖苍息,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情壹置,我是刑警寧澤竞思,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站钞护,受9級特大地震影響盖喷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜难咕,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一课梳、第九天 我趴在偏房一處隱蔽的房頂上張望距辆。 院中可真熱鬧,春花似錦暮刃、人聲如沸跨算。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诸蚕。三九已至,卻和暖如春氧猬,著一層夾襖步出監(jiān)牢的瞬間背犯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工盅抚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留媳板,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓泉哈,卻偏偏與公主長得像蛉幸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子丛晦,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容