除了GitHub,中国程序员还应该知道这些代码托管平台
解决卡脖子问题,最关键的还是要建立好自己的开源社区。
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的路也走地愈发艰难。