查看: 59|回复: 0
收起左侧

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

[复制链接]

  离线 

  • TA的每日心情
    拍拍
    2021-11-15 11:35
  • 签到天数: 1 天

    [LV.1]

    发表于 2021-12-6 12:52:21 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 塞巴斯蒂安 于 2021-12-6 12:51 编辑

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

    开源代码贡献量全世界城市排名(2011-2019)
    国内芯片技术交流-破解“中国开源拿来主义”的几点分析risc-v单片机中文社区(1)

    有人建议不要使用来自美国的开源技术。类似的建议出发点是好的,但却落入了马克思所批判的“倒洗澡水连孩子也倒掉”思维方式。

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

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

    事实上,开源技术对企业来说存在很大的吸引力,背后有其经济学原理——诺贝尔经济学奖科斯的交易成本(Transaction Cost)理论。根据该理论,每一笔交易都有成本。对于一个企业来讲,如果在技术都能完成相同功能的情况下,肯定交易成本越低的技术,会得到青睐。 开源极大地降低了交易成本,所以必然会受到市场的青睐。例如,根据阿里云前副总裁章文嵩的数据,阿里使用开源技术来实现“去IOE”,成本只需要原来的1/140。因此,一旦存在高质量的开源技术,必然会得到企业的关注和应用。

    事实上,开源技术也存在竞争,也需要大量投入。人们经常责怪中国都是“拿来主义”,核心原因在于还未意识到要去占领开源市场。如果不投入参与竞争,怎么能推出有竞争力的开源技术?

    美国企业对开源技术的投入非常重视。很多人都知道谷歌有多个有影响力的开源项目,比如TensorFlow。但可能很多人想不到在Github上参与开源项目人数最多的公司其实是微软。2018年的一个统计显示,微软有4550名员工参与开源项目,全世界排第一;而谷歌2267名员工排第二,红帽子2023名员工排第三。

    所以,要想做到“不要使用来自美国的开源技术”,不能靠堵,更需要的是引导——引导中国企业、学术界加大对开源的投入,形成一批中国发起的有影响力的开源项目。只有中国在开源领域有国际竞争力了,才能与美国的开源技术抗衡。

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

    这也是“一刀切”的思维方式,片面而机械。这里稍作解释:

    开源主要有两种模式,一种是非营利组织主导,如Linux基金会、Apache基金会、RISC-V基金会等,商业应用一般需加入基金会,缴纳会员费。另一种是企业主导,谷歌 (Andriod, Chromium, TensorFlow)、RedisLab (Redis)、Wave Computing (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 publicly available to companies and academics around the world)”。

    DARPA的这个立场有历史背书。过去几十年,在DAPRA资助下研制的BSD Unix、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)联盟 )

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






    上一篇:GreenWaves RISC-V核心,取代物联网中的Cortex内核
    下一篇:Linux初期在中国的发展
    题主优质好文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    点评回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条




    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2022-1-20 01:04 , Processed in 6.068457 second(s), 50 queries .

    快速回复 返回顶部 返回列表