中国开源 破解“中国开源拿来主义”的几点分析|包云岗

栏目:体育 2021-09-25 23:34:31
分享到:

注意风云的声音

提高思维水平

引导阅读

规格很重要,但更重要的是如何将规格转化为代码、系统和产品,从而形成核心技术竞争力。

以下视频是2011-2019年全球开源代码贡献最多的城市排名:旧金山一骑绝尘,其他主要是欧美城市;亚洲有东京和首尔上榜;莫斯科也做出了杰出的贡献。但是,不幸的是,没有中国的城市。客观来说,中国在开源方面还是比较落后的,那么如何应对呢?

有人建议不要使用来自美国的开源技术。类似的建议有很好的出发点,却陷入了马克思批判的“倒洗澡水,把孩子扔出去”的思维模式。

至于中国开源的“拿来主义”,只有搞清楚问题出在哪里,才能对症下药。这就要求我们辩证地分析“中国开源主义”背后的原因。

1.为什么美国的开源技术如此有吸引力?

事实上,开源技术对企业很有吸引力,它的经济学原理——诺贝尔经济学奖的交易成本理论。根据这一理论,每笔交易都有成本。对于一个企业来说,如果技术能够完成同样的功能,那么交易成本更低的技术就会受到青睐。开源大大降低了交易成本,因此必然会受到市场的青睐。例如,据阿里巴巴云前副总裁张介绍,阿里利用开源技术实现“IOE移除”,成本仅为原成本的1/140。因此,一旦有了高质量的开源技术,必然会得到企业的重视和应用。

其实开源技术是有竞争的,这也需要大量的投入。人们经常指责中国的“takenism”。核心原因是它还没有意识到自己要占领开源市场。不参与竞争,如何推出有竞争力的开源技术?

美国企业非常重视开源技术的投资。很多人都知道谷歌有几个有影响力的开源项目,比如TensorFlow。但是很多人可能不认为在Github上参与开源项目人数最多的公司其实是微软。根据2018年的一项统计,微软有4550名员工参与开源项目,排名全球第一;谷歌以2267名员工排名第二,红帽以2023名员工排名第三。

因此,如果我们想“不要使用来自美国的开源技术”,我们就不能依靠封锁。我们更需要的是引导——引导中国企业和学术界加大对开源的投入,形成一批有影响力的中国首创的开源项目。中国只有在开源领域具备国际竞争力,才能与美国开源技术竞争。

第二,任何来自美国的“免费开源”的东西都不能用?

这也是一刀切的思维方式,片面、机械。这里有一个小小的解释:

开源主要有两种模式,一种是由非营利组织牵头,如Linux基金会、Apache基金会、RISC-V基金会等。商业申请一般需要加入基金会并支付会员费。另一种是企业主导,如谷歌、RedisLab、Wave Computing等。业务应用需要与龙头企业签订协议。

比如全球广泛使用的谷歌TensorFlow,就属于第二种模式,由企业主导。但谷歌控制了TensorFlow的开发,TensorFlow只提供单向开源代码,很少收到社区反馈,难以支持社区协同开发,开源项目管理相对封闭不开放。事实上,这并不是真正的开源。本质上是通过开源形成的技术垄断。用小米副总裁@崔宝秋-小米的话说,这是一个“开源寡头”。

龙芯前段时间弃用的MIPS指令集曾经宣布要开放自己的R6指令集,其实是属于公司的。随着Wave Computing的破产,它的开源计划也就失去了。

相比之下,基金会等非营利组织牵头的开源项目和计划更加开放,更有活力。比如Linux开源近30年,现在还在蓬勃发展。全球1400多家企业和15000多名开发人员为Linux做出了贡献。这才是真正的开源——开源代码、开放流程、开放管理,话语权由贡献决定。中国为什么要拒绝这样的开源项目?

我认为中国不应该拒绝,而应该加大投入,争取更多的话语权。事实上,华为意识到自己在Linux上投入巨大,其在Linux Kernel 5.10上的Patch贡献排名全球第二,仅次于英特尔。

3.一些开源项目是由美国军方的DARPA资助的。它们还能用吗?

其实去年网上也有人提出过类似的问题。我已经回应了。以最近比较受关注的RISC-V为例,DARPA发言人的观点是“DARPA打算公开向全世界的公司和学者提供由其资助的RISC-V作品”。

DARPA的立场得到了历史的认可。在过去的几十年里,在DAPRA的支持下发展起来的BSD Unix、TCP/IP协议栈等一系列技术,极大地推动了人类社会的进步。FreeBSD是早期开源软件的杰出代表,而TCP/IP协议是开放标准的典范,它构建了今天连接数十亿人的互联网。虽然它们都得到DARPA的支持,但它们可以在世界各地使用。中国建设基于TCP/IP协议的网络,不受美国出口管制;中国企业基于TCP/IP开发的交换机和路由器不受美国出口管制。

以RISC-V为例,指令集规范和处理器实现是两个不同的概念,应该加以区分。指令集是一个标准,通常用一本书或几张纸来描述,而处理器的实现是基于指令集规范的源代码。

RISC-V是一个指令集规范。“RISC-V是开源的”意味着指令集规范是开源的、开放的、免费的,这与x86和ARM指令集有本质的区别,但并不意味着具体的处理器实现都是开源的、免费的。联盟)

因此,一项由DARPA资助的开源技术不应该成为我们拒绝和抵制的理由,就像中国没有因为TCP/IP协议是由DARPA资助而拒绝一样。其实RISC-V和TCP/IP一样,本质上是一种规范。规格很重要,但更重要的是如何将规格转化为代码、系统和产品,从而形成核心技术竞争力。