院士报告厅|倪光南:开源主动权关乎新一代信息技术主动权

倪光南
2021-07-19 12:11
来源:澎湃新闻

本文系由深圳创新发展研究院、博研商学院、深圳企联等共同主办的“科技创新院士报告厅”第三期内容,中国工程院院士、中国科学院计算技术研究所研究员倪光南围绕“把握开源机遇,构建开源领域命运共同体”做了主题演讲。

以下内容根据倪光南院士演讲记录整理。

中国工程院院士、中国科学院计算技术研究所研究员倪光南

开源软件是未来的主要方向

讲到开源软件,做这一行的都很熟悉。软件最重要的是什么?是它的源代码。源代码是一个载体,承载着软件的知识产权和主要技术。过去买软件,给你一个盘片用来安装,源代码是拿不到的。源代码等于是软件创作者智慧的结晶,是版权保护的对象。人们认识到源代码在商业上是有价值的,需要出钱才能买到。

从比较早的时候开始,人们也认识到科学需要开放,需要思想共享。我们找到的一个最早的杂志是1665年的《哲学交流》杂志。这是一本很古老的杂志,牛顿、霍金等提出的一些重要思想都是在这个刊物上发表的。这个杂志的创刊号提出:常规的技术和成果的分享,以让其他人可以基于其基础进行发展。这是开放科学的核心精神,我认为这也是开源软件基本构想的发源。

对于科学来说,很重要的一个原则就是进行分享,开放源代码就是符合这个原则的。过去版权保护的传统方向不利于共享。一个人把软件写出来以后,源代码有版权保护,别人拿不到,甚至出了钱也看不到源代码。源代码受到版权保护,有利于软件的发展,有利于商业价值的体现,但某种程度上也不利于知识的共享。

理查德·斯托曼是开源界比较早的一个代表人物。1983年的时候,他发起了GNU计划,也就是开源软件计划。他首先引入的一个概念是GPL(通用公共许可证),创立了自由软件基金会。通过理查德·斯托曼当时的这个计划,大体上形成了目前开源软件的模式,也就是由一个基金会支持一批人执行开源软件的计划,软件的源代码可以开放出来,给大家共享。

这个可以说是有代表性的开源软件的早期典型。从这段历史来看,开源软件计划距离现在大概不到40年,但是发展得很快,这之中也有很大的变化。

这里要提到几个名词:“自由软件”“开源软件”,目前开源界都在用。刚刚讲到的理查德·斯托曼先生说的是自由软件(Free),有两种含义,一个是“自由”,一个是“免费”的意思。这里的“自由”指的是发展的自由,不是免费。说开源软件是免费的是一个误解,开源可以收费,免费的也不一定是开源的,所以这是两个概念。

自由软件和开源软件可以看作是开源软件的两个流派。像理查德·斯托曼先生提倡的是所谓的自由软件。在他看来,版权制度,也就是我们说的Copy Right,不利于软件的发展、不利于科学的共享。所以他提出Copy Left。这代表了一部分人的想法,不是主流。主流的是把开源和商业的思想结合起来,开放源代码并不会影响商业的运作,不影响产业化,所以比较多人认同的是开源软件。我个人认为一部分主张自由软件是可以的,但是总体来讲,发展到今天,还是开源软件是未来主要的一个方向。 

“科技创新院士报告厅”第三期活动现场

开源软件背后有版权的保护

刚刚讲到开源软件最开始由理查德·斯托曼先生提出对版权疑义,觉得受版权保护是不利的。但是我认为开源软件能够存在也是基于版权保护。

具体来说,按照目前版权保护的思想,写任何一个软件,这个软件的源代码是属于创作者的。而开源软件认为,作者拥有了源代码以后,不是把它封闭起来卖钱,而是贡献出来给其他人,包括用户和其他的发现者。但开源软件背后还是有法律的支撑,就是版权。因为软件的作者有权把他的软件版权转移给每一个用户,或给其他的发现者作商业使用。这个观点不一定所有人都同意,开源软件界每个人都有自己的想法。

但开源软件的确不是随便用的,也有自己的规则,就是开源的许可证。如果违反许可证,按照目前一些发达国家的案例,相当于侵犯版权。可以看到开源软件的背后还是版权保护。

