写点什么

怀疑开发者在“造核弹”?GitHub 不断封禁开源项目

  • 2020-03-20
  • 本文字数:2859 字

    阅读完需:约 9 分钟

怀疑开发者在“造核弹”?GitHub不断封禁开源项目

GitHub 狠起来连自己都打。今天它封掉了自家的开源项目 Aurelia,只因项目中有两名来自伊朗的外部贡献者。


继去年封禁伊朗等地区账号后,GitHub 今天再次封禁了一个属于微软的前端开源项目 Aurelia,理由是项目中有两名来自伊朗的外部贡献者。虽然 GitHub 首席执行官致歉表示“这次的确是个错误”,但是开发者们显然不买账:GitHub 封禁项目的行为是否太随意了?这样的行为难道不是与开源信念背道而驰吗?

GitHub 一不小心封掉了自家的项目

今天,一个名叫“Aurelia”的前端项目被 GitHub 封禁了。Aurelia 是微软开发的 JavaScript 框架,开源已有 5 年,由一家美国公司管理。



作为项目负责人,微软首席 UX 工程师 Rob Eisenberg 表示非常懵:“一觉醒来,发现 Aurelia 网站被关了,数 T 归档都没办法访问了。之前也没有收到正式的通知,这对我们是毁灭性的行为!”他开玩笑说:“难道是因为微软又有了一个新的 JavaScript 框架,所以要封掉 Aurelia?!“


更为讽刺的是,在微软工作的 Rob Eisenberg 还不得不通过发 Twitter 并知会 GitHub 的方式,来解决公司内部问题(毕竟微软已经收购了 GitHub 呀)。GitHub 的支持账号随后也给了他一个不痛不痒的回复:


如果你认为自己被错误标记了,你可以向 GitHub 申诉啊。可以参看我们的说明网页。


正式上诉后,GitHub 重新启用该项目的组织帐户。Rob 随后向公众解释了封禁原因:


因为我们有两名来自伊朗的外部贡献者(非 GH 组织成员),所以 GitHub 自动标记并封禁了账号。


事件不断发酵,快速的就顶到了 HackerNews 头版,GitHub 的首席执行官不得不也对此表示了歉意:


关闭此帐户显然是一个可怕的错误,我对受此影响的人表示歉意。我们正在调查具体过程,并更改规则以确保此类问题不会再次发生。

被封掉的另一个普通开发者账号

无独有偶,类似事情可不是孤例。


一位叫 Nikolay 的俄罗斯小哥最近有点烦。他是一名 Web 开发人员,平时的爱好就是编写开源库。像很多开发者一样,他把这些开源库都托管到了 GitHub 上。看看下边这张图,Nikolay 过去一年有 3,236 个 contributions,足见又勤奋又活跃。但是最近他遇到点麻烦:他的 GitHub 账号被封了。



图注:这小哥在 GitHub 上确实很活跃


3 月 9 日,GitHub 在没有通知我的情况下突然就封了我的账号。一开始我都没发现,还是有人给我发邮件说我的托管库已停止工作,并问我为什么删除 GitHub 帐户(我没有),我才发现不对劲儿。

更让人崩溃的是,如果有人去到我的 GitHub 页面,那上边显示的是“ 404 未找到”,甚至都不是一个“该用户帐户暂时无法访问”的页面,就好像我这个人根本不存在一样。


这位俄罗斯小哥开始向 GitHub 申诉,并且在 Medium 上全程直播接下来的申诉过程。引来众多开发者围观。


GitHub 的唯一提示是当我点到他们的网站时(仅对我而言),顶部显示一条通知:您的帐户已被标记。因此您的个人资料不公开。如果您认为这是一个错误,请与支持人员联系以审核您的帐户状态。


虽然第一时间 Nikolay 就向 GitHub 发送了邮件申请解封,但是一个星期过去了,没有收到任何回应。



然后 Nikolay 就开始猜:为什么封我的号呢?是我的源代码深处有某个“列入黑名单”的网站超链接?或者是最近我在网上称呼某人为白痴?(最终证明还真就是因为这个!)


