GitHub的安全性好不好?GitHub突然封禁伊朗开发者帐号!开发者应做好备份!
开源无界,GitHub有界。遥想去年GitHub被微软收购时,公司CEO Nat Friedman曾表示,要让GitHub始终坚持开发者优先的独立运营。如今,他食言了……
事情的起因要从一名伊朗程序员说起。
2012年,一位来自伊朗的开发者Hamed开始使用GitHub来搭建自己的项目,并由此成为GitHub的热衷粉。虽然在此前参加的Hacktoberfest活动中,因美国对伊朗采取了禁运政策,致使他没有收到活动T恤而产生了一个小遗憾,但却丝毫没有影响到这位程序员小哥对开源的热情。而这次小插曲也显然并没有引起Hamed的重视。
2019年1月初,微软GitHub宣布重磅消息,要将无限私有仓库向开发者免费开放。这一良心举动让开发者们无不拍手叫好,Hamed更是直接将其代码完全托管在了GitHub上。然而,仅仅半年之后,像Hamed一样的开发者们就再也笑不出声来了。
就在7月25日(上周四),Hamed一觉醒来突然收到了一封来自GitHub的邮件,告知自己的GitHub账号被封禁了。随后他尝试打开个人GitHub页面和共有开源库,但均以失败告终,甚至备份相关资源与代码都不曾来得及。
无奈之下,他在社交媒体上晒出了自己的这段经历,并向GitHub官方提出了质疑。他还在Teitter上对GitHub CEO Nat Friedman隔空喊话,希望他能给出一个解释。
目前Hamed在GitHub上创建了一个名为“github-do-not-ban-us”的项目已经登上了GitHub热榜的榜首,获得6100+标星。在Issues中,他还收到了来自世界各地程序员的支持。
无独有偶,他在网上晒出的这段经历也引起了不少人的共鸣,而且这些人还是来自不同的国家。一位来自克里米亚地区的俄罗斯开发者的账号同样遭遇被封禁的命运,与之类似,一位居住在芬兰的伊朗籍开发者的GitHub账号也无法再使用……
在经过多次尝试后,大家大致得到的结果如下:
托管于GitHub Pages上的网站“被404”;
无法创建新的私有仓库;
已存在的私有仓库无法使用,git clone命令,返回的是403;
公有仓库仍可以自由创建,但无法删除。
在所有的访问中,链接都被转到了关于美国贸易管制的网页。网站显示,克里米亚、古巴、伊朗、朝鲜和叙利亚等在内的国家被列为受美国限制的国家。而这些国家中的非企业个人用户也将受到“牵连”,GitHub将向其提供有限的服务,包括仅限个人通信的GitHub公有仓库服务。
除此之外,在这些国家注册,但不是该国家国籍的人同样受此影响。而在GitHub说明中,即使仅仅去这些地方旅行也会影响账号的状态。不过,当离开这些国家和地区时,账号访问权限便会恢复正常。
一切遵从美国法律开展业务
今天,Nat Friedman发推文对此进行了回复,解释这背后一切的原因是来自于——美国贸易法。GitHub是一家注册、业务均在美国的企业,就像其他任何一家美国公司开展业务一样,必须受到美国贸易法的约束。
GitHub的服务条款中显示,用户只能按照适用法律访问和使用GitHub.com,包括美国出口管制和制裁法律。根据美国和其他使用法律,特别制定国民名单和其他被拒绝、被封锁的人士禁止访问、使用GitHub.com,包括受制裁国家或地区的政府。
其次,根据美国财政部海外资产控制办公室(OFAC)发布的授权,GitHub可允许受美国制裁的管辖区内或通常居住在管辖区内的用户访问某些GitHub.com服务。在访问时,这些管辖区内的用户和居民不得使用IP代理、VPN或其他方法来伪装其位置,并只能使用GitHub进行非商业个人通信。
GitHub Enterprise Server不得出售、出口或再出口到清单中的国家或地区,目前清单中的国家包括古巴、朝鲜、伊朗、叙利亚和苏丹。
Nat Friedman推文:
听到贸易限制对你们造成如此大的伤害,这对我来说亦是痛苦。我们穷尽力量也只能在法律所允许内做事,即便可能仍有人会为此而受伤。GitHub受制于美国贸易法约束,就像任何一家在美国开展业务的公司一样。
如果你想在美国开展业务,就必须要遵守美国的法律规定。
如何解局
没有人怀疑Nat Friedman的无奈,就像前段时间华为遭受美国封禁“待遇”时,没有人怀疑是美国的科技巨头不想挣钱了一样。与之相比,让这些地区的程序员更为着急的是如何应对当下的封锁。
官方方案
Nat Friedman代表GitHub给出解决方案称,限制针对这些地区的私人repo和付费账户,但并不限制对公开repo的访问权,开源repo不会受此影响。
同时,这些限制不是因为国籍等因素,而是受制于居住地和所处地,这在上述GitHub的说明中也可以找到蛛丝马迹。如果被“误伤”,还可以填写表格来申请解禁账户,一般几个小时内就可以正常使用。
对于私人repo受到限制的用户,开发者可以选择公开其私人repo。Nat Friedman推文表示,尽管此非本意,但受制于美国法律。而GitHub能做的也仅是继续与各政府一同大力提倡保护软件开发软件开发者和全球开源社区的政策。
坊间方案
有程序员建议更换阵地,目前最为火热的是目标是GitLab。但GitLab在此之前搬去了谷歌云,一些地区并不能正常访问。其次即便可以正常访问,但谁又能保证GitLab会不会重蹈GitHub 的覆辙。未来GitLab很有可能遭遇与GitHub相同的命运,受制于美国法律限制。
其次就是寻找美国之外的Git托管平台,其中最受青睐的是Gitea。但对于这些程序员而言,搬离GitHub并非最佳选择。首先GitHub毕竟是更加主流的托管平台,这里有着更多的受众群体;其次,对于已经在GitHub上闯下名堂的程序员而言,现在搬出去太不划算了,有可能使自己此前所积累的受众全部脱离,造成很大的损失。
开源,迈出国界,向往自由
从历史来看,我们是站在巨人肩膀上的一代,开源就像现代科学离不开“牛顿力学”、“爱因斯坦相对论”那样……它最大的好处在于将全世界的资源、技术和人才高度集中起来,为不同行业开辟出新的解决方案。开源的过程中不会因为你来自哪个国家、哪个公司而封杀你。
开源的本质是技术共享,其社会意义是实现生产资料的共享,其商业意义则是通过技术、标准的推广打造多方利益共同体。谷歌安卓之所以成功,就是将开源做到了极致,在全球范围内进行生态的建设。
华为在前段时间遭遇“无妄之灾”,但因为其在生态共同体中的地位,而被美国巨头“力保”,当然这可能是出于这些企业的私心。但可足以见,中国市场作为多项开源社区的主要参与者和贡献者,未来开源势必要打造闭环的利益共同体,如此才能将更加深入到全球生态当中,同时使自身更加强大。
原文来自物联网智库