速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

GitHub 有国界:全面封禁美国制裁地区开发者账户

  • 2019-07-29
  • 本文字数:2832 字

    阅读完需:约 9 分钟

GitHub有国界:全面封禁美国制裁地区开发者账户


当 GitHub 被微软收购时,新任 CEO Nat Friedman 曾表示:GitHub 将始终坚持开发者优先并独立运营。但到了今天,这句话也许应该改成:GitHub 将坚持(不受美国制裁地区的)开发者优先。

私人仓库免费了,却不让用了

2019 年 1 月初,GitHub 发布了重磅更新:无限私有仓库免费使用。此良心之举让开发者们一片叫好,许多人表示将从 GitLab 或 BitBuckets 回到 GitHub 的怀抱。可是半年后的今天,许多国家和地区的开发者们却笑不出来了。


事情是这样的:上周,一位伊朗开发者的 GitHub 账号被禁,他在社交媒体上分享了自己的经历,并向 GitHub 官方发起质询。最后得知,因为自己的所在地伊朗受到美国制裁,目前整个伊朗地区的 GitHub 账号均无法使用。更让人愤怒的是,GitHub 在没有任何事先通知的情况下屏蔽了所有伊朗账户,连让该地区开发者下载备份数据的机会都没有。


无独有偶,起初他以为这只是个别事件,可随后在社交媒体上却了解到更多相似遭遇:在他之前,一位克里米亚地区的俄罗斯籍开发者的账号同样遭到封禁。更有甚者,一位居住在芬兰的伊朗籍开发者账户同样遭到了封禁,显然 GitHub 不是单纯地凭借 IP 地址封禁账户,账户的国籍同样是其封禁的考量标准之一。


这时人们才想起,被微软收购后的 GitHub,毕竟本质仍是一家美国企业。开源虽然无国界,但 GitHub 却是有国界的。

开源与封禁,竟是命运的双生子

当开发者们因为“Open Source”的开源概念聚合在一起时,他们脑中想的、口中喊的,都是纯洁、高尚的口号:


  • “开源是没有国界的!”

  • “开源是自由的!”

  • “开源将促进世界的发展!”

  • “开源将帮助落后地区的 IT 建设!”

  • ……


彼时,从没有人怀疑过,崇尚自由的开源,竟然能与封禁联系在一起。更可怕的是,这个封禁的衡量标准,仅以一国之政策为指导方针:任何被美国制裁的国家和地区,其开发者账户都有可能遭到封禁,不管你是真的在利用 GitHub 造核弹,还是托管几个小游戏的代码,你都是被 ban 的对象。


事件起始于一位居住在克里米亚地区的俄罗斯开发者的遭遇:



GameHub 项目的维护者 Anatoliy Kashkin 发出警告,因美国对克里米亚的制裁,GitHub 限制了他这位生活在克里米亚的居民的账号,他可能无法继续维护 GameHub。在俄罗斯与乌克兰交战以及克里米亚脱离乌克兰之后,国际社会对克里米亚进行了制裁。

Kashkin 称他收到通知,“由于美国贸易管制法律,你的 GitHub 账号已被限制。对于个人账号,你被限制只能访问免费的公开库用于个人通过。”Kashkin 解释说,GitHub 限制他创建私有库,关闭了现有的私有库,可以创建公开的库但不能删除。他表示自行托管单一的 git 库的意义不大,毕竟很多人是在 GitHub 上发现 GameHub 的,GameHub 提供了很多有用的社交功能。


事件发酵于一位伊朗地区开发者的遭遇:


伊朗开发者 Hamed Saeedi 发表博文声称,GitHub 屏蔽了他的账号,认为他在利用免费的私有库开发核武器。他称自己从 2012 年开始使用 GitHub,最近收到了与贸易制裁相关的邮件通知。他称 GitHub 屏蔽了所有伊朗账号。


Hamed Saeedi 在 GitHub 上发起了一个项目:github-do-not-ban-us,截止目前已经收获了 6000+ 个 Star,但如果不能得到解封,这些 Star 将毫无用处。


https://github.com/1995parham/github-do-not-ban-us


