开源和授权——不绝对可靠和绝对不可靠的博弈
开源和授权——在不绝对可靠和绝对不可靠之间摇摆
近几年发生的各种事件,以及不断升级的制裁规格,其实已经说明了一个问题——不绝对可靠等于绝对不可靠!
IT行业近期又发生了两件“卡脖子”的事儿,两件事都与我国没有直接关系,我们却难免物伤其类。一是ARM取消了对高通的指令集架构授权,说明在经济利益面前,商业信誉不名一文。二是Linux内核移出了11名俄罗斯开发者的贡献条目,说明在政治争端面前,开源精神也难以为继。
两件事都发生在国外,但是国内的芯片和软件厂商也应该设身处地地加以警惕。已经发生的事情就是历史,我们先回顾历史,然后以史为鉴,探讨国产CPU和国产软件的兴替。
事件一:ARM撤销对高通的指令集架构许可协议 (ALA)
高通是ARM公司重要的合作伙伴,以往高通是购买ARM公司设计的各种性能层次的IP核(CPU核心等模块化的芯片功能单元),然后集成各种功能模块,成为面向不同应用领域的SoC产品。
ARM提供核心技术,高通实现芯片产品。虽然高通的利润水平远远超过了ARM,但多年来两者一向相安无事,转折出现在高通购了一家名叫Nuvia的芯片设计公司之后。
Nuvia的设计团队有设计高性能CPU核心的能力,这意味着高通对ARM的依赖程度降低,至少不必继续购买ARM的高性能IP核。每颗ARM芯片都必须支付版税,IP核授权和指令集架构授权的版税要分别计算,高通如果自己设计CPU核心,就能大幅度降低版税支出,也意味着削减了ARM的收入。
Nuvia和高通都有ARM指令集架构的授权,都有资格基于ARM指令集自己设计CPU。但以前高通没有能力自主设计高性能的IP核,现在通过收购Nuvia得到了这种能力。面对脱出掌控的高通,ARM公司釜底抽薪的方法就是——撤销对高通的指令集架构许可协议,不允许其自主设计基于ARM指令集的CPU核心,只允许它修改购买自ARM公司的IP核。
事件二:Linux kernel踢出了11名俄罗斯开发者
Linux kernel是所有Linux系统的核心,是开源世界最根本的支柱之一,它和其它开源项目一样开放全部源代码。开源项目有一份源头的代码,称为主线,由项目的创建者和指定的管理者负责维护。其他人从主线复制代码,进行修改和二次开源,称为分支。也可以从分支复制代码,成为分支的分支。主线源代码大多存放在美国的服务器上,分支可能直接依附于主线,也可能被存放在任何地方。
任何人对代码的任何修改都可以向上游提交,源头的管理人员负责审核提交的内容,然后合并或拒绝提交的更改。根据提交代码的数量和质量,以及撰写文档、提交bug等其它贡献,开发者会获得不同的身份和权限。
被除名的那些俄罗斯开发者是Maintainer的级别,Maintainer在开源社区中是负责管理和推动社区发展的高级别贡献者。Maintainer不仅仅是简单的代码贡献者,更是社区的领导者和管理者。但他们没有因为巨大的贡献得到豁免,而是被用完就扔。
开源项目的参与者通常没有报酬,但任何一次提交都有记录,人们可以查看是谁解决了什么问题、新增了什么功能。就像功德簿一样,上面记录着大家的贡献,使开发者获得愉悦的心情——情绪价值是大多数开源项目贡献者唯一的收获。
然而俄罗斯的开发者被更高级别的管理人员剥夺了所有的荣誉,他们的名字和贡献被从功德簿上抹除,他们的工作成果却不会被返还。而这么做的理由,最初可能只是因为他们是俄罗斯人。后来给出的官方解释,则是说因为那些开发者就职的公司在美国OFAC(美国财政部海外资产控制办公室)制裁计划的名单上。
我国的HW也同样在OFAC的制裁名单上,因此有内核开发者建议把HW的贡献条目也全部抹除。显然,除名HW会引起更大的振荡,因此这条建议被驳回,理由是HW符合某些豁免规则。
表面上开源社区是在按规则办事,但是我们要明白那些规则是谁的规则。由此可见,虽然开源项目名义上属于全人类,但大多数项目的主导者却接受着美国政府的管辖。从开源社区的舆论导向和开源领袖Linus Torvalds对此事的明确支持,可以看到美国对开源世界的影响。
事件起到的示范作用,鼓励了更多的政治因素介入开源。目前,无论是开发者个人还是就职的公司在OFAC制裁计划的名单上,只要未被豁免,就都被禁止继续参与Linux kernel主线开发。
授权和开源与国产软硬件主导权的取舍
两件事情有个共同点,就是被制裁的一方都是在他人的地皮上搞建设。不管你的建设成果使地皮的价值提高了多少,都不影响地主把你赶走并吞下你的建设成果,然后换别人来继续建设。因此,避免被卡脖子的唯一方式,只能是在自己的地皮上搞建设。
只有从CPU指令集、IP核设计到芯片生产都完全自主,从操作系统到应用软件都完全可控,才能获得主导权。然而这种理想化的程度极难达到,Intel、ARM、Windows、Linux达到现在的技术水平和市场规模都花了三、四十年。在它们的应用和市场都已经成熟的情况下,新生的同类产品从零开始,想要短时间取代它们不啻于天方夜谭。
抱着打不过就加入的想法,我国的国产CPU大多基于指令集架构或IP核授权,国产操作系统基本上都基于开源软件二次开发和整合。我们曾经天真地以为只要自己发展起来了,就能获得主导权。只是现实的世界不讲逻辑,也不讲规矩,更没有道德底线。
龙芯的CPU虽然都是自主设计,但以前的CPU兼容MIPS指令集。随着MIPS本体的没落,龙芯替代MIPS公司为MIPS指令集的演化、软件生态发展、MIPS指令集市场拓展等付出了无数的努力。很多人都坚信龙芯已经获得了MIPS指令集和软件生态的主导权,然而后续的发展让大家明白只要用别人的架构,就一定受制于人。
于是龙芯从2020年起彻底抛弃了MIPS,把全线产品都基于自主设计的LoongArch指令集重新设计。龙芯完成了真正的解放,无论是软件生态的发展,还是CPU技术的演进,都不再被束缚,在主导权方面已经是与Intel和ARM相同层次的存在——龙芯已经开展了对其他公司授权指令集架构和IP核的业务。
ARM和高通、MIPS和龙芯,发生争端的主要原因都是经济利益,但现在对于基于指令集架构或IP核授权的国产CPU、基于开源指令集的CPU,以及基于开源软件的自主软件生态来说,源自政治因素的危险已经更甚于经济纠纷。
ARM中止与俄罗斯芯片企业的一切合作,微软和Google等软件公司中止对俄罗斯的软件使用许可,都完全是政治的原因。我国受到的威胁并不比俄罗斯更少,因为我国是当前最有可能挑战美国地位的国家。只是因为国家强大,美国对我国的打压才更加警慎,控制制裁的程度和规模,一点一点地试探和加码。
我国的企业也已经不同程度地被ARM拒绝合作,例如NeoverseV系列IP核就不会向中国企业出售,也没有任何中国企业公开声明获得ARMv9指令集架构的授权。虽有部分企业获得了基于ARMv9的IP核授权,但这与指令集架构授权完全不同。所以国产ARM和x86指令集架构的CPU都相当危险,我们却无法改变。我们的境遇不如高通,因为如果ARM与高通和解,不会有来自美国的政治风险。
指令集架构和IP核不是有形的商品,而是知识产权。对知识产权的授权,是获得基于这种知识产权设计、生产、宣传、销售产品的资格。只要授权被ARM或美国政府宣布撤销,那么就一定能成为事实。因为从设计到生产,再到销售和使用,是无数环节构成的链条,每个环节同时也是其它链条的一部分。设计CPU需要用EDA软件和各种仿真验证工具,生产CPU需要代工厂,代工厂又依赖设备和原料,板卡厂商要采购元件和材料,整机厂商不但要生产还要宣传……无法保证所有环节都能无视美国的态度度。
基于开源指令集设计CPU,以及基于开源软件建设自主软件生态,具有较高的自主性,能在一定程度上规避美国政策的影响。但只要没有主导权,就仍然不会有绝对的安全。
开源项目通常根据贡献度给予开发者不同的级别,国内软件开发者对各种开源项目的贡献不弱于世界同仁。国内很多软件和硬件公司也都积极投入开源软件开发,有的公司甚至把员工的开源贡献度做为绩效加分。
例如Linux kernel、OpenJDK、.net core、FFMpeg、OpenCV、GCC、LLVM等重要的开源项目,HW、龙芯、阿里、腾讯等公司都曾在年度贡献统计中名列前茅。以公司身份投入开源的,主要是为了使开源软件满足自己的需求,同时也是为是争得一定的话语权。然而以贡献度换话语权只是一个谎言,被除名的俄罗斯籍Maintainer就是明证。
甚至于以HW的贡献度,也同样被Linux kernel的核心开发者建议除名。HW已经多次经历被国际组织开除的事件,更是早已证明:只要没有主导权就不会有真正的话语权。
那些重要的开源项目,主导者都不会把权力拱手相让,因为他们代表的不只是他们自己,而是会受到多方面的约束,包括来自美国政府的干涉。我们可以想象一下,如果微软公司打算把github的服务器转移到中国,让中国成为开源大本营的数据中心,美国政府会有什么反应?
可能由于类似的原因,RISC-V基金会也从未考虑站队中国。它把总部从美国迁到瑞士以示中立,更像是掩耳盗铃的把戏——瑞士没有能力阻止美国插手RISC-V基金会。不过这种远离政治的姿态,确实成为了很多中国公司加盟RISC-V基金会的理由。
RISC-V是一种起始于2010年的CPU指令集架构,2014年正式成立RISC-V基金会,开始商业化推广。RISC-V 指令集采用宽松的BSD 开源协议,企业可以完全自由使用并允许添加自有指令集,而不必开放共享。
RISC-V基金会目前有25个高级会员单位,其中有9个来自中国。它的董事会中也有6名成员是来自中国大陆。
RISC-V开源的仅仅是指令集,不包含开源的IP核,也不包含共享的专利池,但仍然吸引了众多知名企业加盟。除了指令集本身具有一定的商业价值之外,也与近几年国际形势的变化不无关系。特别是中国的公司和科研单位加盟,在很大程度上是因为认可开源具有自主特征。
例如HW、飞腾、中兴,都受到ARM的狭制,需要有一些后备的路线。虽然RISC-V目前还不够成熟,但多一种选择说不定什么时候就会用上。
中国企业对RISC-V的投入相对积极,但要说凭借投入和贡献就能主导RISC-V的发展还为时过早。因为RISC-V开源的仅仅是指令集,不包含开源的IP核,也不包含共享的专利池。而获得主导权的关键在于CPU产品的性能、性价比、专利壁垒,以及厂商自身的号召力,在这些方面中国企业没有优势。
相对而言,中国公司在这样的国际组织中处于弱势地位。无论政治因素还是技术储备,都很难与欧美企业抗衡。RISC-V基金会的主要成员中还有Intel、Nvidia、高通等头部企业,它们稳坐钓鱼台,又能不受限制地使用最先进的芯片生产工艺,它们都有在时机成熟时收割市场的能力。
国内企业几乎不可能掌控RISC-V的主导权。对于国内企业来说,支持RISC-V与支持开源软件是一样的性质,就是在被踢出开源主线的团队之后,仍然可以基于已获得的代码和资料独自发展,这一点远远优于商业性质的指令集架构或IP核授权。
参与开源建设要注意投入和回报
我们的自主软件生态建设必须基于开源软件,但自主CPU大可不必基于开源的指令集架构。
同样是开源,区别对待的原因主要是两者的难度和投入差距不可同日而语。
一、开源软件是成熟的体系,RISC-V只是CPU的开端
开源软件包含主板固件、操作系统、硬件驱动、开发工具、数据库……以及面向各种应用场景的功能库、应用软件、运行环境等。开源世界拥有全世界开发者数十年积累的成果,存在较高价值的开源软件和库多达数万,是拿来就能派上用场的软件生态。
而开源指令集仅仅就是指令集,它只是CPU设计过程中的第一个产物,后续还有大量的工作。其中工程量最大、技术含量最高的部分是逻辑设计,这直接决定了CPU的性能上限。如果有完成主流层次CPU逻辑设计的能力,那么设计一套全新的先进指令集也不是难题。
我们基于开源软件建设软件生态,而不是从零开始,有两个主要原因:一是不必要把开源世界已经积累了数十年的软件成果重复开发一遍,这样既浪费资源也没有意义;二是因为从头开发操作系统就必须为各种硬件重新开发驱动程序,这几乎是无法解决的难题。
Linux的硬件驱动来自于数十年的积累,很多硬件厂商都已经消逝了,但还有硬件存世。在不同的系统间移植应用软件相对容易,但移植驱动程序就相当于重新开发。驱动程序因为涉及到需要保密的硬件细节,一般是厂商自己开发。也有厂商会提供支持一系列硬件共有特性的开源驱动,但一般不能发挥硬件的全部能力。
但没有厂商愿意免费给市场占有率几乎为零的新型操作系统开发驱动程序,全部定制开发所需的资金是天文数字。即使所有厂商都愿意配合,也能收集到数十年来所有型号的硬件用于调试,但一款一款地重新适配也仍然是浩大的工程,只是想象就已经令人不寒而栗。
苹果的PC操作系统之所以只能匹配特定的硬件,就是因为没有其它硬件的驱动程序。Windows On ARM只能在特定的机型上正常运行,也是因为没有其它硬件的驱动程序。如果我们开发一种操作系统,也没有理由违背客观规律!
因为应用软件和驱动程序数量庞大,所以只有基于Linux以及各种开源软件,才是发展自主软件生态最有效的路线。
二、RISC-V缺少额外的软件生态价值
在下面的表格中,概略地类比了设计CPU、开发软件、撰写书籍所需要的工具和工作内容。可以看到,虽然指令集定义了基础规则,但并不是CPU设计中技术含量最高的部分,更不是CPU设计流程中成本最高的部分。
设计CPU | 开发软件 | 出版图书 |
指令集架构 | 程序语言关键字和语法规则 | 字词解释和语法规则 |
EDA工具 | 代码编辑器、编译器、调试器 | 文字录入和排版工具 |
规划IP核 | 设计功能模块的接口 | 编写大纲并决定每章的标题 |
逻辑设计 | 编写源代码 | 编写和录入文章内容 |
第三方IP核 | 第三方功能模块 | 能引用的成语故事、历史事件等 |
仿真测试 | 测试软件功能并修复错误 | 校对文章内容,小范围试阅读 |
制作版图 | 编译产生目标二进制文件 | 对书稿排版准备印刷 |
光刻晶圆 | 连接目标文件生成可执行文件 | 印刷完成等待装订的书籍 |
芯片封装 | 打包软件安装程序 | 装订书籍 |
主板 | 软件的运行环境 | 书桌、书架等承载物 |
开源的CPU指令集架构不是谁都玩得起的。购买EDA软件、购买FPGA仿真设备、设计CPU核心、设计或购买其它IP核、找代工厂流片、设计主板并生产、移植操作系统、开发应用软件,这一套流程走下来,很多公司都会被拖垮财务。
但RISC-V毕竟不需要授权费,如果设计目标是物联网芯片这类利润单薄、软件简单的产品,就能有效降低成本,也避免了软件生态的困扰。因此利用RISC-V在低端芯片上的低成本优势赚钱是非常合理的商业路线,但如果要拔高它的地位,就必须考虑是否值得投入。
在PC和服务器领域,CPU指令集的价值主要在于以它为基础发展起来的软硬件生态。然而由于RISC-V根本没有PC级的CPU产品,无法承载PC及服务器软件生态。没有性能强大的CPU做为载体,软件生态就是空中楼阁,因此RISC-V连对开源软件的移植都还存在巨大缺口。
对于软硬件生态,RISC-V并不比龙芯自主的LoongArch走得更远。即使是对PC和嵌入式生态投入不足的申威,它的SW指令集架构在软件生态方面的成就也超过了RISC-V。如果排除开源生态,那么RISC-V的软件生态就为零,而龙芯LoongArch至少还能剩下上千款商业软件。
RISC-V基金会的成员单位如果想用RISC-V取代ARM,至少需要为它建设不亚于ARM的成熟软件生态。与其去投入RISC-V从零开始的软件生态,还不如发展能完全由自己主导的指令集。无论龙芯还是申威,不但软件生态的发展水平都高于RISC-V,而且完全由中国主导,更有已经产品化的高性能CPU能够承载PC和服务器软件生态。
三、RISC-V基金会成员单位相互牵制,多见务虚,少见务实。
经常看到RISC-V的各个成员组织开生态大会、产业大会、技术大会……然而都像是把RISC-V作为金融游戏的道具,都在宣传RISC-V的前景,而都不脚踏实地。例如凑出一颗32核并行性能还不如Inte i3的CPU,说要发展RISC-V服务器,除了作为引诱投资的故事素材,哪有什么实际意义?
RISC-V基金会虽然有25个重要成员单位,还有为数众多的战略合作伙伴,但却反而踌躇不前。是因为没有真正的领导者,每个成员都有自己的打算。大家提出各自的构想,为RISC-V扩充指令,希望成为RISC-V的新标准。因为只要成为了标准,其他成员就会被自己的专利捆绑。RISC-V基金会没有共享专利池的规则,虽然有一些第三方成立的RISC-V专利共享组织, 但噱头大于实际作用。
每个成员都想用自己的标准绑架别人,希望费时费力的CPU产品实践以及市场开拓都由别人打头阵,一遍一遍地重演着三个和尚没水喝的故事。其实这些想法都是人之常情,因为都担心自己栽的树被别人乘了凉,自己浇的花被别人摘了果。特别是Intel也成为了RISC-V基金会的重要成员,在很大程度上压制了其它成员主导RISC-V的热情。
无论Intel是打算给RISC-V的发展制造障碍,还是准备在RISC-V市场成熟后强夺成果,都令其它成员不敢掉以轻心。HW和飞腾已经为了给ARM健全PC和服务器软件生态投入了大量资源,不会轻易让成本沉没。RISC-V只是它们退而求其次的备选,在事态恶化到不可收拾之前,也不会大力度投入第二条战线。
为这些原因,各家企业虽然都对RISC-V赞誉有加,但实际投入都非常理智。无论Intel、Nvidia、Qualcomm,还是HW、腾讯、阿里,只要有任何一家公司全情投入,RISC-V也不至仅在物联网这类低端嵌入式市场占有一席之地,在手机、PC、服务器领域都缺乏竞争力,甚至中高端嵌入式产品中也很少见到RISC-V的身影。
四、开源软件门槛极低,加入开源是大势所趋
其实大家对开源软件更有兴趣。是因为开源软件有投入低、回报高、见效快的特点。无论是向开源上游提交代码添加自己需要的功能,还是排除对自己有影响的问题,又或者基于开源库开发新软件,都能以极低的成本立竿见影。
开源软件能真正做到全民开发,即使不是程序员,也通过提交bug、提出建议、校对文档、翻译知识库等方式参与。个人开发者是开源社区的重要组成部分,但为公司项目服务的开发者往往会更频繁地提交代码,开发也更有持续性。小公司、小项目对开源软件可能主要是索取,但只要发展到一定程度,就必然会回馈开源社区,一却都会自然而然地发生:
1.使软件或硬件产品被更广泛地兼容。例如某软件为了实现某种功能,对一些开源库进行了改进。只有把改进的代码提交到上游,才能确保软件能在更多用户的电脑上运行;
2.增强软件或硬件产品的性能表现。例如为开源的视频播放器软件增加对特定类型CPU优化的代码;
3.修复产品出现的问题。例如某软件或硬件被发现Bug,追踪到问题的源头是某个开源库的Bug,那么只有从源头修复Bug才是最合理的方案;
4.试验新技术、验证新功能。例如基于AI的图像处理方法,自己的设备类型或实验样本有限,通过开源就能得到更充分的测试,获得更广泛的问题反馈;
5.使自己的新型硬件得到广泛的支持。例如龙芯CPU使用全新的LoongArch指令集架构,就有必要给上游所有重要的开源软件增加对LoongArch指令集的支持,扩大开发者和用户群体;
6.为了吸引更多的开发者了解自己的产品,而以开源软件的形式向开发者提供某种形式的模拟环境、开发文档,以及必要的开发工具。例如使qemu/kvm支持对新型CPU指令集、新型硬件的模拟。
规避开源世界的风险,打造可靠的开源路线
开源项目是开源项目,开源社区是开源社区,这一点必须要分清楚。
开源项目是代码和文档的集合,可以在开源协议的许可范围内复制并使用开源的内容。无论基于哪种开源协议,开发者对已经获得的代码和文档都具有极高的自主权。但把自己对开源项目的修改往上游的开源社区提交时,则很有可能因各种原因被拒绝。
拒绝的理由多种多样,但真正与代码直接相关的,只有代码质量低下、损伤软件原功能这两种。其余的原因多半是因为牵扯到商业和政治等利益,也有一部分是由于上游开发者的傲慢。
开源项目的管理不是全自动的,无论如何都是由管理人员做最终决定。任何人都有情感和政治偏向,因此由西方开发者主导的开源社区不会把中国和美国一视同仁。
1.代码的质量标准是灵活的,因人而异。例如Linus一边骂Nvida为各款显卡提交的驱动程序中重复的代码太多,一边又乐滋滋地把那些代码都合并入Linux kernel主线。而中国公司如果做类似的事情,多半会被要求重写代码,清除冗余的部分。也就是说,由国内开发者提交进入开源主线的代码,往往被迫着更加精炼,当然这也对我们的开发者提高水平很有帮助;
2.中国公司和美国公司如果同时开发出相似的功能、提交了功能相近的代码,那么中国公司提交的代码更有可能被以功能重复的理由拒绝。即使两者实际有差异,并且在代码层面互不影响,那么中国开发者也可能会被要求剔除掉自己的核心代码,在国外同类功能的基础上进行修改和扩展;
3.当中国公司开发的产品在某些方面优于欧美同类,向开源主线提交支持新特性的代码时可能会被拒之门外,或者被拖延合并。例如在MIPS没落之后,龙芯接过了各大开源项目对MIPS指令集的支持和优化工作。但龙芯提交的代码如果使用了自己的扩展指令,就难以通过审核,使龙芯软件生态与MIPS很难分道扬镳。后来龙芯放弃了MIPS,全面转向自主的LoongArch指令集架构,为了缩短软件适配周期而基于自己以往的代码进行修改,在向基础开源项目的主线提交时被否定,理由是与旧代码太相似;
4.当美国对他国企业及开发者实施制裁时,相关联的开发者提交代码也会受阻。但是如果是它国对美国企业实施制裁,开源社区则完全不会认同。例如Google被中国和俄罗斯抵制,但各大开源项目都没有驱逐Google,反而排除了俄罗斯的开发者,并提议清除HW的贡献条目。
当开源项目被用于产品时,对开源代码的修改常与产品研发同步进行。在把代码提交到开源主线时,产品研发已经完成,甚至已经销售到了用户手上。如果开源社区不接受这些代码变更,为了不影响自己的产品,开发者就只能把临时维护的版本变成需要长期维护的分支版本。
我们之所以投入开源主线的开发,是因为全世界的开发者共同维护一个版本,有利于降低所有开发者的成本,开源软件的使用者也不必面对多个版本无所适从。我们以开放包容的态度融入世界,但这个世界总有一些狭隘主义者向我们关上大门。如果开源社区不再能维持和平友好的氛围,甚至连表面的公平都不再顾及,那么我们自立门户就是必然的选择。
由大公司或有关部门牵头,基于已有的代码二次开源,成为由我们主导的上游社区,吸引开发者参与我们维护的分支。虽然可能无法得到全世界开发者的支持,但并不妨碍我们获得其他开发者的成果。我们也可以继续向开源主线提交代码,如果被拒绝那也不是我们的问题。
成规模的开源社区在国内已有不少。例如Deepin、OpenKylin等社区主要维护桌面Linux,并进行深入的二次开发、应用集成和推广。OpenEuler、AnolisOS等社区主要为服务器系统提供长期的维护和技术支持。OpenHarmony、rt-thread等主要推进自主的嵌入式系统和实时系统。龙芯开源社区主要为自主CPU架构LoongArch进行软件移植、优化,以及基于LoongArch的独特功能开发基础软件。
除此之外,如阿里的Gitee、腾讯的Coding等都是模仿Github的开源项目存储、管理、交流平台。国内很多新的开源软件项目已经不再存放到Github上,而是选择国内的代码管理服务器。同时,凡是国外重要的开源项目,都已经在Gitee、Coding等平台上完成了镜像备份,如果风险升级,国内开发者就能基于这些代码镜像继续完成开发,只是换了一个获取及提交代码的地方。
国内的这些基础设施,以及基础软件的开源社区,既是为了培养国内的开源力量,也是隔离风险的防火墙。我们并不希望被国际开源社区排除在外,但如果遭遇封锁,国内的开源力量就是我们自立门户的根本。
总结
相对于硬件,软件方面的专利很容易规避,即使遭遇专利陷阱也能快速修改重新发布。因此几乎不存在软件专利壁垒的说法,只有硬件才有专利壁垒。利用开源软件发展我们自己的软件生态,风险是可控的,投入是有回报的,利益是长久的,技术是能持续演进的。
而基于RISC-V或者授权的ARM指令集架构发展自主CPU,我们只可利用它们的某些优势赚钱,而不必为它们去建设PC和服务器软件生态。因为我国在高端CPU方面将长时间不存在竞争优势,光一个工艺限制就能压制国产CPU很长时间。耗费资源去为不由中国控制CPU指令集完善软件生态,然后真正得利的全都是进口产品。
如果CPU指令架构由国外主导、CPU性能也不如进口产品,那么我们发展的自主软件生态也必然会被国外窃取主导权。只有基于完全自主的CPU指令集设计CPU、建设软件生态,我们才能构筑起护城河,为我国的自主化信息产业争取到成长壮大的时间。
我们融入世界的方式不应该是把信息技术产业的主导权拱手相让,而应该是像Intel、AMD、ARM、MS、Google那样,让全世界都难以拒绝它们的CPU和软件生态!