写点什么

苹果热门开源项目首席维护者怒了: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:304008
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论 2 条评论

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

网络协议学习笔记 Day6

穿过生命散发芬芳

网络协议 4月日更

MySQL主从不一致情形与解决方法

AI乔治

Java MySQL 架构 主从同步

对于医疗健康行业,区块链最大的价值在哪里?

CECBC

医疗

一枚比特币变换一台车,特斯拉与比特币还要绑定多久?

CECBC

特斯拉

小技巧 | 帮助运营小姐姐批量修改文件名的几种方式

梁龙先森

Node 脚本 PowerShell

收藏!阿里P9耗时28天,总结历年亿级活动高并发系统设计手册

Java架构师迁哥

架构师必经之路!Github榜首Java代码优化:77案例+28技巧开源分享

Java架构师迁哥

道相同、谋相通、人相守:华为副总裁周跃峰分享如何与用户精英共创数字基建

脑极体

ElasticSearch

云淡风轻

elasticsearch

周转箱在仓配业务中的应用

Geek_vidmje

京东首席架构师深邃洞察:服务化+云原生+微服务

Java架构师迁哥

强化区块链技术在数字政府、智慧城市、智能制造等领域应用

CECBC

人工智能

为打造更好移动生态:日活超1.2亿的百度知道,摊牌了

ToB行业头条

百度 百度知道

你公司有没有企业文化?

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

深入浅出解读SpringMVC 进阶版

AI乔治

Java spring 架构 微服务 springmvc

答对这八个Redis的问题,说明你精通了

AI乔治

Java redis 架构 分布式 高并发

聪明人的训练(二十七)

Changing Lin

4月日更

电脑护眼不权威指南,年纪轻轻眼睛就不行了?

彭宏豪95

效率 windows 4月日更 护眼

如何在 Spring/Spring Boot 中优雅地做参数校验?

JavaGuide

Java spring springboot

什么是低代码开发?低代码11大核心功能介绍!

优秀

低代码

前端工程化-webpack

chun1123

大前端 webpack

Github瞬间爆火!被各大厂要求直接下架的面试题库也太全了

Java 编程 程序员 架构 面试

开源新老兵携手打开社区大门,带大学生走近开源

DT极客

Dubbo学习笔记

风翱

dubbo 4月日更

MySQL高可用架构:mysql+keepalived实现

AI乔治

Java MySQL 架构 高可用架构 keepalive

面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot

Java架构师迁哥

为什么区块链技术仍然被人们认为当成一个投机的工具?

CECBC

爆肝1W+字,通俗易懂的讲解下Java注解

AI乔治

Java 架构 面试 注解

全面复盘B站面试时坑我最深的Java并发:JDK源码剖析

Java架构师迁哥

工行首次全面展示数十项数字人民币研发试点成果

CECBC

数字人民币

别让心里的墙,挡住了你未来的路

小天同学

思考 认知提升 认知 4月日更

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