这名新手程序员或许无意间创造了一项世界纪录 —— 他在 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 作为平台不应允许如此宽松的机制:只需要 '@' 一个帐号,就能向几十万人发送邮件通知。
若觉得文章对你有帮助,随手转发分享,也是我们继续更新的动力。
✬「C语言中文网」官方公众号,关注手机阅读教程 ✬