写点什么

怀疑开发者在“造核弹”?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:3212480

评论 3 条评论

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

聊聊项目外包

石云升

创业 项目管理 职场经验 4月月更 项目外包

linux之service命令

入门小站

DevSecOps“内置安全保护”,让软件研发“天生健康”

华为云开发者联盟

DevOps DevSecOps 软件研发 安全架构设计 安全隐私

性能测试中QPS取样器和RT取样器

FunTester

JWTToken在线编码生成

入门小站

工具

[Day25]-[二叉树]二叉搜索树中的插入操作

方勇(gopher)

LeetCode 二叉树 数据结构算法

Go语言入门很简单:Go 中的作用域和变量隐藏

宇宙之一粟

作用域 Go 语言 4月月更

眼见不一定为实:调用链HBase倾斜修复

捉虫大师

HBase 数据倾斜 4月月更

在线Excel转TSV工具

入门小站

工具

PingCode 完成近亿元人民币C轮融资,打造世界级研发管理与协作平台

爱吃小舅的鱼

Go单体服务开发最佳实践

万俊峰Kevin

微服务 单体架构 web开发 go-zero Go 语言

知识管理:新时代企业竞争力核心

小炮

企业知识管理 企业知识管理工具

“一个扫描枪一张表”,韵达选择 TDengine 应对每日亿级数据量

TDengine

数据库 tdengine

为安全而生!浪潮云参编的《数据安全法》实施参考(第一版)重磅发布

云安全

Windows 11 修改 PIN 的长度为 4 位

HoneyMoose

超干货 | 手把手教你快速构建一个企业自有“微信”!

融云 RongCloud

Android C++系列:string最佳实践

轻口味

c++ android 4月月更

C语言总结_数组与函数传参练习题

DS小龙哥

4月月更

大数据培训学习程序员有必要吗

@零度

大数据开发

Docker知识对应验证

Docker 4月月更

Docker下,极速体验编译pinpoint1.6.x分支

程序员欣宸

Java 分布式 4月月更

REDIS集群安装运维调优及常见问题处理

IT巅峰技术

揭秘华为云GaussDB(for Influx):最佳实践之数据建模

华为云开发者联盟

MySQL 数据建模 数据模型 华为云 GaussDB(for Influx)

【易安联】安全都是有边界的,零信任也不例外

Geek_2d6073

攻克编译器技术(1)

刘旭东

编译器 4月月更

云原生应用配置中心简述

穿过生命散发芬芳

4月月更

英特尔分享进军独显市场的背后思考

科技新消息

「Spring」@ConfigurationProperties——从基础到源码

Geek_rze78a

Java spring 源码

Swoole中的协程使用相关说明,快来围观

CRMEB

源码解析Synchronous Queue 这种特立独行的队列

华为云开发者联盟

MQ 堆栈 队列 Synchronous Queue 公平队列

双许可、先决条件、附加条款……开源许可证的疑难杂问

一君

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