事件回顾
最近,俄罗斯研究员Sergey Bobrov在Twitter上用表情符表达了自己GitHub账户被封禁一事的心情:
图片来源@Twitter截图
账号被封的不止他一人。
据俄媒Habr报道,从4月13日起,GitHub 开始封锁受美国制裁公司的俄罗斯开发者账户。
目前,至少有数十个账户被屏蔽,其中包括包括Sberbank Technology、 Sberbank AI Lab和 Alfa Bank Laboratory在内的GitHub企业帐户,以及个体开发商的账户。
企业账号会标记为“flagged”,repo的访问权限会保留几个小时;个人帐户会标记为“suspended”,所有repo都不再能够使用,包括issue和pull request也是如此。
据俄媒Habr.com报道,有俄罗斯开发者联系了GitHub,GitHub给出的解释是他们的账号被禁用是因为政府的经济制裁法规。
GitHub给俄罗斯开发者的回复邮件,图片来源@网络
对于封禁一事,GitHub官方在回复外媒Bleeping Computer时进一步表示:“与在美国运营的其他公司一样,GitHub会限制受到封锁制裁(SDN名单)或者代表受制裁方使用 GitHub 的用户访问账户。此外,GitHub的愿景是成为全球开发者协作的平台,无论开发者居住在哪里。我们将审查政府的制裁措施,以确保用户和客户不会受到超出法律规定的影响。”
封禁不过是老调重弹
早在2月28日,俄国准官方大报《生意人报》就放出消息,称GitHub正在考虑限制俄罗斯软件开发者访问开源软件源代码储存库。
随后,GitHub官方回应称,GitHub 虽然公开表示支持乌克兰,但“将继续确保所有人都可以使用免费的开源服务,包括俄罗斯的开发人员。”
不过,GitHub同时声明,GitHub会遵守政府提出的出口管制和贸易法规,其中包括严格限制俄罗斯获得其维持侵略性军事能力所需的技术。
这就为GitHub最近的封禁事件留了一个伏笔。
GitHub提到的出口管制和贸易法规,全称是《美国出口管理条例》,即Export Administration Regulation,简称EAR, 这个条例主要用于对购买或使用美国企业产品及知识产权的外国企业施加管控。
这个条例最被国内熟知的是这个条例中的一份商务部管制清单,即曾将华为、科大讯飞、旷视科技、商汤科技中国企业列入其中的“实体名单”。
其实,很多开源组织都要遵守EAR,世界上著名的开源基金会Apache基金会,也有明确规定:“美国的出口法律和法规适用于我们的发行版。”
图片来源@Apache官方网站
从这个角度看,GitHub对俄罗斯开发者账号进行封禁,在法律和企业合规操作层面上倒是不容易挑出毛病的。
从过往的历史来看,出于政策因素对开发者账号进行封禁,对GitHub来说可谓“轻车熟路”:
- 2019年7月,GitHub限制了来自多个国家和地区账户的访问,包括克里米亚、古巴、朝鲜、伊朗和叙利亚;
- 2020年3月,GitHub封禁了一个属于微软的前端开源项目Aurelia,理由是项目中有两名来自伊朗的外部贡献者。
既然GitHub会受美国政策的影响,考虑到这几年中美竞争正在加剧,将来会不会有一天,GitHub也会封禁我国开发者的账号?
这并非没有可能,不过我们还有机会,能尽量减少这种可能带来的负面影响。
我们该怎么做
对于此次GitHub封禁俄罗斯开发者账号,有很多网友表示,好在GitHub的去中心化特征,开发者备份自己的项目代码很方便。甚至还可以托管在不同国家的不同云存储上。
外国网友的讨论,图片来源@网络
事实上,俄罗斯的企业也是这样做的。
在被GitHub封禁账户后,俄罗斯银行Sberbank表示,他们仍会将所有的开源模型留在公共领域,因为有许多第三方开发人员仍在使用它们。目前,Sberbank旗下技术部门SberTech正在将项目与资源库转移到其他网站。Sbertech在使用Platform V Works,这是自己的基于云的数字平台,用于敏捷开发,它有一个托管项目及其合作开发的工具,可兼容Git的仓库。
这种做法的思路是否值得我国借鉴?
应当说,建立自己的开源项目托管平台,发展自身的开源力量,减少对国外开源软件的依赖,这当然是很有必要的做法,从更长远的角度看,这是最能规避出口管制和司法管辖权限制的途径。
不过,根据中国开放指令生态(RISC-V)联盟在《开源项目风险分析与对策建议》的分析,尽管我国已经成为国际开源社区的重要贡献者,但我国开源项目托管平台仍处于起步阶段,与GitHub等国际知名托管平台差距甚大。
从数据来看,GitHub有7300多万的开发者,400多万的企业客户,2亿多代码仓库,而国内名气最大的Gitee只有800多万开发者,20多万的企业用户,2000多万的代码仓库,主要指标差了一个数量级。
此外,国家信息中心公共技术服务部王晓冬处长在《信息安全研究》期刊上发表的论文也指出,我国开源社区主要还以利用国外开源代码、依托国外开源社区为主,总体上仍是国际开源社区的次生社区,当前我国主流的开源社区仍不成熟,自主创新能力仍然不高。
因此要想建设一个可以与GitHub相媲美的开源代码、项目托管平台,任重而道远。
而由贸易战等导致的政策风险,在时间上是无法准确预测的,那么在未来的一段时间里,除了坚持自主研发,我们是否还有别的选择呢?
我们不妨再回头看看这次GitHub封禁俄罗斯开发者账号事件。
表面看,GitHub此次如此“听话”地按照美国政府的要求封禁俄罗斯开发者账号,是因为俄罗斯与乌克兰的战争。
但更深层次的原因,开源界没那么依赖俄罗斯。
尽管有网友在网上主要总结了由俄罗斯开发者参与开发制作的最佳项目,但不得不说,俄罗斯开发者在开源领域的影响力还是不够大,以至于不仅大部分人不知道,而且很多俄罗斯的开发者可能都不知道,这些项目的作者是俄罗斯人。
图片来源@https://github.com/igoradamenko/awesome-made-by-russians
这与俄罗斯开发者人数太少有很大的关系。
根据一家荷兰公司DAXX统计,俄罗斯在2021年共有41.2万开发者。即便这41.2万开发者都参与开源,同GitHub上的7300万开发者相比,这个数字还是显得微不足道。
相比之下,根据GitHub 2021年度报告,中国共有755万GitHub开发者,仅次于美国(1355万)。
此外,据欧洲调查机构 MERICS 于2021年年中发布的《中国开源技术发展》研究报告,GitHub 上关注者最多的前5个账号中,有2个是中国人,GitHub Top 500榜单中也有26个中国项目。
可以预见,随着越来越多的中国开发者在国际开源社区中扮演着越来越重要的角色,如果GitHub要全面封禁中国开发者的账号,其必定要三思而后行。
事实上,美国各界对中国企业的态度并不是铁板一块。
2020年初,美国防部和财政部反对,美国商务部撤回了此前提议的对美国企业通过海外机构向华为供货的限制措施。国防部的担忧是,限制美国企业与华为的商业往来,将损害美国企业的利润,从而导致研究经费的下降,不利于美国企业的技术竞争力。
2021年1月,美国商务部下达针对微信与TikTok的禁令,但拥护微信和TikTok的美国用户,不断向美国法院提起诉讼,这道禁令被美国法官下令阻止执行。与中国有业务往来的美国公司,包括苹果公司、福特汽车公司、沃尔玛公司和迪士尼公司,都反对特朗普针对微信的行政命令,称这对于在中国开展业务至关重要。
可以推测,如果中国与美国乃至全世界的开源界有深度的利益绑定,即便美国政府想要单方面与中国脱钩,其遭遇的阻力将会非常大,即便其要求GitHub全面封禁中国开发者的账号,GitHub是否会不打折扣地执行,很可能要打个大大的问号。
因此,我们固然要加强独立自主的能力,但独立自主不代表要“闭关锁国”。只有积极参与全球开源社区,成为GitHub上不可或缺的角色,才是未来一段时间里我们最应该做的事。