解决卡脖子问题,最关键的还是要建立好自己的开源社区。
2020年6月,哈工大师生陆续发现MATLAB软件无法使用,MATLAB 是美国MathWorks公司出品的商业数学软件,受到全世界上百万名数学家和工程师的喜爱,尤其是中国工科学生绘制论文图表的首选软件。而哈工大的学生却突然收到了正版软件取消激活的通知。
向开发公司MathWorks询问之后得知,因哈工大被纳入实体清单,在特朗普政府的要求下,MATLAB将对哈工大师生强行停止授权,即使是在已付费的情况下。目前,国内共有 13 所被列入「实体清单」的高校,其中包括10所985高校。
MATLAB事件只是中美脱钩的一个缩影,这样的商业软件在我国的科研生产中影响还较为有限,在MATLAB替代品的讨论中,也有人提到了开源软件,例如Octave等。与商业软件相比,开源软件有着更加广泛而深入的影响,比如数据库产品常常基于Mysql、 MariaDB和 MongoDB 这一类开源数据库软件的核心代码;平常浏览的网站,大多都是使用开源的 Nginx 或者 Apache 服务器软件搭建;此外,谷歌的Tensorflow以及Facebook的PyTorch也经常被数据科学家们当作人工智能研究的基础代码库。
值得注意的是,虽然开源软件本身难以受美国封锁,但开源软件的开发、维护、升级等整个生命周期往往需要开源软件平台的支撑,而支撑开源软件的平台本身却是商业平台,例如处于垄断地位的GitHub。
开源无国界,但被微软收购后的 GitHub,却是有国界的。毕竟它是一家美国企业,需要遵守美国的出口管控条例。2019年初,一位伊朗开发者的 GitHub 账号被禁,原因是自己的所在地伊朗受到美国制裁,并且目前整个伊朗地区的 GitHub 账号均无法使用,连让该地区开发者下载备份数据的机会都没有。不仅如此,定居在克里米亚的21岁俄罗斯公民的账号同样遭到封禁,点击「封禁理由」则会跳转到关于美国贸易管制的网页,该网站告诉他正处在一个「受美国制裁的国家」。虽然单一的开发者可以迁移他的项目到其他平台,但这会损失大量的原有用户。而对于团队开发者来说,这种迁移是不可想象的。
幸运的是,国内的有识之士们已经着手开发出了一些GitHub的替代产品,中国的开发者有以下几种选择:
1. 开源中国旗下的代码托管平台:码云(Gitee)
码云是开源中国社区团队(深圳市奥思网络科技有限公司)推出的基于Git的免费代码托管平台,并且为开发者提供云端软件开发协作平台。无论是个人、团队、或者是企业,都能够用码云实现代码托管、项目管理与协作开发。
码云提供开源软件服务和企业服务,是最为接近GitHub功能的国产开发平台。码云上目前已经有超过10万家企业/机构入驻,其中不乏招商银行、比亚迪汽车等大牌厂商。码云近期也通过了通过 ISO27001:2013 信息安全管理体系认证及 ISO9001:2015 质量管理体系认证,可以说是国内比较先发、规模比较领先的代码托管平台。
7 月 14 日,工业和信息化部技术发展司公布了 「2020 年开源托管平台项目」的招标结果,由深圳市奥思网络科技有限公司(开源中国)牵头,与国家工业信息安全发展研究中心等 10 家单位组成的联合体中标该项目,联合体将依托码云建设中国独立的开源托管平台。
2. 程序员最爱的代码托管平台:Coding.net
Coding.net是深圳市腾云扣钉科技有限公司推出的产品。与GitHub和码云的定位不同,Coding.net重点面向团队和企业的代码协作开发服务,而没有将开源软件作为重点。Coding.net的特色包括在最开始就主推Web IDE的开发模式,通过与腾讯云的合作,提供了免费及时部署调试的环境,形成了差异化的竞争。
Coding.net的项目管理包含任务、讨论、文件等功能,支持多成员协作,并且深度集成了代码仓库的操作与状态。此外,还提供社会化协作功能,支持移动客户端。
随着Github免费策略的推进,CODING 也已经顺势开放所有基础功能(项目协同、代码托管、CI/CD 等)免费使用,不限成员数,帮助国内开发者零成本开始研发协作。
3. 国内人工智能开发者绝对不能错过的平台:Agit.ai
Agit.ai是阿吉特云计算有限公司(澳门)推出的产品,其定位上更为国际化。Agit.ai的界面是熟悉的GitHub风格,并且同样也是面向开源软件。从平台更新历史上看,Agit.ai是2020年7月上线的新平台,在项目管理和其他协同开发功能上具备基本的Git服务,但与码云还是略有差距,积累的开源仓库也不够丰富。
但Agit.ai独特的定位让人眼前一亮。如同其首页文字所述,Agit.ai专门面向AI开发人员。AI开发有何不同?Agit.ai提供了仓库代码运行服务,可直接选择算力启动AI算法的训练,并支持在线Tensorboard观察训练过程。另外,Agit.ai目前的算力是免费使用,其中还包括了有4块GPU卡的算力(不知道这样的算力羊毛能薅多久)。
Agit.ai为开发者提供集成了Tensorflow、Pytorch、Ray等常用AI库的开发环境镜像,以及一键式运行的的分布式计算资源,每一个为了环境搭建而苦恼的算法攻城狮,看到之后都应该会倍感欣慰。独特的匿名分享功能简直就是为了论文投稿的双盲评审而生,也可以从中看到浓浓的学术背景。
4. 老牌专门支持Svn的代码托管平台:svnchina
如果你在编程行业耕耘许久,一定使用过svn作为自己的代码版本管理方式。Git和SVN最大的区别在于git是分布式的,而svn是集中式的。作为最早奉行私有收费模式的国内svn平台,svnchina应该算是中国代码界的独特势力。
svnchina的收费策略为项目创建者需交纳年费,项目协作者免费。项目创建者交纳99元的年费后,可创建任意数量的项目,但空间使用不能超过1G。如果需要更多的空间,可以选择更高的年费。
不过因为2012年创始人冯华君因身体原因离世,以及svn在大多数国内新兴互联网企业难以推广,svnchina的路也走地愈发艰难。
除了上面这些综合以上 4 个平台,还有很多的特性:如果大家熟知或不熟知的平台,在移动互联网发展的浪潮中已经消失了,比如集盒、gitcafe 等等更关注开源项目的影响力,可以选择码云 Gitee 来获得更多的曝光机会;如果是专业从事人工智能领域的研发,建议选择 Agit.ai 开展工作;为了高效的团队协同可以选择 Coding;如有特殊管理需求则可以选择 Svnchina。
虽然我们可能无需过分担心中美关系影响我们的代码安全,但如何能在享受开源红利的同时保护自己的合法权益,仍是处在如今这个风起云涌的时代的中国程序员们的需要一直思考的问题。