我们中国近些年也公布了一些案例,有些看起来不是很大的案件,但也是在开源许可证方面出了一些问题。从判决结果看,没有像侵犯版权处罚得那么严重,但从观念上来讲,应该提高认知,要从侵犯版权的角度看待。

举两个例子。开源许可证拥有的权限有很大的差别,可以找出一百多种,其中大概有两类,就是有些严格,有些不严格。比如GPL就是比较严格的许可证,如果你采用了GPL的软件,特别是V2.0版本,你在GPL软件上做了一些发展的代码,由此衍生出来、发展出来的软件也必须开源,这个要求很严格,没有理由不开放。

采用了GPL的软件,有什么好处呢?就是维持这个软件的发展是可控的。因为都开放出来了,大家可以看到整个软件延续一定的方向发展出来,不会碎片化,不会形成很多互不兼容的分子,集中大家的智慧不断地发展。

又有什么缺点呢?就是挣钱难一点。因为你的创新、你的贡献开放出来了,如果想得到很高的市场回报会比较难一点。

第二个例子是宽松的Apache许可证。如果你采用了Apache的软件,你在软件上做了一些发展的代码,由此衍生出来、发展出来的软件可以再开源,也可以不开源,变成一个封闭的软件,在市场上卖,挣一些利润,没人干预你。

这样有一个好处,可以商业化,谁看到这个软件以后可以接着创新改进,改写一个软件,在商业上取得回报,唯一的条件是需要进行声明。有些公司用了Apache软件却说是自己的创新,这是不对的,得声明这个软件是基于谁的版本创新出来的,而且以后得把这个声明附在你的软件上一起发出去。

有什么缺点呢?假如每个人用了Apache的软件去创新发展以后,都把它封起来取得利润,经过半年、一年或几年后,这个软件已经分成几十个不同的软件,大家互不通气。从来源上虽然可以看出是基于一个软件发展出来的,但是内容不一样了,显然不利于软件维持版本的一致,可能形成我们所谓的碎片化。

通过对比可以看出,严格的GPL许可证和宽松的Apache许可证,两类没有谁好谁坏,各有利弊,人们根据需要选择一个自己适合的许可证。

我们过去的软件是公司主导的,或者是学校、研究所主导的,得有人支持。而开源软件是一个社会化的,支持它的是开源基金会。这在发达国家比较普遍,有各种各样的开源基金会,会有人捐钱,很多资源一起使用这个资金进行开发,形成了各种各样的软件。为了某一个项目结合起来的这些开发人员,形成了一个社区,这个社区在基金会的支持之下发展某一个开源项目。现在世界上有成千上万个这种基金会在运作,把开源软件在全世界范围发展起来。

开源基金会对开源社区的支撑,不仅把代码发展起来,也保护了知识产权,形成了开源许可证的规则。所以说,在开源生态系统之中,开源基金会有重大作用。

把理查德·斯托曼先生作为开源软件的创始,至今只有40年不到的时间,历史的结果怎么样?形成了一种模式,一种研发模式,也是一种商业模式。这种商业模式好不好?实践证明是非常好的。数据表明,开源软件已经在整个信息技术方面发挥越来越大的作用。其中像互联网和软件基础架构、物联网等这些新领域,开源软件的比重超过80%。总体上看,历史年代越靠近现代占的比重会越大,说明这个模式有很强大的生命力。实践表明,采用开源模式发展得更快、效率更高,所以广大的厂家、用户都会接受这种模式。

我们为什么要重视开源软件

像人工智能、物联网、5G、区块链、大数据这些新一代信息技术,大体上可以认为80%的软件是开源的。这些技术里面应用软件的比重是多少呢?像华为、中兴这些典型的信息通信技术企业,80%是软件、20%是应用。这样大概可以知道,对于我们新一代信息技术公司,大体上60%是由开源软件贡献的。当然这是估算,不一定每个公司都一样。

我们主管科技的、主管产业的人,不一定能够认识到开源软件的重要性。恐怕中国目前没有一个地方的经济计划投入到开源软件,这是我们今天需要补一课的。作为企业的领导者、作为地方的领导者,你得了解在当前新一轮的科技革命、产业变革的时候,开源软件的价值所在。它虽然不显眼,但是顺应潮流,应运而生,符合当前时代的特点,符合信息技术发展的规律,发展很快,虽然我们主观上没有太重视,但是客观上非常多。

