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

包云岗:破解“中国开源拿来主义”的几点分析
文章图片
作者|包云岗
编辑|青暮
在2012-2019期间全世界开源代码贡献最多的城市排名中 , 旧金山一骑绝尘 , 其他主要是美欧城市;亚洲有东京、首尔上榜;莫斯科也贡献突出 。 但是 , 很遗憾没有中国城市 。 客观地说 , 中国在开源方面还比较落后 , 那该如何应对?
包云岗:破解“中国开源拿来主义”的几点分析
文章图片
有人建议不要使用来自美国的开源技术 。 类似的建议出发点是好的 , 但却落入了马克思所批判的“倒洗澡水连孩子也倒掉”思维方式 。
对于中国在开源方面的“拿来主义” , 只有搞清楚问题在哪里 , 才能对症下药 。 这需要我们辩证地去分析“中国开源拿来主义”背后的原因 。
1为什么美国的开源技术那么有吸引力?
事实上 , 开源技术对企业来说存在很大的吸引力 , 背后有其经济学原理——诺贝尔经济学奖科斯的交易成本(TransactionCost)理论 。
根据该理论 , 每一笔交易都有成本 。 对于一个企业来讲 , 如果在技术都能完成相同功能的情况下 , 肯定交易成本越低的技术 , 会得到青睐 。
开源极大地降低了交易成本 , 所以必然会受到市场的青睐 。 例如 , 根据阿里云前副总裁章文嵩的数据 , 阿里使用开源技术来实现“去IOE” , 成本只需要原来的1/140 。 因此 , 一旦存在高质量的开源技术 , 必然会得到企业的关注和应用 。
事实上 , 开源技术也存在竞争 , 也需要大量投入 。 人们经常责怪中国都是“拿来主义” , 核心原因在于还未意识到要去占领开源市场 。 如果不投入参与竞争 , 怎么能推出有竞争力的开源技术?
美国企业对开源技术的投入非常重视 。 很多人都知道谷歌有多个有影响力的开源项目 , 比如TensorFlow 。 但可能很多人想不到在Github上参与开源项目人数最多的公司其实是微软 。 2018年的一个统计显示 , 微软有4550名员工参与开源项目 , 全世界排第一;而谷歌2267名员工排第二 , 红帽子2023名员工排第三 。
所以 , 要想做到“不要使用来自美国的开源技术” , 不能靠堵 , 更需要的是引导——引导中国企业、学术界加大对开源的投入 , 形成一批中国发起的有影响力的开源项目 。 只有中国在开源领域有国际竞争力了 , 才能与美国的开源技术抗衡 。
2任何来自美国的“免费开源”的东西都不能用?
这也是“一刀切”的思维方式 , 片面而机械 。 这里稍作解释:
开源主要有两种模式 , 一种是非营利组织主导 , 如Linux基金会、Apache基金会、RISC-V基金会等 , 商业应用一般需加入基金会 , 缴纳会员费 。 另一种是企业主导 , 谷歌(Andriod,Chromium,TensorFlow)、RedisLab(Redis)、WaveComputing(MIPS)等 , 商业应用需与主导企业签署协议 。
例如全世界广泛使用的谷歌TensorFlow便属于第二种模式 , 是由企业主导 。 但是谷歌控制着TensorFlow的开发 , 只单向开源代码 , 很少接受社区反馈 , 很难开展支持社区协作开发 , 开源项目管理较为封闭不开放 。 这其实不是真正的开源 , 本质上是通过开源形成技术垄断 。 用小米副总@崔宝秋-小米的话说 , 这属于“开源寡头” 。
【包云岗:破解“中国开源拿来主义”的几点分析】前段时间龙芯放弃的MIPS指令集 , 曾经也宣布要开源其R6版本的指令集 , 这其实也是属于公司主导 。 随着WaveComputing破产 , 其开源计划也不了了之 。
相比而言 , 由基金会等非盈利机构主导的开源计划、开源项目则更开放 , 更有生命力 。 比如Linux已经开源了近30年 , 依然蓬勃发展 , 全世界1400多家企业、15000多位开发者一起为Linux贡献 。 这是真正的开源——代码开源、流程开放、管理开放 , 通过贡献度来决定话语权 。 这样的开源项目中国为什么要拒绝?
我想中国不仅不应该拒绝 , 而是应该更多的投入 , 争取更多的话语权 。 事实上 , 华为便认识到了 , 在Linux上投入非常大 , 在LinuxKernel5.10中华为的Patch贡献量已经排到全世界第二 , 仅次于Intel 。
3
有些开源项目受到美国军方DARPA资助 , 还能用吗?
这个问题其实去年就有人在网上提出类似的质疑 。 我也做过回应 。 以最近大家比较关注的RISC-V为例 , DARPA发言人的观点是“DARPA打算将其资助的RISC-V工作公开提供给世界各地的公司和学者(theagencyintendedforRISC-Vworkitfundedtobepubliclyavailabletocompaniesandacademicsaroundtheworld)” 。
DARPA的这个立场有历史背书 。 过去几十年 , 在DAPRA资助下研制的BSDUnix、TCP/IP协议栈等一系列技术对人类社会进步起到了巨大的推动作用 。 FreeBSD是早期开源软件的杰出代表 , TCP/IP协议更是开放标准的典范 , 构建起今天连接几十亿人的Internet 。 它们虽然都是DARPA支持 , 但是世界各地都可以使用 。 中国基于TCP/IP协议构建网络 , 这并没有受到美国的出口管制;中国企业基于TCP/IP研制的交换机与路由器 , 也并不受到美国的出口管制 。
还是以RISC-V为例 , 指令集规范(Specification)和处理器实现(Implementation)是两个不同层次的概念 , 要区分开 。 指令集(ISA)是规范标准 , 往往用一本书或几张纸来记录描述 , 而处理器实现是基于指令集规范完成的源代码 。
RISC-V是一个指令集规范 。 “RISC-V是开源的”表示指令集规范是开源、开放和免费的(openandfree) , 这与x86与ARM指令集有本质不同 , 但并不是指具体的处理器实现也都是开源免费的 。
关于RISC-V规范与处理器实现的区别 , 这里有专门的解读:“关于RISC-V和开源处理器的一些解读-中国开放指令生态(RISC-V)联盟” 。
因此 , 一个开源技术受到DARPA资助 , 不应该成为我们拒绝和抵制的理由 , 就如中国并没有因为TCP/IP协议是DARPA资助而拒绝 。 事实上 , RISC-V和TCP/IP一样 , 本质上都是规范 。 规范很重要 , 但更重要的是如何将规范转变为代码、系统和产品 , 这才能形成核心技术竞争力 。
包云岗:破解“中国开源拿来主义”的几点分析
文章图片
包云岗:破解“中国开源拿来主义”的几点分析
文章图片


    推荐阅读