GitHub 断供危机来了!权威解读程序员应对指南
以下文章来源于CSDN ,作者CSDN App
作者 | 郭芮&伍杏玲
出品 | CSDN(ID:CSDNnews)
GitHub 断供危机还是来了。
美国贸易限制的影响正在逐渐扩大,并且毫无意外地蔓延到了开发者社区。据多家外媒报道,世界上最大的源代码主机 GitHub 正在阻止伊朗、叙利亚、克里米亚和其他受制裁国家的用户正常服务,托管在 GitHub 上的私有仓库代码也无法访问!
更过分的是,GitHub 的这一波制裁毫无征兆,没有任何提前通知。
毫无预兆,GitHub 说断就断!
根据外媒 ZDNet 的报道,来自伊朗、克里米亚等地的工程师发现,自己的 GitHub 账户突然无法正常使用,有些人的个人页面甚至被 404。
居住在克里米亚的 21 岁俄罗斯公民 Anatoliy Kashkin,其 GitHub 账户就受到了突如其来的限制,他还在 Hacker News 的帖子中(https://news.ycombinator.com/item?id=20531039)透露,与其在同一地区的其他开发者也同样被限制了。
总部设在伊朗的开发人员 Hamed Saeedi 在 Medium 上传达了对 GitHub 的抗议(https://medium.com/@hamed/github-blocked-my-account-and-they-think-im-developing-nuclear-weapons-e7e1fe62cb74):“GitHub 封锁了我的帐户,他们难道认为我在开发核武器吗?!”
他介绍说自 2012 年以来自己一直在使用 GitHub,但是却在没有任何预先通知的情况下账号被阻止,更没给他机会去备份他的那些数据。他最近收到了 GitHub 发送的关于贸易控制的电子邮件:“由于美国的贸易管制法律限制,你的 GitHub 账户受到限制。如果是是个人帐户,你可能只能访问免费的 GitHub 公共存储库服务。”他还说,GitHub 阻止了所有的伊朗账户。
Hamed 还在 GitHub 上创建了一个名为“github-do-not-ban-us”的项目(https://github.com/1995parham/github-do-not-ban-us),要求 GitHub 就此事进行道歉并修改限制措施。这一项目立即引来了大量开发者的注意,目前已经获得了七千多的标星,还登上了 GitHub 热榜第一。在 Issues 中,来自世界各地的开发者都给出了支持。
CEO:GitHub 受美国出口管理条例管制
桩桩报道都在透露出此次限制的突然,开发者社区被“杀”得措手不及。经过几天的事件发酵之后,GitHub CEO Nat Friedman 终于在 Twitter 上给出了正面回应,但其字里行间中却充满了“无奈”之意。
Nat Friedman 在推文中解释了这背后的原因。“毕竟 GitHub 是一家注册在美国、在美国开展业务的公司”,“GitHub 受到美国出口管理条例的管制,就像任何在美国开展业务的公司一样。”
他同时表示,开源 repo 不受影响。“为了遵守美国的制裁,我们不得不对伊朗、叙利亚和克里米亚的私人 repo 和付费账户实施限制”,但是“公开 repo 依然能被所有开发人员访问,开源的 repo 不会受到影响”。
他还解释了此番限制主要基于用户所在地,而非国籍。如果某人被错误标记,只要填写相应表格,账户就会在数小时内获得解禁。对于没有提前通知这一点,他则回应“法律不允许我们将限制事宜提前通知任何人。”
最后,Nat Friedman 还深情表示,“这并非我们的本意”。
但很显然用户们并不买账,越来越多的质疑声搅得人心惶惶,开源究竟是否还有自由可言?
对此,CSDN(ID:CSDNnews)专访钧理知识产权事务所、开源社法律咨询委员会顾问林诚夏和中国开源软件推进联盟副主席兼秘书长刘澎,为我们解疑释惑。
林诚夏:开源部分不受出口管制,
没开源的会受管制
林诚夏表示,我们要厘清 GitHub 上有所谓的公众库及私有库,他们在美国出口管制规则的评定是完全不同的。
Public Repository(编者注:公共库)意指代码已开源,就算是该地区已被出口封锁,原则上也不在管制效力之内。因为一旦开源,就意味是已经散布全球,不能形成再次出口,所以也不在出口管制的主要范围内。
但是 Private Repository (编者注:私有库)不同,它的源代码是限定原程序员或其认可的会员才可以接触(access),所以一旦某个地区被出口管制限定,那个地区的人原则上就不能接触这些私有库,否则会形成出口管制的漏洞。
所以有一个重点大家应该要正确认知到,RedHat 是主力用开源软件来做商业服务的公司,但RedHat 并非所有商业服务都是由开源许可证提供,所以综合服务时,RedHat 必须额外符合出口管制的相关规则,因为它发布或提供服务的,不限于开源软件。
和它相似的 GitHub 协助很多巨型的开源软件项目做开发,所以对于已经公开开源的部份,原则上不在美国出口管制的效力范围,除非涉及加解密。但没有公开开源,而是私有库的部份,就肯定会在美国出口管制的影响范围里。
所以林诚夏认为此次事件标明并不是开源受到美国出口管制,而是没有开源的部份就一定受美国出口管制影响。
延伸来说,国内如果自己要做代码托管,其实是没问题的,开源软件依其许可证,本来就可以分枝、分流(forking),也应该鼓励分流。但重点是实际的开发网站,必须要能群聚最多社区成员的贡献,这样的发展才会是正向的。
但据伊朗工程师的说法,自己一觉醒来,突然收到一封 GitHub 的邮件告知他的账户将受到限制。他的个人页面被禁止,共有开源库也不能访问,备份相关资源与代码都来不及,更无法导出代码。
这种情况下,GitHub 没有提前通知正在使用的工程师,这样的操作是否合法?是否需要赔偿由于无法访问可能给工程师造成的损失?
林诚夏认为,如果 GitHub 是收到美国商务部工业和安全局(BIS)的指示,或是依 BIS 发布的公告来执行的,那 GitHub 并没有违反它与使用会员之间的会员条款,因为它必须遵守 EAR,这是一开始就写在网站的使用规则里。但反之,则于理有亏。
如果伊朗工程师有实际损失,他可以向 GitHub 提出申诉,甚至透过诉讼来进行维权,不过那比较旷日费时,所以除非相关的代码库,他本人真的没有做本地备份,不然一般不会走这个途径。而且一般程序员对 Git 的操作,很少真的会完全将代码备份在云端,而没有本地存储,所以除非该名工程师举证他的代码真的因为管制而完全失去所有副本,不然损害赔偿较难成立。
所以GitHub是否合法,必须要看它是不是能做出合法的解释。工程师若有损失也可以诉请赔偿,只是那个途径旷日费时。
刘澎:对中国程序员而言,
GitHub 的开源形势良好
热 文 推 荐
☞ 爬取 4400 条淘宝洗发水数据,拯救程序员的发际线!(附代码和数据集)
☞干货 | 20个Python教程,掌握时间序列的特征分析(附代码)
☞ 知名饮料制造商股价暴涨500%惊动FBI,只因在名字中加入了"区块链" ?