新手向 GitHub 倉(cāng)庫(kù)提交 PR,結(jié)果 “轟炸” 了近 40 萬(wàn)開(kāi)發(fā)者
- 這名新手程序員或許無(wú)意間創(chuàng)造了一項(xiàng)世界紀(jì)錄 —— 他在 GitHub 創(chuàng)建的 PR 讓 40 萬(wàn)開(kāi)發(fā)者收到了郵件提醒,并被反復(fù) “轟炸”。
近日,一名開(kāi)發(fā)者向游戲公司 Epic Games 組織的 GitHub 倉(cāng)庫(kù)提交了一個(gè) PR,內(nèi)容是修改 README 文件中的幾處表述性問(wèn)題,以及調(diào)整 logo 尺寸。
這種沒(méi)什么技術(shù)含量的 PR,通常是剛接觸 GitHub 不久的新手程序員在 “練手”,又或是他們包裝自己簡(jiǎn)歷的一個(gè)手段 —— 畢竟 PR 被合并后即可成為 Epic Games 的 Contributor,這種身份用來(lái)填充簡(jiǎn)歷至少可以嚇唬一下 HR。
然而,這個(gè)平平無(wú)奇的 PR 卻在剛過(guò)去的周末驚動(dòng)了大約 40 萬(wàn)使用虛幻引擎 (Unreal Engine) 的開(kāi)發(fā)者。
原因是,這名新手為了讓自己提交的 PR 盡快被合并,他在評(píng)論中 '@' 了多個(gè)帳號(hào)進(jìn)行提醒,其中'@EpicGames/developers' 觸發(fā)了 reply-all 事件:向加入 Epic Games 組織的所有 GitHub 用戶(hù)發(fā)送關(guān)于此 PR 的郵件通知。按照虛幻引擎的政策,要先加入 Epic Games 組織才有權(quán)限訪(fǎng)問(wèn)項(xiàng)目的源代碼。這時(shí) Epic Games 組織的成員人數(shù)是 398463 名。
莫名收到郵件通知的開(kāi)發(fā)者如果點(diǎn)開(kāi)了 PR,并且留下評(píng)論,那么這些評(píng)論也會(huì)繼續(xù)以郵件的形式通知給 Epic Games 組織的的開(kāi)發(fā)者。也就是說(shuō),大約 40 萬(wàn)開(kāi)發(fā)者會(huì)因此收到大量的郵件轟炸。由于需要發(fā)送的郵件數(shù)量太多,導(dǎo)致 GitHub 的郵件通知服務(wù)也出現(xiàn)了延遲。所以開(kāi)發(fā)者收到郵件的時(shí)間會(huì)相差較遠(yuǎn),不少開(kāi)發(fā)者即使在獲知此事后取消了訂閱 PR,也還是會(huì)收到在此之前積壓的未發(fā)出的郵件。
下圖就是一名被 “郵件轟炸” 的開(kāi)發(fā)者打開(kāi)收件箱時(shí)的真實(shí)記錄:
對(duì)于這種情況,受影響的開(kāi)發(fā)者只能手動(dòng)停止訂閱此 PR 的通知,當(dāng)然 Epic Games 開(kāi)發(fā)者發(fā)現(xiàn)該情況后也立即鎖定了 PR。事后,當(dāng)事人發(fā)表了道歉推文,他表示自己確實(shí)不知道在 PR 評(píng)論中的 '@' 會(huì)影響到 40 萬(wàn)開(kāi)發(fā)者。
當(dāng)然,他也不知道自己為了修改表述錯(cuò)誤而提交的 PR 本身也充斥著許多錯(cuò)誤。
有開(kāi)發(fā)者調(diào)侃,他可以把這次經(jīng)歷寫(xiě)到簡(jiǎn)歷上:“通過(guò)向 Epic Games 的 GitHub 倉(cāng)庫(kù)提交 PR,將 GitHub 變成了發(fā)送騷擾郵件的僵尸網(wǎng)絡(luò)?!?/p>
也有開(kāi)發(fā)者認(rèn)為,GitHub 作為平臺(tái)不應(yīng)允許如此寬松的機(jī)制:只需要 '@' 一個(gè)帳號(hào),就能向幾十萬(wàn)人發(fā)送郵件通知。
本站新聞禁止未經(jīng)授權(quán)轉(zhuǎn)載,違者依法追究相關(guān)法律責(zé)任。授權(quán)請(qǐng)聯(lián)系:oscbianji#oschina.cn
本文標(biāo)題:新手向 GitHub 倉(cāng)庫(kù)提交 PR,結(jié)果“轟炸”了近 40 萬(wàn)開(kāi)發(fā)者
本文地址:https://www.oschina.net/news/198579/newbie-programmer-makes-an-annoying-bump