写点什么

苹果热门开源项目首席维护者怒了:GitHub 封停俄罗斯开发者账户,贡献痕迹惨遭删除

  • 2022-04-22
  • 本文字数:2145 字

    阅读完需:约 7 分钟

苹果热门开源项目首席维护者怒了:GitHub封停俄罗斯开发者账户,贡献痕迹惨遭删除

近日,苹果热门开源项目的首席维护者撰文控诉,GitHub 粗暴封停俄罗斯开发者账户,但并没有考虑到后续带来的后果,对涉及封停账户的开源项目带来了“毁灭性”的影响。好在最新的情况是,GitHub 已对此做出了回应与部分修正。


最近一段时间,关于 GitHub 封停俄罗斯账户的消息闹得沸沸扬扬。理由很简单,因俄乌冲突问题,美国政府开始对俄罗斯开发者/开发组织的自有或关联账户实施制裁。


但不知道“痛下杀手”的 GitHub 有没有意识到,他们的一时爽快正在毁灭我的项目。

Quick 项目历史和 PR 请求凭空“消失”了


首先,我给大家简要介绍一下事件背景。


苹果开发者社区中有两个热门项目— Quick 和 Nimble,我最近刚刚接任项目首席维护者。


几天前,我刚刚发布了 Quick 的 5.0 版本。在发布前一周,我一直忙着审查并合并大量 PR 请求。但到了编写发布说明的时候,我突然发现某些奇怪的现象——不少 PR 请求被删除了。


凭空消失,这是什么情况?!


之后我意识到,整个贡献者社群都不见了,包括开放问题、问题评论、甚至是与用户相关的所有痕迹,全都没有了。


例如,大家可以从 GitHub 自动生成的发布说明中看到这样一行:


@BobCatC 在 PR #1129中做出了第一项贡献


但现在,用户账户和 PR 请求都只显示 404 报错页面。唯一剩下的就只有合并提交,这也是整个变更记录剩下的全部内容。这里的 PR#1129 特别值得注意,因为它修复了一个严重 bug。


今天,维护者 Rachel Brindle 打开了另一个修复重要 bug 的 PR 请求。但很遗憾,造成此 bug 的初始 PR 已经被删除:


造成问题的初始 PR 已被删除,所以我无法确定此贡献的确切意图。


离谱的现实让我一度怀疑人生。为什么那么多用户(相关数据),那么多 PR 请求就直接从项目里消失了?


后来在 Tomasz Saptea 的提醒下,我们才意识到这些神秘失踪的信息,源自 GitHub 粗暴封停了俄罗斯开发者的账户,根本没有考虑过这会引发哪些破坏性影响。


Quick 项目有多位贡献者的账户已经被封停,就是说除了初始提交记录之外,他们的所有贡献内容都找不回来了。

涉及封停账户的开源项目受到“毁灭性”影响

我还不清楚 GitHub 接下来要怎么处置这些封停账户。但至少就目前这些涉及账户封停的开源项目来看,造成的影响用“毁灭性”来形容都不为过。


在 Twitter 等社交媒体上,就算是账户被冻结,我们也仍然可以访问相关账户的个人资料,只是会提示该账户处于封停状态。而其他用户的 @操作仍然链接到已封停账户的个人资料。GitHub 可没那么好心,在这边的账户不该叫“封停”,而是被直接“干”掉了。


很明显,GitHub 对于“账户封停”的理解是删除用户的一切活动(痕迹),具体包括:1)删除被封停账户的所有 PR 请求;2)删除封停账户提出的每个问题;3)删除封停账户的一切评论或发言。


实际上,用户的一切活动痕迹都没有了,全部有价值数据都被直接丢进垃圾桶。唯一还在的就只有 Git 初始提交历史。什么叫“人间蒸发”?GitHub 给出了有力的解释。


另外,我也不确定目前的数据丢失到底是 GitHub 的无心之失、还是有意为之。无论如何,产生的后果都相当严重。不通知用户就删掉全部数据,这明显是在滥用权力和信任。如此一来,我们以后还能放心把数据存放在 GitHub 上吗?


我最不能理解的,就是 GitHub 从头到尾也没给出过任何解释或者通知。他们只是强调“我们将继续确保每位用户都能使用到免费的开源服务,也包括俄罗斯开发人员。”我刚接手项目一个多礼拜,也很想做好维护者的工作、努力跟上项目变化。但突如其来的打击实在让我猝不及防。俄乌冲突当然令人痛心,但删掉 GitHub 账户,就能结束这场悲剧?据我所知,这次被影响的都是一些胸怀热情、想要给开源社区做出贡献的普通 iOS 和 MacOS 开发者。

无法找回信息

GitHub 的这些行径无疑给开源项目、乃至整个开源社区都造成了破坏性的影响。一夜之间,那些积极参与项目的贡献者们的 PR 请求、问题和评论全部消失。


现在,我们没办法找回信息、上下文和讨论历史,甚至没法继续正常审查新的 PR 请求。是的,我们手头还有合并 PR 的初始提交记录,但这并不足以支持完整的代码审查和讨论。


光是维护开源项目已经够难的了,继承一个略显陈旧、人气不算太高的项目就更难了。在这种情况下,每一条 PR 请求、问题和评论对于项目的长期维护和发展都显得弥足珍贵。


