【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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:2614148
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论 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
回复
没有更多了
发现更多内容

重构这件“小”事儿 | 得物技术

得物技术

如何使用 Java 将 JSON 文件读取为字符串?这三种方法很管用!

Java架构历程

三周年连更

职业规划:如何面对“程序员失业”?| 社区征文

ninetyhe

人工智能 AI 大龄程序员 三周年征文

2023年3月用户体验GX评测:国有行及股份行持续领跑,城商行及农商行农信社积极探索实践用户体验体系搭建

易观分析

金融 银行

Django笔记十五之in查询及date日期相关过滤操作

Hunter熊

Python django 日期

缓存的处理步骤

阿泽🧸

缓存 三周年连更

Android调用WebService

攻城狮Wayne

HTTP WebService 三周年连更

学会 Go select 语句,轻松实现高效并发

陈明勇

Go golang 高并发 select 三周年连更

Matlab实现光伏发电电池模型

Shine

三周年连更

如何在 Linux 中查找文件所有者?

wljslmz

三周年连更

【已结束】直播预告|传统 PvE 游戏 ∕ 开房间 PvP 游戏的云原生架构升级

阿里巴巴云原生

阿里云 云原生 游戏

新手如何学好Zbrush3D建模?

Finovy Cloud

3D软件

【深入浅出Spring原理及实战】「源码调试分析」深入源码探索Spring底层框架的的refresh方法所出现的问题和异常

洛神灬殇

spring NPE 源码剖析 4月日更 问题分析

CnosDB成为首个支持sqllogictest的时序数据库,稳定性与可靠性再升级

CnosDB

数据库 开源 时序数据库 CnosDB

2022-04-23:给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 集合 或者 B 集合中 使得 A 集合和 B 集合不为空,并且 average(A) == aver

福大大架构师每日一题

golang 算法 rust

《精进3:找到你的潜在生态位》

石云升

读书笔记 三周年连更

百度平地起“雷”,突然爆出的QPS数据意味着什么?

脑极体

大模型

音视频八股文(4)--ffmpeg常见命令(3)

福大大架构师每日一题

音视频 ffmpeg

使用 Kubectl Patch 命令更新资源

Se7en

云原生

算法刷题-移除元素、分数到小数、整数转罗马数字

共饮一杯无

数据结构 算法 三周年连更

Shell脚本从入门到精通

袁袁袁袁满

三周年连更

Docgeni 2.1 正式发布

PingCode研发中心

软件开发 Docgeni

世界读书日|华为阅读联合40余家伙伴推出精品书单

最新动态

数字未来:世界正走向新的“破茧时刻”

脑极体

华为

INFINI 产品更新|Console v1.0 版本正式发布

极限实验室

elasticsearch console Gateway infini 极限网关

R 编程并发的基础知识有哪些?

海拥(haiyong.site)

三周年连更

TypeScript Module

程序员海军

三周年连更

基于 Amazon SageMaker 构建细粒度情感分析应用

亚马逊云科技 (Amazon Web Services)

机器学习 Amazon SageMaker

关于容器云的三种网络设计

穿过生命散发芬芳

容器云 三周年连更

测试需求平台8-Arco组件实现产品增改需求

MegaQi

测试平台开发 三周年连更 AcroVue

python时间序列预测之Holt-Winters

AIWeker

Python 机器学习 时间序列 三周年连更

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