新手向 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 作为平台不应允许如此宽松的机制:只需要 '@' 一个帐号,就能向几十万人发送邮件通知。