写点什么

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

2020 年 3 月 20 日

怀疑开发者在“造核弹”?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 年 3 月 20 日 17:329686

评论 3 条评论

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

何时开始重构?

Page

敏捷开发 重构

多多益善的MacOS文件管理方案

陈东泽 EuryChen

macos Mac apple 提升效率 文件管理

2020 敏捷产品基本盘

Yanel 说敏捷产品

产品 敏捷 产品设计 产品推荐

学习型组织的修炼之道

Yanel 说敏捷产品

团队管理 项目管理 敏捷 团队协作 组织转型

近期工作的几点感想

Leiy

app退出登录

服务发现:ZooKeeper vs etcd vs Consul

MaxHu

Docker 容器 微服务 etcd Consul

为什么我喜欢的大V拉黑我?

lmymirror

经历 后真相时代 日常思考

用"结构性张力"构建自驱力

Yanel 说敏捷产品

团队管理 敏捷 团队协作 项目

决战下半场:小程序技术助力金融APP重回C位

fino星君

小程序 数字化转型 app重构

数据分析的利器-clickhouse概述

流沙

数据库 Clickhouse

BVR 才是变革的核心

Yanel 说敏捷产品

团队管理 项目管理 敏捷 敏捷开发 敏捷精髓

MySQL备份基础

一个有志气的DB

MySQL 数据

KK日知录20200515

kimmking

数列找规律的问题

oldj

数学

太赞了,VSCode 上也能画流程图了!

GitHubDaily

visual-studio GitHub 程序员 vscode 开发者工具

奔腾吧,“后浪”李子柒!

无量靠谱

网红

【Howe学爬虫】全国统计用区划代码爬取

Howe

Java 爬虫

回“疫”录(17):返宁的前一天

小天同学

疫情 回忆录 现实纪录 纪实

一篇文章搞定Java处理Excel的各种疑难杂症

知春秋

Java Excel POI

spring注入bean的几种策略模式

测试轩

Java Spring Boot 测试驱动开发实战营

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (七)CORRECT边界条件

编程道与术

Java 编程 软件测试 TDD 单元测试

揭秘!开源软件背后的神秘组织

Apache Flink

大数据 flink 流计算 实时计算 大数据处理

浅析 - CocoaLumberjack 3.6 之 DatabaseLogger

Edmond

ios sqlite log4j CocoaLumberjack DDLog

游戏发行中学到的重要经验(严肃长文)

谢锐 | Frozen

独立开发者 游戏开发 游戏出海 移动互联网

工程师、程序员和产品经理

王泰

程序员 产品经理 IT 软件工程师 工程师思维

Intellij IDEA2020.x如何安装Lombok插件

龙眼果

开发者工具

常见的主从报错集锦

一个有志气的DB

MySQL 主从配置 主从同步

Java实现Base64

Java

程序员的晚餐 | 5 月 15 日 如果不写代码了,那就开个饺子店

清远

美食

网站系统架构演进

Janenesome

读书笔记 程序员 架构 系统设计

真的!只需 “六步” 实现图像特定物体识别!!!

攀岩飞鱼

Python OpenCV 计算机视觉 图像识别 物体检测

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