随后的消息表明:被美国贸易制裁的国家和地区的开发者账号,包括克里米亚、古巴、朝鲜、伊朗和叙利亚。GitHub 封禁的“指导方针”:


  • 根据 GitHub 的服务条款,用户只能按照适用法律访问和使用 GitHub.com,包括美国出口管制和制裁法律。根据美国和其他适用法律,特别指定国民名单和其它被拒绝、被封锁的人士禁止访问、使用 GitHub.com,用户不得代表此类各方使用 GitHub.com,包括受制裁国家 / 地区的政府。

  • 根据美国财政部海外资产控制办公室(OFAC)发布的授权,Github 可允许受美国制裁的管辖区内或通常居住在管辖区内的用户访问某些 Github.com 服务。在访问 GitHub 服务时,这些管辖区内的人员和居民不得使用 IP 代理、VPN 或其他方法来伪装其位置,并且只能使用 GitHub 进行非商业的个人通信。

  • GitHub Enterprise Server 不得出售、出口或再出口到清单中的国家,目前清单中已经包含古巴、伊朗、朝鲜、苏丹与叙利亚。


事件发展至今,包括美国开发者在内的众多群体为以上事件的主人公们表示了同情,并给出了各种各样的建议:


  • 试着导出一下?

  • 要不转去 GitLab?

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

  • ……


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


事件发酵至今,GitHub 迫于舆论压力偷偷地针对被 ban 账户进行了一些“定制化”的变更:


  • “删除这个存储库”按钮不再禁用;

  • 可以选择将“私有 repos”公开,以便克隆它们;

  • 只需在 options 中更改源代码,就会看到自定义域文本框。

  • 在顶部警告上添加了一个“关闭按钮”。被封禁用户可以关闭该消息。


但仍旧,没有什么实质性的解决方案。

老调重弹,开源的自由与国界

一个多月以前,笔者采访了 OpenStack 基金会创始人 Jonathan Bryce,我向他提问,怎么看待近期有关华为问题引发的开源危机相关讨论。当时与会公关叫停了我的这次提问,但 Jonathan 侧面给了我回答:


开源真正给我们带来的是开源社区可以把不同公司、不同行业的技术专家组合在一起,做成一个非常棒的的团队来解决技术问题。整个开源过程是无边界、无国界的,换句话说不会因为你在哪个公司而改变这个态度,也不会因为你在哪个国家而改变对开源的态度,我们真正要做的是把最好的专家聚集在一起,不应该涉及其他方面的问题。

OpenStack 基金会为了更多关心和开拓中国的社区,今年特意在上海成立了一个办事处,有一位专职的社区经理去解决中国的问题。整个开源基金会的目的是能把最好的专家聚集在一起解决一些问题,而不应该涉及国际的问题,OpenStack 也希望帮到整个中国开源社区和开发技术人员。最后重申一点是 OpenStack 这个开源项目是属于全世界的,并不属于一个公司,也不会属于一个国家。


这是我们曾深信不疑的开源理念与精神,也是我们愿意为开源奉献的力量源泉。可现在,事情似乎远不一样了。


中国现在是世界第二大经济体,也是包括 GitHub、OpenStack 等多个开源基金会在内的世界第二大市场与贡献者,但中国仍旧面临过美国政策法案限制的影响,包括华为等多个国家在开源、IT 技术、投资等多方面遭到了种种掣肘。世界第二,终究是不如世界第一。


中国尚且如此,远不如中国强大的伊朗、叙利亚、古巴、朝鲜就更是如此了。开发者们信奉的 OpenSource 理念,终究是抵不过拳头加大棒的强权国家。因为这些组织总部设在美国、上市在美国、选用了美国的云服务等等,它就必须遵守美国的政策法案。


当时笔者曾对一位提出“我们是否该建立自己的 GitHub”了的读者说,“个人觉得不需要,否则又成闭关锁国了”。但现在,也许我们是应该未雨绸缪一下了。


唯一需要我们考虑的是,中国开发者,真正理解开源,愿意奉献开源了吗?中国科技企业,真的愿意投入开源,回报社区了吗?我们的开源能形成一个真正完整的闭环,而不是简单的“拿来主义”吗?


值得深思。


2019-07-29 12:2614588
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 390.5 次阅读, 收获喜欢 1982 次。

关注

评论 6 条评论