让 Nikolay 最为接受不了的是,账号被封后,除了他自己以外,所有人对库中所有 issue(问题)的评论都瞬间消失了,其中一些评论其实是很有价值的。Nikolay 要被气炸了:


GitHub 如果想要阻止你登陆,它可以保证你的代码不会丢失,但不能保证你在 issues/pull-requests/commits/etc 中的评论不会丢失。可笑的是,GitHub 一直宣扬“共享”和“共建”,但却轻易地阻止人们登陆他们花费了大量时间和经历共同创建的源代码和知识库社区,一味地针对一个不知道为啥被封号的人,这就是所谓的“宽大包容”吗?


过了一阵,Nikolay 的文章又做了一个更新:


账户被封一周之后,GitHub 终于有回应了。但是可疑的是,这个回应发生在别人把我这篇文章发在Hacker News,引起很多人关注之后。


Nikolay 在文章里解释了他为什么会被封号。原来是因为他在 GitHub 上开玩笑地称一个家伙为 prick。对方因为感觉被侮辱而申诉,虽然不当言论确实该被惩罚,但是 GitHub 没有给 Nikolay 任何申诉的机会,也没有给他任何通知,直接就封了他的帐户。

“审查”高于一切?

虽然这些被错误封禁的项目都已重新开放,但是的确增加了人们对 GitHub 的不信任,开发者们群情激愤:到底有多少项目的存储库已被禁用?如果不是因为 Aurelia 是微软的项目并且进入 HackerNews 头版,还不知道类似问题能不能都得到解决。


俄罗斯小哥 Nikolay 显然也很失望:“GitHub 虽然是一个开源社区,但更是一个商业公司。对外形象和求稳才是他们真正在意的吧。只要有人施压,他们可以轻易处置任何人。”


你直说自己是一家商业公司也行,可是你却还处处标榜自己是一家非盈利组织。现在想想,那些在社交媒体上称赞并且向别人推荐 GitHub 的人该是多么天真啊。


去年 7 月,一位伊朗开发者的 GitHub 账号被禁,他在社交媒体上分享了自己的经历,并向 GitHub 官方发起质询。最后得知,因为自己的所在地伊朗受到美国制裁,目前整个伊朗地区的 GitHub 账号均无法使用。更让人愤怒的是,GitHub 在没有任何事先通知的情况下屏蔽了所有伊朗账户,连让该地区开发者下载备份数据的机会都没有。随后的消息表明,被美国贸易制裁的国家和地区的开发者账号,还包括克里米亚、古巴、朝鲜、伊朗和叙利亚。


开源是软件时代非常关键的一条技术路线,几乎所有的软件公司都会基于开源软件栈来构建他们的应用。开源软件是全人类的财富,不属于任何个人,开源的边界已经超越了某个组织或公司。它代表的是信念,是精神,是文化。


但是 GitHub 能够跟开源划等号吗?肯定不能。


一直以来,GitHub 都是托管开源项目的最佳选择,但是微软收购 GitHub 后,无论你是否承认,它的身上都无法摆脱商业公司的标签。


微软对开源社区的态度一直很微妙,这不是什么秘密;反过来,一些开源界人士也秉持着“反微软”的态度。微软掌控下的 GitHub 将如何发展,目前还难下定论,不过肯定会有一些开源人士会“择良木而栖”,去往别处。包括这些事件的主人公们在内,众多开发者给出了各种各样的建议:


  • 要不转去 GitLab?

  • Google Code 也不错,有免费 Git 以及 2 GB 存储空间呢。

  • SourceForge 也不错。

  • 试试不在美国的代码托管平台?


……


然而,GitHub 仍是这世界上最流行的代码托管平台,对这些开发者来说,沉没成本太大了。


当然这一切也未必是微软的错,如果没被微软收购,GitHub 一定比现在好?除了自身发展所遭遇的困境外,对于开发者来说,如果 GitHub 长得太大,难道就是好事?


