合作专线:17362615757
行业资讯

AI新闻

当前位置:首页 > 行业资讯 > AI新闻

GitHub断创新以供大危机用了!绝对权威阐释程序员们如何应对最新指南


作者 | 郭芮&伍杏玲来源 | CSDN(ID:CSDNnews)
GitHub 断供危机还是来了。美国贸易限制的影响正在逐渐扩大,并且毫无意外地蔓延到了开发者社区。据多家外媒报道,世界上最大的源代码主机 GitHub 正在阻止伊朗、叙利亚、克里米亚和其他受制裁国家的用户正常服务,托管在 GitHub 上的私有仓库代码也无法访问。更过分的是,GitHub 的这一波制裁毫无征兆,没有任何提前通知。
毫无预兆,GitHub 说断就断

根据外媒 ZDNet 的报道,来自伊朗、克里米亚等地的工程师发现,自己的 GitHub 账户突然无法正常使用,有些人的个人页面甚至被 404。居住在克里米亚的 21 岁俄罗斯公民 Anatoliy Kashkin,其 GitHub 账户就受到了突如其来的限制,他还在 Hacker News 的帖子中()透露,与其在同一地区的其他开发者也同样被限制了。总部设在伊朗的开发人员 Hamed Saeedi 在 Medium 上传达了对 GitHub 的抗议():“GitHub 封锁了我的帐户,他们难道认为我在开发核武器吗?!”他介绍说自 2012 年以来自己一直在使用 GitHub,但是却在没有任何预先通知的情况下账号被阻止,更没给他机会去备份他的那些数据。他最近收到了 GitHub 发送的关于贸易控制的电子邮件:“由于美国的贸易管制法律限制,你的 GitHub 账户受到限制。如果是是个人帐户,你可能只能访问免费的 GitHub 公共存储库服务。”他还说,GitHub 阻止了所有的伊朗账户。Hamed 还在 GitHub 上创建了一个名为“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 的开源形势良好
刘澎表示,本次事件仅发生在 GitHub 官网列表中管制的几个国家,目前对中国程序员来说,GitHub 的开源形势还是很好,问题不算严峻,但同时我们要做一些准备。刘澎分别从三个方面来解释为什么中国程序员不必过于担忧:一、无论从数量还是质量上,中国程序员已是 GitHub 重要的用户之一。据刘澎介绍,目前 GitHub 用户已经超过 3600 万,其中 80% 的程序员是来自于美国以外的地区。且顶级程序员主要分布在十个城市里,其中美国的旧金山、湾区有四万位,纽约有 36000 为,北京也有 36000 位,上海有 3 万位。这样看来,在十个优秀程序员分布的城市里,中国占据两个,且人数众多。我们还看到在过去的几年里,中国程序员在 GitHub 的注册数几乎以每年翻一倍的速度在增长。目前国内 15 个较活跃的开源数据库,例如华为的 GaussDB、阿里 OceanDB、Apache 麒麟 DB 等大部分均在 GitHub 上开源,这说明 GitHub 对于中国程序员来说是非常重要。虽然在全球范围内,排名前十个项目基本上都由微软、谷歌等美国公司提供,但整体上看, GitHub 依旧是全球开源程序员的一个重要家园。二、Git 技术简单、轻巧,很容易复制和迁移。刘澎介绍道,Linux 之父 Linus 创造的 Git 技术,是一种有效、简单、容易复制的技术,目前使用这个技术做代码仓库较好的有 GitHub、GitLab、Gitea 等。所以假如要极端地打个比方:如果美国有严重割裂开源文化的行为,就等于自毁长城,因为 Git 技术原理简单,很容易开发类似的托管系统。他强调,这个情况不大容易发生,不然这代表国际开源环境洗牌了,毕竟在 GitHub 上有 80% 的非美国程序员。对于备份问题,他表示一般中国程序员除了将代码放在 GitHub 上,在本地还有一个镜像,作为本地的备份。三、经历此事,中国开源软件推进联盟对开源软件的评价指标可能会做出改变。目前中国开源软件推进联盟从四个维度来评价开源软件:1.知识产权(开源许可证、软件专利);2.开源组织体系(指导委员会、项目领队、代码守护人、代码审核员、代码贡献者、超级用户);3.开源代码的质量(Star 点赞、Fork 复制分枝、下载量,关键问题修复);4.商业模式。例如代码的质量是基于 GitHub 的数据来评定,但此次事件发生后,他们可能会增加一个评价点:托管模式,即是否有多平台托管。最后刘澎提出自己的担忧:假如中国开源开发者因为此事,对 GitHub 有所顾虑导致不敢托管代码的话,这将不利于软件开源的发展。对此,你怎么看?欢迎在文末留言。
Auto_z