发布
用户头像
美国世界的开源,是建立在他心情好的时候,如果被惹怒了,什么开源,什么人权,统统灰飞烟灭。国人应该警醒,尤其是有能力的公司,希望做好备胎工作!!!
2020-04-25 11:05
回复
用户头像
我觉得一分为二看问题,开源和技术应该是无国界的(类似科学家精神),但是同时也要求里面的参与者也是抱着这样的态度和精神。如果一方面有很多怀着这样精神的人主张开放,而却又另一拨人不怀好意、与政治和国界、民族捆绑,抄袭、掠夺、攻击,那这个不平衡势必会导致最终无法完全开放。
2019-08-03 21:51
回复
用户头像
我感觉蹊跷。自己国内不上访问非要说是美国限制
2019-07-29 19:35
回复
GitHub给的回应就是封禁啊
2019-07-30 09:00
回复
封了也是正常的,网站需要遵守所在国法律。要是在国内,限制更多,很多都不是法律,是有关部门的一个电话而已
2019-07-30 12:24
回复
用户头像
各大国际性的组织,总部都设在美国了,真要出问题还真的挺严重的
2019-07-29 13:54
回复
没有更多了
发现更多内容

深入理解 TypeScript 的 type 以及 type 与 interface 和 class 的区别

Lee Chen

typescript

ChatGPT不断升级,给互联网行业甚至计算机行业带来哪些挑战和机遇呢? | 社区征文

迷彩

人工智能 AI 笔记分享 三周年征文 三周年连更

学生管理系统毕设作业

kylexy_0817

架构实战营

应用数据加密技术概述

穿过生命散发芬芳

数据加密 三周年连更

Golang中如何使用Singleflight库进行并发请求合并

Jack

Django笔记二十三之case、when操作条件表达式搜索、更新等操作

Hunter熊

Python MySQL django case when

Camtasia2023免费屏幕录制软件下载安装

茶色酒

Camtasia2023

1行代码,自动群发!人人可用的微信机器人

程序员晚枫

Python 微信 机器人

运动健康app(一)

鸿蒙之旅

OpenHarmony 三周年连更

Java IO流详解

timerring

Java

Go常用设计模式(下)

闫同学

三周年连更

站点可靠性工程SRE最佳实践 -- 黄金监控信号

俞凡

SRE

Shell的数组表示

梦笔生花

Shell 三周年连更 shell数组

面对“失业焦虑”我们可以做些什么?让 AI 帮助自己变得更强大! | 社区征文

汪子熙

人工智能 机器学习 程序员 ChatGPT 三周年征文

Portraiture2024免费版人像滤镜插件

茶色酒

Portraiture4

八股MQ006——Message之旅

Codyida

后端、

从0到1,十分钟搭建一个微服务集群,集群由一个rpc网关和多个微服务组成

vison

微服务 gRPC Go 语言 gin 代码自动生成

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的Redis延时队列的功能组件

洛神灬殇

redis 分布式 延时队列 redisson 三周年连更

文心一言 VS chatgpt (15)-- 算法导论3.2 4~5题

福大大架构师每日一题

福大大 ChatGPT 文心一言

Redis桌面管理用什么工具好?

真大的脸盆

Mac Mac 软件 桌面管理工具

班迪录屏Bandicam 绿色版

源字节1号

开源 软件开发 小程序开发

EasyRecovery2024中文版数据恢复软件下载

茶色酒

EasyRecovery15 EasyRecovery Photo16

2023-05-07:给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后,grid 中最大的岛屿面积是多少? 岛屿 由一组上、下、左、右四个方向相

福大大架构师每日一题

Go 算法 rust 福大大

百度AI,和“吴文俊奖”同行的十二年、千丈山、万里路

脑极体

百度 吴文俊奖

开源相亲小程序

源字节1号

开源 软件开发 小程序开发

Studio One2024中文版补丁包

茶色酒

Studio One 许可证

C++虚函数详解:多态性实现原理及其在面向对象编程中的应用

小万哥

c++ 程序员 面试 后端 开发

Camtasia Studio2024免费版屏幕录像剪辑工具

茶色酒

Camtasia Studio2024

EasyRecovery易恢复2024电脑版免费数据恢复软件

茶色酒

EasyRecovery

Camtasia2024专业版电脑屏幕录制软件

茶色酒

Camtasia2024

索引合并,能不用就不要用吧!

江南一点雨

MySQL

GitHub有国界:全面封禁美国制裁地区开发者账户_文化 & 方法_小智_InfoQ精选文章