奧推網

選單
科技

18 歲 GitHub“萌新”提交 PR,意外“轟炸”了近 40 萬名開發者......

整理 | 鄭麗媛

出品 | CSDN(ID:CSDNnews)

提起 18 歲,你會想到什麼?有人會回想起那段專心備戰高考的日子,有人會暢想理想中的大學生活,也有人已經開始為成年後的自己未雨綢繆——如今 18 歲的程式設計師“萌新” Rohith Sreedharan 就是這樣(其推特簡介有一句“一位 18 歲的青少年”)。

可能是出於練手,也可能是為了給簡歷“潤色”,上週五 Rohith Sreedharan 向全球知名遊戲公司 Epic Games 的 GitHub 倉庫提交了一個“可以但沒必要”的 PR(旨在最佳化 README 檔案中的幾個措辭問題及 Logo 尺寸)。

殊不知,這個 PR 所引發的後續,真的可謂為其簡歷添上了“濃墨重彩”的一筆:導致郵件“轟炸”了約 40 萬名開發者,這起事件還被列入了維基百科。

提交一個PR,通知近 40 萬名開發者

簡單來說,這件事的起因就是 Rohith Sreedharan 向 Epic Games 提交了一個沒什麼技術含量的 PR——提交 PR 沒問題,PR 沒啥技術含量也沒問題,可問題在於 Rohith Sreedharan 在提交了這個 PR 之後,為了讓自己的 PR 儘快被合併,在評論中 @ 了一個賬號:@EpicGames/developers。

可能在 Rohith Sreedharan 看來,一個賬號只對應一個人或一個組織,其訊息也只會提醒他 @ 的賬戶持有者。但意外的是,按照虛幻引擎 GitHub 原始碼訪問規定顯示,凡欲訪問專案原始碼者,需先加入 Epic Games 組織。

也就是說,這個“@EpicGames/developers”涉及的不只是一個人或少數幾個人的團體,而是當時人數高達 398463 名的 Epic Games 組織全體成員。

結果可想而知:Rohith Sreedharan 提交的這個 PR,被以郵件的方式通知給了這近 40 萬名開發者。

PR 本身也存在不少問題

更離譜的是,只要這 40 萬名開發者中有人對 Rohith Sreedharan 的這個 PR 留言評論,其評論也會被郵件通知給 Epic Games 組織的全體成員,即他們將集體陷入郵件“轟炸”之中。

這種情況下,如果 Rohith Sreedharan 提交的這個 PR 沒有問題最好不過,可很多收到通知的開發者在檢視該 PR 之後卻發現了不少問題,由此又引發了大量評論及相應的郵件通知。

“這是在用更多的錯別字來改正錯別字。”

“你的補丁所造成的問題與該修復的問題一樣多,甚至你的 PR 都沒有描述它在解決什麼問題。”

很快,有開發者指出手動取消訂閱該 PR 的方法:“右欄中有一個‘取消訂閱’按鈕,幾乎在底部、參與者列表的正上方。單擊它並忽略即將傳入的大量通知。”之後,Epic Games 方面在知情後也儘快鎖定了該 PR,關閉其評論功能。

不過由於 GitHub 的郵件通知服務因此受到影響,出現了郵件傳送延遲的情況,即開發者事後可能仍會陸續收到此前積壓未及時發出的郵件。

在推特道歉:“我不知道會發給 40 萬名成員”

無意用郵件“轟炸”了近 40 萬名開發者的後果使得 Rohith Sreedharan 自身十分愧疚,他特地在推特釋出了一則推文表示歉意:

“我非常抱歉,我不知道會有 40 萬名成員被標記,真心為這些垃圾郵件感到非常抱歉,向包括 @EpicGames 和 @github 在內的所有團隊道歉,沒想到會發生這種事,謝謝你們通知我!我保證這種事不會再發生了。”

不僅如此,這件事對於年僅 18 歲的 Rohith Sreedharan 而言,顯然有些不能承受且後怕:“我擔心我的 GitHub 賬號被禁”、“FBI(聯邦調查局)會查嗎?”、“我真的開始感覺我快要死了…”

面對這位 18 歲少年的道歉與擔憂,大多開發者留言表示理解和安慰,並提出 GitHub 應最佳化機制,避免此類事件再次發生:

“這不是你的錯,因為系統沒有阻止你這樣做:1)在傳送訊息之前,系統應非常清晰地顯示誰會收到你的通知;2)不應該在我們的許可權級別下對所有的 repo 參與者進行通知。”

“將問題歸咎於 GitHub 系統吧。如果不是你,也會有其他人可能會觸發相同的問題,這可能會產生其他不好的影響。也就是說,你在下一次問題發生之前就指出來並挽救了它,這沒有什麼好擔心的。”

對於這些建議,GitHub 高階工程總監 Shay Frendt 留言迴應稱:“很抱歉,我們當前的系統設計導致你們陷入這種情況。我們正在努力釋出補丁,以嘗試中斷你們都陷入的反饋迴圈。”

也有開發者輕鬆調侃道:“現在你可以把這件事寫在你的簡歷上:透過向 Epic Games 的 GitHub 庫提交 PR,將 GitHub 變成了傳送騷擾郵件的殭屍網路。”

最有趣的是,還有人留言指出,這件事還作為例子被加入了“Email storm(電子郵件風暴)”的維基百科詞條中:

對此,18 歲的 Rohith Sreedharan 再度震驚:“在維基百科啊!!”

那麼,你對於這起事件有何看法,歡迎留言分享!

參考連結:

https://github。com/EpicGames/Signup/pull/24

https://twitter。com/Rohithaditya/status/1533305205697130497

https://en。m。wikipedia。org/wiki/Email_storm