查看原文
其他

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

CSDN云计算 2020-12-18

作者 | 包云岗
责编 | 王晓曼
本文经作者授权转载自包云岗知乎
以下视频是2011-2019期间全世界开源代码贡献最多的城市排名:旧金山一骑绝尘,其他主要是美欧城市;亚洲有东京、首尔上榜;莫斯科也贡献突出。但是,很遗憾没有中国城市。客观地说,中国在开源方面还比较落后,那该如何应对?

https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_1605090103960371202

开源代码贡献量全世界城市排名(2011-2019)

有人建议不要使用来自美国的开源技术。类似的建议出发点是好的,但却落入了马克思所批判的“倒洗澡水连孩子也倒掉”思维方式。
对于中国在开源方面的“拿来主义”,只有搞清楚问题在哪里,才能对症下药。这需要我们辩证地去分析“中国开源拿来主义”背后的原因。

为什么美国的开源技术那么有吸引力?

事实上,开源技术对企业来说存在很大的吸引力,背后有其经济学原理——诺贝尔经济学奖科斯的交易成本(Transaction Cost)理论。根据该理论,每一笔交易都有成本。对于一个企业来讲,如果在技术都能完成相同功能的情况下,肯定交易成本越低的技术,会得到青睐。开源极大地降低了交易成本,所以必然会受到市场的青睐。例如,根据阿里云前副总裁章文嵩的数据,阿里使用开源技术来实现“去 IOE”,成本只需要原来的1/140。因此,一旦存在高质量的开源技术,必然会得到企业的关注和应用。
事实上,开源技术也存在竞争,也需要大量投入。人们经常责怪中国都是“拿来主义”,核心原因在于还未意识到要去占领开源市场。如果不投入参与竞争,怎么能推出有竞争力的开源技术?
美国企业对开源技术的投入非常重视。很多人都知道谷歌有多个有影响力的开源项目,比如 TensorFlow。但可能很多人想不到在 Github 上参与开源项目人数最多的公司其实是微软。2018年的一个统计显示,微软有4550名员工参与开源项目,全世界排第一;而谷歌2267名员工排第二,红帽子2023名员工排第三。
所以,要想做到“不要使用来自美国的开源技术”,不能靠堵,更需要的是引导——引导中国企业、学术界加大对开源的投入,形成一批中国发起的有影响力的开源项目。只有中国在开源领域有国际竞争力了,才能与美国的开源技术抗衡。

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

这也是“一刀切”的思维方式,片面而机械。这里稍作解释:
开源主要有两种模式,一种是非营利组织主导,如 Linux 基金会、Apache 基金会、RISC-V 基金会等,商业应用一般需加入基金会,缴纳会员费。另一种是企业主导,谷歌 (Andriod, Chromium, TensorFlow)、RedisLab (Redis)、WaveComputing (MIPS)等,商业应用需与主导企业签署协议。
例如全世界广泛使用的谷歌 TensorFlow 便属于第二种模式,是由企业主导。但是谷歌控制着 TensorFlow 的开发,只单向开源代码,很少接受社区反馈,很难开展支持社区协作开发,开源项目管理较为封闭不开放。这其实不是真正的开源,本质上是通过开源形成技术垄断。用小米副总@崔宝秋-小米的话说,这属于“开源寡头”。
前段时间龙芯放弃的 MIPS 指令集,曾经也宣布要开源其R6版本的指令集,这其实也是属于公司主导。随着 Wave Computing 破产,其开源计划也不了了之。
相比而言,由基金会等非盈利机构主导的开源计划、开源项目则更开放,更有生命力。比如 Linux 已经开源了近30年,依然蓬勃发展,全世界1400多家企业、15000多位开发者一起为 Linux 贡献。这是真正的开源——代码开源、流程开放、管理开放,通过贡献度来决定话语权。这样的开源项目中国为什么要拒绝?
我想中国不仅不应该拒绝,而是应该更多的投入,争取更多的话语权。事实上,华为便认识到了,在 Linux 上投入非常大,在 Linux Kernel 5.10 中华为的 Patch 贡献量已经排到全世界第二,仅次于 Intel。

有些开源项目受到美国军方 DARPA 资助,还能用吗?

这个问题其实去年就有人在网上提出类似的质疑。我也做过回应。以最近大家比较关注的 RISC-V 为例,DARPA 发言人的观点是“DARPA打算将其资助的 RISC-V工作公开提供给世界各地的公司和学者(the agency intended for RISC-V work it funded to be publiclyavailable to companies and academics around the world)”。
DARPA 的这个立场有历史背书。过去几十年,在 DAPRA 资助下研制的 BSDUnix、TCP/IP 协议栈等一系列技术对人类社会进步起到了巨大的推动作用。FreeBSD 是早期开源软件的杰出代表,TCP/IP 协议更是开放标准的典范,构建起今天连接几十亿人的 Internet。它们虽然都是 DARPA 支持,但是世界各地都可以使用。中国基于 TCP/IP 协议构建网络,这并没有受到美国的出口管制;中国企业基于TCP/IP研制的交换机与路由器,也并不受到美国的出口管制。
还是以RISC-V为例,指令集规范(Specification)和处理器实现(Implementation)是两个不同层次的概念,要区分开。指令集(ISA)是规范标准,往往用一本书或几张纸来记录描述,而处理器实现是基于指令集规范完成的源代码。
RISC-V 是一个指令集规范。“RISC-V 是开源的”表示指令集规范是开源、开放和免费的(open and free),这与 x86 与 ARM 指令集有本质不同,但并不是指具体的处理器实现也都是开源免费的。(关于 RISC-V 规范与处理器实现的区别,这里有专门的解读:关于 RISC-V 和开源处理器的一些解读 - 中国开放指令生态(RISC-V)联盟:http://crva.ict.ac.cn/?page_id=540)
因此,一个开源技术受到 DARPA 资助,不应该成为我们拒绝和抵制的理由,就如中国并没有因为 TCP/IP 协议是 DARPA 资助而拒绝。事实上,RISC-V 和 TCP/IP 一样,本质上都是规范。规范很重要,但更重要的是如何将规范转变为代码、系统和产品,这才能形成核心技术竞争力。

来源:

https://zhuanlan.zhihu.com/p/280144610?utm_source=wechat_session&utm_medium=social&utm_oi=27638299099136&utm_campaign=shareopn&wechatShare=1&s_r=0


作者介绍:

成都链安,全球最早专门从事区块链安全的公司,同时也是全球最早将形式化验证技术应用到区块链安全领域的团队,研发了全球领先的智能合约自动形式化验证平台VaaS,并基于此,建立了“一站式”区块链安全平台,为区块链企业提供安全审计、资产追溯、隐私保护、安全咨询、威胁情报、安全防护等全方位的安全服务与支持。申请软件发明专利和著作权15项。



更多阅读推荐

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存