新手向 GitHub 仓库提交 PR,结果“轰炸”了近 40 万开发者

这名新手程序员或许无意间创造了一项世界纪录——他在 GitHub 创建的 PR 让 40 万开发者收到了邮件提醒,并被反复“轰炸”。

近日,一名开发者向游戏公司 Epic Games 组织的 GitHub 仓库提交了一个 PR内容是修改 README 文件中的几处表述性问题,以及调整 logo 尺寸。

这种没什么技术含量的 PR,通常是刚接触 GitHub 不久的新手程序员在“练手”,又或是他们包装自己简历的一个手段——毕竟 PR 被合并后即可成为 Epic Games 的 Contributor,这种身份用来填充简历至少可以吓唬一下 HR。

然而,这个平平无奇的 PR 却在刚过去的周末惊动了大约 40 万使用虚幻引擎 (Unreal Engine) 的开发者。

原因是,这名新手为了让自己提交的 PR 尽快被合并,他在评论中'@'了多个帐号进行提醒,其中'@EpicGames/developers'触发了 reply-all 事件:向加入 Epic Games 组织的所有 GitHub 用户发送关于此 PR 的邮件通知。按照虚幻引擎的政策,要先加入 Epic Games 组织才有权限访问项目的源代码。这时 Epic Games 组织的成员人数是 398463 名。

莫名收到邮件通知的开发者如果点开了 PR,并且留下评论,那么这些评论也会继续以邮件的形式通知给 Epic Games 组织的的开发者。也就是说,大约 40 万开发者会因此收到大量的邮件轰炸。由于需要发送的邮件数量太多,导致 GitHub 的邮件通知服务也出现了延迟。所以开发者收到邮件的时间会相差较远,不少开发者即使在获知此事后取消了订阅 PR,也还是会收到在此之前积压的未发出的邮件。

下图就是一名被“邮件轰炸”的开发者打开收件箱时的真实记录:

对于这种情况,受影响的开发者只能手动停止订阅此 PR 的通知,当然 Epic Games 开发者发现该情况后也立即锁定了 PR。事后,当事人发表了道歉推文,他表示自己确实不知道在 PR 评论中的'@'会影响到 40 万开发者。

当然,他也不知道自己为了修改表述错误而提交的 PR 本身也充斥着许多错误。

有开发者调侃,他可以把这次经历写到简历上:“通过向 Epic Games 的 GitHub 仓库提交 PR,将 GitHub 变成了发送骚扰邮件的僵尸网络。”

也有开发者认为,GitHub 作为平台不应允许如此宽松的机制:只需要'@'一个帐号,就能向几十万人发送邮件通知。

猜你喜欢

转载自www.oschina.net/news/198579/newbie-programmer-makes-an-annoying-bump