近日,微软的开源计划 JavaScript 框架 Aurelia 不小心被 GitHub 封禁了,理由是计划中有两名来自伊朗的外部贡献者。虽然 GitHub 首席首席执行官致歉表示“这次的确是个错误”,但是开发者们并不买账,网友也评论称“开源还有国界吗,公平呢?”
3 月 20 日,微软首席 UX 工程师 Rob Eisenberg 发文称:“一觉醒来,发现 Aurelia 网站被关了,数 T 归档都没办法连上了。之前也没有收到正式的通知,这对我们是毁灭性的行为!”他开玩笑说:“难道是因为微软又有了一个新的 JavaScript 框架,所以要封掉 Aurelia?!”
@github I woke up this morning and you shut off the Aurelia site, archived tons of our repos, and I can no longer access admin settings. You sited US trade sanctions and sent me a non-descriptive email with no remediation information. What is going on? This is devastating for us!
— Rob Eisenberg (@EisenbergEffect) March 19, 2020
据了解,Aurelia 是一款非常知名的 JavaScript 框架,开源已经 5 年有余,其创建者、现任微软首席 UX 工程师 Rob Eisenberg 曾是另一款 JS 框架 Angular 团队的成员,2016 年,Eisenberg 加入微软,并得微软许可,继续从事 Aurelia 相关工作。其后,为了 Aurelia 能够更好地发展,转而由 Eisenberg 拥有的 Blue Spire 公司进行管理及营运。
但有意思的是,尽管同属微软,Rob Eisenberg 依然不得不透过 Twitter 公开 @GitHub 来解决 Aurelia 被封禁的问题。
而 GitHub 的支援账号随后也马上给了回复:
如果你认为自己被错误标记了,可以向 GitHub 申诉,详情参看我们的说明网页。
正式申诉后,Rob 随后向大众解释了封禁原因:
因为我们有两名来自伊朗的外部贡献者(非 GH 组织成员),所以 GitHub 自动标记并封禁了账号。
很快这个消息便冲到了 Hacker News 榜单前三名,GitHub CEO Nat Friedman 也不得不在 Hacker News 上进行回应并道歉:
关闭此账号显然是一个可怕的错误,我对受此影响的人表示歉意。我们正在调查具体过程,并更改规则以确保此类问题不会再次发生。我很庆幸的是,在 Aurelia 申诉不到一个小时的时间内,我们就恢复了对它的访问。
同时,也对封禁原因做出解释:世界上每家公司如果在美国境内开展任何服务(例如为美国客户提供服务),都必须遵守美国的制裁规定,这甚至包括与美国银行等基础设施的互动。因此,将总部设在其他地方并没有帮助,你必须服从。美国制裁已书面规定不允许我们为被制裁国家提供商业服务或可能被用于商业目的的服务。
Aurelia 也转发其推文,表示目前该计划已恢复。
The Aurelia site is back online and GitHub is fully restored. Thank you everyone for your patience and thank you @github for working towards a quick resolution.
— Aurelia (@AureliaEffect) March 19, 2020
而要说到开源程式码受美国出口管制这件事似乎就更有意思了。
都是开源程式码受管制惹的祸?
2019 年 5 月,有网友发现,Github 的用户协议上赫然写着:
GitHub.com、GitHub Enterprise Server和您上传的任何一个产品上的讯息都可能受美国出口管制法律的约束,包括美国出口管理条例(the EAR)。
难道这是开源要变闭源了?
有网友也借此调侃说,瞬间觉得去 GitHub 上取得程式码竟然有做特务的感觉。
值得注意的是,协议中的企业服务版块(GitHub Enterprise Server)标注,不得出售、出口或再出口到清单中的国家已经包含古巴、伊朗、北朝鲜、苏丹与叙利亚,并且随时可能发生变化。
也就是说,任何被美国制裁的国家和地区,其开发者账号都有可能遭到封禁,不管你是真的在利用 GitHub 造核弹,还是托管几个小游戏的程式码,你都是被禁止的对象。
而类似的封禁事件也不是第一次了,而且中招者也来自伊朗。
2019 年 7 月,伊朗开发者 Hamed Saeedi 发文称,GitHub 阻挡了他的账号,认为他在利用免费的私有库开发核武器。但讽刺的是,他从 2012 年开始使用 GitHub,最近才收到与贸易制裁相关的邮件通知,并且他还表示 GitHub 挡了所有伊朗账号。
这位伊朗开发者写道:
GitHub 曾是对每个人来说都是开源和自由的平台,但是它现在决定去限制伊朗的账号贡献开源。虽然我们理解 GitHub 在美国-施压下不得已做出此决定,但我们希望 GitHub 做出更让人尊重的决定。
GitHub 突然限制了我们对私有数据库的连线,但我们希望至少 GitHub 在限制连线前警告我们。 最后,我们希望 GitHub 的团队:
-
让我们下载私有计划,并且能让它们公开(设置权限)。
-
改变他们的限制政策,不要根据用户的国籍进行限制。
显然,到目前为止, GitHub 还是没有做出一个让开发者更为满意的解决办法。
GitLab 会是更好的选择吗?
尽管这些被错误封禁的计划都已重新开放,但大家对 GitHub 的不信任日益增加,开发者们也对此发问:
到底有多少计划的储存库已被禁用?如果不是因为 Aurelia 是微软的计划并且进入 Hacker News 前几名,还不知道类似问题能不能都得到解决。
不少开发者也提出建议:
- 不然转去 GitLab?
- Google Code 也不错,有免费 Git 以及 2GB 储存空间。
- SourceForge 也不错。
- 试试不在美国的程式码托管平台?
然而,对于开发者来说,这似乎还是不太实际。
做为基于 Web 的 Git 仓库,GitHub 和 GitLab 都提供了分享开源计划的平台,并为开发团队储存、发表、分享和合作开发计划提供了云端储存的场所,使用方法也差不多。
但 2019 年 11 月,GitLab 在其官网上发表了一篇 issue,称他们将启用一份职位国家封锁令,停止招募居住在中国和俄罗斯的人担任网络可靠性工程师及支援职位,并禁止担任这两个职位的员工移居中国或俄罗斯。
当时有网友评论称:如果按照这种标准,那么 80% 的人都会被 GitLab 拒之门外,而这种“封锁”论调也会让开发者们犹豫是否选择这个开源平台。
所以,开源自立或许是现在唯一的出路了。
- GitHub starts blocking developers in countries facing US trade sanctions
- GitHub do not ban us from open source world
(本文由 雷锋网 授权转载;首图来源:shutterstock)
延伸阅读:
- 中国可用开源躲过贸易战技术限制?美商或美方技术均要配合美国出口法规
- 微软收购 GitHub 一周年,企业经营与开源社群的矛盾与冲突仍待解决
- 开源购并案兴盛,云端软件大厂动作频频