如果没有这些信息的支持,我们根本没法理解在这样一个多年来流转于不同维护者之间的开源项目,到底是怎样一路发展到今天的。


我认为 GitHub 最好是能保留所有贡献,冻结掉异常账户以阻止其后续操作,并在账户的个人资料页面中明确标记为“封停”。待调查清楚之后,再把账户恢复正常即可。很遗憾,GitHub 并不想费这个劲 —— 删,都给他删喽。


行吧,GitHub,算你狠行吗?

最新:GitHub 已恢复封禁账户发布的 PR 请求等


April 2022 年 4 月 21 日更新


好消息!GitHub 开发者关系高级总监 Martin Woodward 联系到我,表示 GitHub 已经恢复了被封停的俄罗斯开发者账户发布的 PR 请求、问题和评论等。用户个人资料也已恢复,只是仍没有提供封停提示信息。


据他介绍,GitHub 此前之所以粗暴封停账户,是为了预防有恶意人士发送垃圾邮件或者实施其他不当行为。情况紧急,最好的办法就是先把所有账户和活动都撤下来。但我觉得这怎么看也算不是“最好的办法”。总之,感谢 Martin 主动联系我,并帮助我们在 GitHub 上找到更合理的解决办法。


原文链接:


https://www.jessesquires.com/blog/2022/04/19/github-suspending-russian-accounts/


2022-04-22 13:303261
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 537.4 次阅读, 收获喜欢 1977 次。

关注

评论 2 条评论

发布
用户头像
科技领域跟政治关联真的很恶心
2022-04-24 11:21
回复
用户头像
过去看了下原文 表示翻译很接地气啊 给译者点个赞 尤其最后两句 "删,都给他删喽 ", "行吧,GitHub,算你狠行吗?"
2022-04-22 15:43
回复
没有更多了
发现更多内容

第八周作业

大肚皮狒狒

作业帮 x TiDB丨多元化海量数据业务的支撑

PingCAP

数据库 TiDB

华为云GES助力九洲平台:探索确定性运维的新实践

华为云开发者联盟

开发 华为云 华为云GES 华为云开发者联盟 确定性运维

第八周作业

大肚皮狒狒

快速部署MES源码/万界星空科技开源MES

万界星空科技

开源 mes 开源mes 万界星空科技

uniapp的u-album组件自定义删除功能

百度搜索:蓝易云

uni-app Linux 运维 云服务器 album

听 GPT 讲 client-go 源代码 (4)

fliter

0-overlay和underlay,这两种容器网络你分得清吗

华为云开发者联盟

容器 开发 华为云 华为云开发者联盟 云容器网络

开工大吉!秀一下我们假期の战绩

王中阳Go

Java Go 程序人生 面试题 Go 面试题 面经 后端 大厂

使用 Coze 搭建 TiDB 助手

PingCAP

数据库 TiDB

fastposter v2.18.0 一分钟完成开发海报-云服务来袭

物有本末

海报编辑器 海报生成 海报小程序

4K Star,强大的实时监控告警系统

GitHub指北

糟糕,被SimpleDateFormat坑到啦!| 京东云技术团队

京东科技开发者

第七周作业

大肚皮狒狒

教你用Rust实现Smpp协议

华为云开发者联盟

rust 开发 华为云 华为云开发者联盟 华为云短信服务

教育创新:全国高校软件测试峰会聚焦技术前沿

测吧(北京)科技有限公司

测试

深入理解HTTP请求的五个要点

百度搜索:蓝易云

云计算 Linux 运维 HTTP 云服务器

掌上新闻随心播控,HarmonyOS SDK助力新浪新闻打造精致易用的资讯服务新体验

HarmonyOS SDK

HarmonyOS

想设计一个高并发的消息中间件前,先熟悉一下这些知识点

华为云开发者联盟

开发 中间件 分布式架构 华为云 华为云开发者联盟

网安训练营 毕业总结

李某人

4 月 9 日至 4 月 10 日,Hack.Summit() 2024 首聚香江

TechubNews

php所有函数总结

百度搜索:蓝易云

Linux 运维 前端 HTTP 云服务器

STL算法大全

百度搜索:蓝易云

c++ 云计算 Linux 运维 云服务器

听 GPT 讲 client-go 源代码 (3)

fliter

Django数据库类库MySQLdb使用详解

百度搜索:蓝易云

数据库 django 运维 云服务器 mysqldb

一文搞懂设计模式—观察者模式

Java随想录

Java 设计模式

龙年新目标!龙蜥安全联盟第三次月会圆满结束

OpenAnolis小助手

操作系统 密码 龙蜥社区 安全联盟

选择轻量级低代码+定制,轻松打造小程序平台

天津汇柏科技有限公司

低代码开发 小程序开发

Java并发编程基础(上)

FunTester

vue项目中package.json的个人见解

百度搜索:蓝易云

Linux 运维 Vue 云服务器 package.json

第二十二周作业

大肚皮狒狒

苹果热门开源项目首席维护者怒了:GitHub封停俄罗斯开发者账户,贡献痕迹惨遭删除_语言 & 开发_Jesse Squires_InfoQ精选文章