作为全球开发者协作社区,代码托管平台已经成为开源生态重要组成部分,其集聚各类开源资源,是开源代码的“存储池”、开源软件孵化推广的“温床”、程序员的精神“家园”。近年来,国内发展了一批代码托管平台,但在功能、性能及影响力方面还与国际主流平台存在较大差距。为推进我国开源生态培育,亟需加快建设完善国内代码托管与协作体系,为开源软件创新迭代发展提供良好基础设施。
一、代码托管平台在开源生态建设的重要地位
软件源代码托管平台(简称“代码托管平台”),是文件存档和web托管工具,用于软件、文档、网页及其他作品的源码建档和托管,可公开或私有访问。开源软件项目及其他多开发者参与的项目经常使用代码托管平台对代码进行维护修订和版本控制。代码托管平台在开源生态中存在突出价值。一是为开源软件开发提供协作环境,集聚广大开发者智慧,快速实现软件迭代更新。二是作为代码托管基础设施,汇聚大量重要开源项目,成为开源代码数据储备资源池。三是托管开源项目,孵化项目社区,促进开源软件的推广应用。四是设立活跃度、受欢迎程度等指标,折射开源技术热点及创新发展趋势。
二、我国代码托管平台发展现状及与国外对比情况
近年来,我国涌现出Gitee、CODE.CHINA、CODING、百度效率云、云效Codeup(阿里)、华为云CodeHub等一批开源代码托管平台(详见表1),呈现差异化发展格局。从平台定位、功能、受众等方面看,可将它们分为两类。
一类是基于Git的代码托管与研发协作平台,主要面向企业、开发者、公众等提供代码托管与下载、软件开发协作等服务,典型代表是Gitee和CODE.CHINA。其中,Gitee作为综合性的代码托管平台,拥有超过500万开发者及15万企业用户,托管代码仓库数量超过1000万,镜像了近2万个来自国际代码托管平台上的开源代码仓库,供用户高速下载,在国内开发者中受到欢迎。CODE.CHINA作为“后起之秀”,于2023年9月由CSDN推出,基于全球顶级代码托管平台 GitLab 的最新版本搭建而成,重点托管新兴技术领域(如IoT、AI、5G、区块链等)的开源项目。
另一类是专注为企业提供软件研发、管理、协作等一体化解决方案的代码管理平台,包括代码托管、版本控制、集成与交付、项目管理等功能。代表性平台包括CODING、百度效率云、云效Codeup(阿里)、华为云CodeHub等。CODING平台2014年上线,系腾讯旗下全资子公司运营,拥有200 万开发者及5 万家企业用户,提供代码管理、项目协同、测试管理、持续集成、制品库、持续部署、团队知识库等系列工具产品。百度效率云平台是领先的研发工具SaaS解决方案,支持代码托管与版本管理,持续集成与交付,敏捷项目管理。云效Codeup(阿里)、华为云CodeHub定位为企业级代码管理平台,综合提供代码托管、克隆、下载、评审等功能。
表1 国内应用较广、知名度较高的代码托管平台
目前,国外知名的代码托管平台有GitHub、SourceForge、Bitbucket、GitLab等(详见表2),其中,GitHub是全球最大的代码托管平台,用户数达5000万,代码仓库数量超过1亿,汇聚了全球主要开源项目及代码资源。我国许多开发者和企业使用GitHub,用户数仅次于美国、位居全球第二。从Alexa排名、用户量、代码仓库数量等方面对比分析发现,我国平台整体上与国外相比还存在较大差距。
表2 国外主流代码托管平台情况
代码托管平台的功能和性能关乎用户体验,直接影响用户量和托管的代码仓库的数量。代码托管和社区协作是代码托管平台提供的两大主要服务,国家工信安全中心根据上述两种服务的功能,从版本控制系统、代码审查、Bug跟踪、web托管、Wiki、翻译系统、Shell环境、邮件列表、论坛、个人仓库、私有仓库、通知等20个功能和特点入手,将国内外代码托管平台进行对比分析(详见表3)。
表3 国内外代码托管平台主要功能的对比情况
经对比分析发现,国内现有代码托管平台具有如下特点:一是大部分平台主要面向对象是企业用户,致力于为企业软件开发提供项目管理、代码托管和团队协作等服务;二是大部分平台不支持公开库,或者公开库权限或功能不足,未能为开源软件协作以及社区发展提供便利;三是多数平台需要付费进行代码托管,而且功能不足(如代码质量检测、代码安全扫描、持续集成等功能缺失),服务有限,限制了社区协作的质量和效率。
三、思考与建议
近年来,国内相关平台也在积极探索成长发展路径,如近期Gitee与Linux基金会达成合作,在其平台上建立Linux基金会旗下项目的官方镜像,不断扩大其国际影响力。全面升级的CODE.CHINA则依托CSDN在专业开发者社区领域的积累,致力于打造专业领域的代码托管平台,重点聚焦新技术领域开源项目,以明星项目为“先锋官”,试图突破国外开源项目“领跑”技术创新的局面,以此吸引