全球范围内,开源软件已经成为了基础设施的核心要素,是构成操作系统、数据库等重要“卡脖子”基础软件的核心“元器件”。能否为设备、系统、产业和行业提供高质量的、高可靠的、可持续演进的开源软件供应,关系到国内当前和未来IT科研、产品与生态的核心竞争力,甚至是“生命线”。
然而,近年来,国内开源软件供应链“卡脖子”事件频频发生,开源软件产业仍面临着不少根本问题。为了贯彻落实发展开源软件的国家战略,实现开源软件的可靠供应,需要尽快打造核心基础设施支撑,解决基础软件核心技术受制于人的问题,推动我国软件产业走上自主创新、自立自强之路。建设开源软件供应链重大基础设施势在必行。
开源席卷全球软件产业。自上世纪70年代软件商业化以来,它为世界创造了巨大的财富。
近年来全球市值排名前七的公司都有一个共同特点,即核心竞争力都来自于软件。工业和信息化部公布的数据显示,2020年中国软件产业总收入81616亿元,占GDP超过8%,已经成为国民经济的支柱产业。当前,开源是软件产业的主流模式。Synopsys 2020年抽样审计报告显示,99%的商业软件含有开源组件,75%则直接由开源代码组成。同时,国内的开源产业也已经日趋成熟。
面向开源及私有软件项目的托管平台GitHub在2020年4月的统计数据显示,来自中国的源代码贡献量已经仅次于美国。就在今年年初,Linux内核5.10版本中,华为的内核代码贡献位列第一。不仅如此,开源软件对关键产业具有重要的战略支撑作用。“缺芯少魂”是产业面临的巨大挑战。
比如在被“卡脖子”的芯片领域,开源软件就是芯片的核心竞争力和生态的重要支撑,软件优化可充分发挥芯片的性能;同时,一款芯片能否被主流开源软件(如Linux内核)所支持,决定了该芯片的应用范围和市场份额。
“卡脖子”风险尽管我国已经开始积极推动开源生态的建设,但国内开源软件产业仍面临着根本问题。首先是产业价值不高。
以美国红帽(Red Hat)公司和国内主要操作系统厂商对比为例,前者在2019年的收入约为30亿美元,而后者年收入则在亿元人民币规模。其次,创新创业支撑不足。近年来,美国纷纷诞生了一些基于开源的独角兽企业,如著名的开源协作软件Slack和开源云计算软件Snowflake,市值分别已经达到了200亿和700亿美元。在国内,极度缺乏这样基于开源的高价值的创新创业公司。其三,开源生态受制于人。
华为在2019年报发布会上指出,谷歌依托安卓操作系统的GMS(谷歌移动服务)对华为断供,至少影响了100亿美元的海外销售收入。事实上,开源软件供应链“卡脖子”事件频频发生,已经给国内软件产业敲响了警钟。例如,Docker是云计算领域最重要的开源应用容器引擎。
2020年8月13日起,它的企业版DockerEE和DockerHub禁止被美国政府列入贸易管制“实体清单”的企业使用,一批中国企业、科研院所和高校受到直接影响。CentOS是国内服务器领域使用最多的开源操作系统,2020年12月,红帽公司宣布将于2021年年底停止维护CentOS 8,给中国企业造成了大量的应对成本。再如Openwall的“隐形断供”。Openwall是开源基础软件安全预警平台。
漏洞共享、安全预警是操作系统等基础软件产业的重要环节,可国内在这个领域仍然处于空白状态。由于获取受限,国内基础软件存在2周以上的“安全预警空白区”。除此之外,国内的开源软件供应链还面临新型OpenChain的“准入”风险。OpenChain是开源软件合规性标准,目标是在交换开源软件解决方案的组织之间建立信任基准,确保程序被设计成为合规工件。
Linux基金会采用快速过会的方式将OpenChain转变成国际标准,意味着国内软件企业必须符合OpenChain标准才能进入国际市场。但国内本就缺乏开源软件使用的合规性审核,这一标准的实施平添了壁垒,将限制国内软件产品进入国际“大循环”。
为国产软件“定魂筑根”。
国家“十四五”规划中提及,补齐产业链、供应链短板,实施产业基础再造工程,加大重要产品和关键核心技术攻关力度,发展先进适用技术,推动产业链供应链多元化。因此,为了贯彻落实发展开源软件的国家战略,实现开源软件的可靠供应,今年在多方支持下,中国科学院软件研究所(以下简称软件所)与软件所南京软件技术研究院(以下简称软件所南京院)启动了开源软件供应链重大基础设施建设。
早在2020年1月,中科院启动的“芯片与基础软件”先导专项中,就专门设置了“开源操作系统关键技术”项目,由软件所牵头承担,开启了开源软件供应链关键技术研发。
过去一年多来,已经进行了大规模开源软件知识图谱构建,并深入推进软件源代码的安全、知识产权和维护性风险评估研究;同时,通过深度参与OpenEuler和OpenHarmony两大操作系统根社区建设,从供应链角度提炼出操作系统等核心基础软件的“卡脖子”、“护城河”和“加速器”技术,形成了明确的核心开源软件清单。这也为开源软件供应链重大基础设施建设奠定了基础。
接下来,开源软件供应链重大基础设施建设将努力实现一系列重要目标。一是科学目标,即为软件科学研究提供所需的开源代码大数据,并提供高度结构化的数据组织形式,从而支撑软件工程的智能化,为代码合成、机器智能编程等信息技术前沿领域奠定基础;二是应用目标,即为关键设备和系统提供高质量、低风险的开源软件供应链,支撑国内企业提升开发效率与产品质量,打破国外IT巨头的行业价值链垄断。
此外,还将面向开源软件人才培养与人才汇聚,持续开展“开源软件供应链点亮计划”,发动全社会力量,消除开源软件供应的已有和潜在风险。开源软件供应链重大基础设施建设是“软件新基建”的一次重要实践,也是与国内龙头企业、高校院所、开源社区等共同为国产软件产业“定魂筑根”、在国际开源领域融入与贡献的一次重要实践,任重道远。