如果我们能更好的重视,更好的发挥超大规模的市场优势和人员优势,中国在开源软件领域显然会比今天做得更好。软件业没有太绝对的界限,比如华为,原来是硬件为主,现在软件是主体。总体而言,软件在信息技术领域的比重始终在增加,因为软件讲个性化,硬件相对比较标准。

通过下面的数据可以看到软件开源的趋势。左边是比较传统的服务器领域,它的开源代码占比率越到后来越大。到2020年左右,云计算、大数据、人工智能等新领域的开源代码占比率也都往80%以上走了。如果没有把握住这个时代的脉搏,可能会错过新一代信息技术的发展。

前面刚展示过开源代码在不同行业代码库中的数量占比图。可以看到,越是像互联网和软件基础架构、物联网等这些新领域,开源软件的比重越大。进一步说明,要想把新一代信息技术掌握好、发展好,必须用很大的精力、很大的投入放在开源里面。如果违背这个规律,会事倍功半,或者不利于我们中国赶超世界发达国家。

我们中国就曾因为芯片被“卡脖子”。目前,芯片的核心技术架构本身也是开源的,如目前出来的开源芯片RISC—V。原来芯片领域最有名的是老牌的Intel、ARM,但很大的概率在若干年以后,RISC-V将发展成为世界主流CPU之一,从而在CPU领域形成Intel、ARM、RISC-V三驾马车。

开源芯片RISC—V是美国加州伯克利分校发明的。它基于BSD许可证,属于前面讲过的比较宽松的许可证,在这个软件上做了一些发展的代码,由此衍生出来、发展出来的软件可以再开源,也可以不开源,变成一个封闭的软件。

还有一个好消息。原本中美贸易战以后,作为开源领域领头的美国可能对中国进行出口管制,即使是开源的源代码,美国也可以通过网络下载这个环节卡你。但是现在基金会办到瑞士去了,中国将来也会成立分会,将来这个基金会的发展我相信不会受到美国出口管制的影响,中国不太容易被“卡脖子”。希望中国的有关方面会重视这样的开源架构,运用开源的巨大生命力等优势,推动我们芯片产业的发展。 

中国虽然是开源大国,但还不是开源强国

接下来看看开源软件在中国的发展情况,可以说中国已经是开源大国了。目前中国的软件从业人员数量仅次于美国,我们每年大学毕业生那么多,相信很快会赶上美国。再看下面的数据,阿帕奇(Apache)软件基金会是著名的开源软件基金会,2020年基金会项目的最大访问量来源是中国,访问人数是美国的一倍。我们因为人多、需求大、市场大,所以目前在开源软件的使用量方面在世界走在前头。

这是阿帕奇(Apache)项目中,对软件进行下载、学习、加工和发展的数量统计,中国是世界最大的。

再以全球最大的代码托管平台GitHub为例,对其开源软件的使用量,除了美国以外,中国、印度、德国位居前列,而中国明显领先于其他国家。可以说目前在开源软件市场中,综合全部平均起来,中国和美国之间量的差距不是很大。

再来看2014-2019年GitHub全球不同国家地区贡献者数量情况。截至2019年,全球开源项目的贡献者是1050万。这个贡献者就是上传一个文件、贡献一个代码、打一个补丁等的人数,算起来有1050万,其中北美地区贡献约300万,亚洲贡献约380万。在亚洲范围内,中国贡献约1/3,在全世界范围的1050万中,中国贡献超过10%,基本上是数一数二的,美国大概各有千秋。

中国虽然是开源大国,但还不是开源强国。

第一,开源生态中很重要的是要有钱,没有钱是不行的。在中国,我们为做一个芯片的生产线,投入很大,大基金第一期投入1400亿,第二期大概2000亿,在新的信息技术等方面投入也很大。但是很可惜,在开源方面的投入,我认为基本上是零。显然这是个无米之炊、无源之水、无根之木,处于一个比较尴尬的情况。

比较而言,对开源的投资,美国有一些基金会,个人和企业可以捐赠,企业还可以因此获得免税等优惠。但是中国这方面基本上没有开展起来。