傅盛曾在一次演讲中说:你把一个 App 放在网络上,可以让几十亿人下载,让全世界的人知道你。时过境迁,谷歌、苹果、Facebook 这样超大平台的出现,使得事情又走向了另一个极端。当涉及到各种商业利益和社会因素的时候,它们同样可以在一天内让几十亿的用户完全接触不到你,让你建立的基业瞬间湮灭——这就是垄断平台的力量。


这句话放在 GitHub 身上,同样适用。


2020-03-20 17:3212212

评论 3 条评论

发布
用户头像
gitee比较快
2020-04-24 11:23
回复
用户头像
可怕。
2020-03-27 00:09
回复
用户头像
至少现在国内项目都会在gitee做个备份。
2020-03-21 20:27
回复
没有更多了
发现更多内容

今年我读了四个开源项目的源码,来分享下心得

yes

源码 面试 后端

5步教你将MRS数据导入DWS

华为云开发者联盟

数据 MRS GaussDB 集群 DWS

您的《操作系统线程模型总结》请查收。

后台技术汇

28天写作 2月春节不断更

徒手撸一个Spring Boot中的starter

田维常

springboot

GrowingIO SaaS 产品 CI/CD 实践 (一)

GrowingIO技术专栏

ci SaaS CD

一周信创舆情观察(1.25~1.31)

统小信uos

RocketMQ-Spring 毕业两周年,为什么能成为 Spring 生态中最受欢迎的 messaging 实现?

阿里巴巴云原生

Docker 容器 微服务 云原生 API

区块链+电力,又擦出什么新火花?

CECBC

区块链

如何快速上手 angular.js

华为云开发者联盟

html Vue 数据 angular js

2021年 区块链最火的app爱打卡

v16629866266

淘宝的商品中心和类目体系是怎么设计的

邴越

架构 阿里 模型 电商 业务

一个合格的初级前端工程师需要掌握的模块笔记

我是哪吒

程序员 面试 Vue 大前端 2月春节不断更

Spark Shuffle 内部机制(一)

hanke

大数据 spark 开源

区块链终将彻底改变医疗行业,但哪些因素制约当前的采用?

CECBC

区块链

民进昆明市委:建议利用区块链技术优势在昆明打造金融应用平台

CECBC

金融 金融区块链

面试加分项!零基础如何成为高级Android开发,先收藏了

欢喜学安卓

android 程序员 面试 移动开发

16张图带你吃透Redis架构演进

Kaito

redis 架构 高性能

Elasticsearch+Fluentd+Kafka搭建日志系统

远鹏

kafka ELK EFK Fluentd 日志系统

“新内容 新交互” 阿里云全球视频云创新挑战赛正式开启!

阿里云视频云

阿里云 音视频 应用

面试加分项!我在美团Android研发岗工作的那5年,系列篇

欢喜学安卓

android 程序员 面试 移动开发

【春节不远行,云上过大年】来华为云社区,接任务领新年红包啦···

华为云开发者联盟

华为云

Kafka架构介绍

架构精进之路

kafka 七日更 28天写作 2月春节不断更

互助系统软件开发,互助app开发

luluhulian

以终为始:28天打卡输出复盘

熊斌

个人成长 写作平台 28天写作

探索语言交互技术在政务数字化的应用

华为云开发者联盟

语音 政务 语言交互 VUI G2c

Spring Boot Admin 集成诊断利器 Arthas 实践

阿里巴巴云原生

Java Docker 容器 云原生 Arthas

短信验证码被刷怎么办?java 短信验证码防刷策略分析

香芋味的猫丶

黑客 短信防刷 短信验证码 短信防轰炸 短信防火墙

《iOS面试简历技巧解析》

ios 面试

Elasticsearch Bulk API 奇特的 JSON 格式

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

为您收录的操作系统系列 - 进程管理(中篇)

Arvin

操作系统 进程 同步

统一数据管理工具——CloudQuery v1.3.3 上线!

BinTools图尔兹

数据库 运维 开发工具 dba 数据库管理工具

怀疑开发者在“造核弹”?GitHub不断封禁开源项目_前端_Tina_InfoQ精选文章