写点什么

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

评论 3 条评论

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

SD-WAN网络可靠性设计

阿泽🧸

9月月更 网络可靠性设计

「工作小记」接口请求数据的缓存实践

叶一一

前端 设计思维 9月月更

数据治理(九):Atlas界面操作

Lansonli

数据治理 Atlas 9月月更

Linux系统安装MySQL

MySQL Centos 7 navicat 9月月更

Vue基础语法--插槽(Slot)基础使用

Sam9029

Vue 前端 基础 9月月更

业务应用小程序化,一种潜在的技术趋势

Speedoooo

小程序 移动开发 小程序容器

围绕“开源+深耕”策略和数字化监控手段,动态管理场景生态价值

易观分析

银行 易观 场景金融

你真的理解C语言的灵魂 “ 指针 ” 吗?(初阶篇)

Albert Edison

指针 C语言 野指针 9月月更

京东前端面试题

loveX001

JavaScript 前端

2022-09-06:以下go语言代码输出什么?A:Hi All;B:Hi go All;C:Hi;D:go All。 package main import “fmt“ func app() f

福大大架构师每日一题

golang 福大大 选择题

[极致用户体验] 在微信大字号模式下,网页样式乱了怎么办?

HullQin

CSS JavaScript html 前端 9月月更

分布式中灰度方案实践

Java 架构

NFT商城开发——NFT数字收藏平台开发解决方案

开源直播系统源码

NFT 元宇宙 数字藏品 数字藏品开发

LeetCode-26. 删除有序数组中的重复项(java)

bug菌

9月日更 Leet Code 9月月更

LeetCode-21. 合并两个有序链表(java)

bug菌

9月日更 Leet Code 9月月更

C++学习------iso646.h与limits.h头文件的源码学习

桑榆

c++ 9月月更

计算机网络——速率相关的性能指标

StackOverflow

计算机网络 编程‘ 9月月更

DDD领域驱动设计

源字节1号

软件开发 前端开发 后端开发 软件设计思想

剖析智能运维的五大应用场景

穿过生命散发芬芳

智能运维 9月月更

深入学习SAP UI5框架代码系列之三:UI5 控件的渲染器

汪子熙

JavaScript 前端框架 SAP UI5 ui5 9月月更

SAP系统和微信集成的系列教程之一:微信开发环境的搭建

汪子熙

系统集成 SAP 微信开发 微信平台 9月月更

小程序容器技术加入到混合App开发队伍

Geek_99967b

小程序 混合开发

小程序能否成为电商的突破口

Geek_99967b

小程序 小程序开发

深入学习SAP UI5框架代码系列之四:HTML原生事件 VS UI5 Semantic事件

汪子熙

JavaScript SAP SAP UI5 ui5 9月月更

SAP系统和微信集成的系列教程之二:如何通过微信公众号消费API

汪子熙

API 系统集成 SAP 微信开发 9月月更

边缘服务网格 osm-edge 数据平面基准测试

Flomesh

Service Mesh 服务网格

MVCC

急需上岸的小谢

9月月更

在小程序中开启直播的解决方案

Geek_99967b

小程序容器 小程序开发

跟着卷卷龙一起学Camera--AWB

卷卷龙

ISP 9月月更

时代变了,企业网站应该这么策划内容

石头IT视角

库调多了 都忘了最基础的概念-进程/线程篇

知识浅谈

9月月更 线程与进程

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