第二,前面我们讲到,在全世界1050万开源项目贡献者中,中国占了100多万,占比超过10%。但我们是做什么的呢?我们给别人打工、做码农,因为项目是外国定的项目,我们只是参与。虽然参与以后有很多的开源项目可以进一步使用、发展,但要跟着别人走。尽管这对我们也有用,但不一定是最有用的,或者最想做的。所以我们现在在国际上没有话语权,很被动,这是很可惜的。

我们来看看美国开源基金会的收入情况。总的来看,美国已经形成一种非常普遍的方式,对于每个项目,在社会上都成立了各种基金会,比如比较著名的Linux开源基金会。根据总体估算,美国开源基金会的收入总额每年超过10亿美元,约合65亿元人民币。对照一下中国有多少呢?中国有一个工信部官方支持的基金会中国开放原子开源基金会,每年是4000万。社会上基本没有其他的基金会。目前,中国开源基金的年度金额大约是美国同行的0.6%。

“科创中国”开源创新联合体应运而生

介绍一下中国发展得比较好的新情况。“科创中国”是中国科协下面的一个品牌,中国科协目前在“科创中国”的品牌下成立了“创新中国”开源创新联合体。这是一个官方机构支持的机构,这样的机构当前出现得正是时候,体现了国家意志,又面向全体科技工作者,符合开源的特点。

对于联合体,我们寄予很大的希望。希望通过联合体把中国开源软件的发展提高到一个新的阶段,更好地整合开源软件的资源,提高我们的新型举国体制的优势,使开源创新、开源技术,在建设制造强国、质量强国、网络强国、数字中国的伟大事业中发挥更大的作用。希望在科协的领导下,把中国目前存在的一些开源方面的问题及时解决好,使得开源生态在国际合作方面有更大的发展。

我认为联合体应该做一些一般的开源社区不能做的工作。比如解决开源基金的问题,前面讲到,我们开源基金得到的官方支持是每年4000万,相比之下,其他项目一投就几百亿、几千亿,开源基金的官方支持力度显然太小了。这个问题不解决,支持开源就只能是无米之炊。

再比如,美国加强对开源生产链、供应链的控制后,联合体需要很好地解决一些风险,有一定的应对措施,这不是个别企业和个别人的能做到的事。

这里我们提供一个开源基金的方案。开源基金从哪里来?在发达国家目前是来源于企业捐赠、个人捐赠。但中国的捐赠不太多,可以考虑用一个什么办法呢?比如目前有很多上市的高技术公司,这些公司往往有很大的软件资产,由专业机构对这些资产进行评估以后,很容易可以分析出其中有多少软件资产是属于开源的。

按照开源的规则毫无疑问应该回馈,应该有一部分资产捐赠出来。取之于开源、用之于开源,合情合理合法。作为上市公司捐一点钱,也不增加老百姓、政府的负担。国家有关方面可以参考国外的一些做法,对这些上市公司的捐赠给予奖励,如退税等。

此外我们有一个设想,争取让中文成为开源界的一种工作语言。目前,开源界和其他学术界一样,英文是唯一的工作语言,这显然不利于我们的开源工作者。原来发达国家科技水平高,让英文在科技界占领了先机,但中国现在也在不断发展,我们应该争取把中文也作为世界科技工作者的语言。 

谁掌握了开源主动权,就掌握了新一代信息技术发展的主动权

2019年,习近平向第二届世界顶尖科学家论坛致贺信指出:科学技术是人类的伟大创造性活动,发展科学技术必须具有全球视野、把握时代脉搏,中国愿与世界各国一道加强科学研究,密切科研协作,推动科技进步,应对时代挑战。

未来,我们将发挥新型举国体制优势,在中国科协“科创中国”开源创新联合体的指导下,充分调动我国广大开源社区和开源工作者的积极性和创造性,大力推进开放创新、协作创新,在开源领域走更高水平自主创新之路,使开源成为推动中国高质量发展的强大动力,并通过与国际开源界的密切协作,共建开源领域命运共同体。

在世界互联网大会上,习近平总书记要求我们携手共建网络世界人类命运共同体,我们希望开源领域也能够建立命运共同体,和世界开源人士一道共建开源领域的命运共同体。

我认为如果当前谁掌握了开源主动权,就掌握了新一代信息技术发展的主动权。科技工作者要齐心,让有关主管部门重视我们的开源软件,共同朝着建设开源软件命运共同体的大目标努力。

(郑阳整理)

    责任编辑:田春玲
    校对:张亮亮