过去十年的定义是各种技术领域的开源创新。软件堆栈的可公开访问性使开发人员社区能够交换代码并实现超越组织边界构建协作杰作的想法。更广泛的社区在很长一段时间内都没有意识到这一趋势。最终,纯粹的数量和质量赢得了许多拥护者,开源成为了软件事实上的黄金标准,但开源硬件呢?


在软件不断发展的同时,硬件开发仍然各自为政,公司专注于创造竞争优势。硬件的历史充满了非协作运动,导致了不同规格的出现。有很多例子表明,孤立的创新最终导致了市场的碎片化。专有性质非但没有成为可持续的商业优势,反而成为了一个瓶颈,并最终导致了该标准的终结。索尼蓝光就是这样一个例子。


一个可能的原因是,硬件是通过知识产权保护获得商业竞争力的来源,因此公司希望将其保留在内部。显然,这种方法还没有扩展,而且我们看到硬件平台的增长速度要慢得多。例如,当精益但要求苛刻的人工智能用例出现时,该行业还没有做好准备。现有的参与者试图推动传统的FPGA、GPU和CPU解决方案,这些解决方案对于不断发展的推理行业所需的计算来说并不理想。很长一段时间以来,Arm一直在创新,并提供了一个非常进化的指令集,但最终也未能跟上步伐。


这种情况最终导致亚马逊和谷歌看到了定制计算解决方案的潜力,因此他们开始投资半导体,致力于推理定制处理解决方案。它为开源硬件驱动的汽车带来了一线希望,这将有助于缩小数据科学和大数据驱动的智能之间的鸿沟。本文追溯了开源软件的历程,并总结了一些经验教训,这些经验教训可以通过采用最佳实践来帮助开源硬件迎头赶上。


<img data-lazy-fallback="1" decoding="async" src="https://uploads.9icnet.com/images/aritcle/20230420/img20210323023758Is-open-source-hardware-a-lost-o_0_w652_h506.jpg">

图1:Arm及其指令集体系结构(ISA)多年来一直是知识中心。(来源:臂)


开源秘制酱汁


20多年前,当开源概念首次出现时,围绕货币化存在许多问题,随着时间的推移,各种模型不断发展。如今,超过3500万开发人员为代码做出了贡献,为数十亿设备提供了动力,并因此产生了巨大的价值。从MongoDB(79亿美元)和Elastic(73亿美元)的公开上市中可以明显看出,微软(70亿美元)、IBM(340亿美元)收购了GitHub,Salesforce在65亿美元的公开上市后收购了MuleSoft。


如今,所有大公司都在以某种形式使用开源,因为它有助于创建优化的软件来解决手头的问题。虽然计算机和电信行业是开源软件的主要消费者,约占其软件需求的60%,但工业和医疗保健企业正在迅速采用。开源大大缩短了开发时间,因为大多数模块都以经过良好测试和优化的形式提供,随时可以集成到软件堆栈中以解决特定问题。


开源提供了一个经典的营销教训:用户甚至在意识到这一点之前就已经是客户了。当他们意识到这这一点时,他们已经在使用大量的开源,所以他们最好购买许可证。从Apache孵化的许可证到MongoDB、Elastic和Cockroach提供的更友好的商业许可证,该行业已经走过了很长的路。这就是开源在最初没有任何明确营销需求的情况下开创免费增值的原因。


开源软件成功的秘诀是在任何新旅程的核心找到问题,并让商业模式随着时间的推移而出现。随着您解决更多重大问题,源代码的需求也在增长,从而导致项目规模的扩大,吸引了更多的资金。这就是为什么上四分之一的开源项目吸引了大量的开发者,而大多数都是免费的社区项目。


同样重要的是要理解为什么有人会为已经是开源的代码付费?答案在于在一段时间内提供专门的支持、安全修复和维护。它导致了不同的开放水平,以满足不同的行业需求水平。


Linux的到来


如今,开源软件在代码大师级和商业模式方面已经有了显著的发展。每当一家领先的公司参与开源开发时,它就会成为创建大型持久堆栈的催化剂。


谷歌在部署、扩展和容器化应用程序管理方面开创了各种成功案例,如Android移动操作系统、TensorFlow机器学习和Kubernetes。创业者努力解决问题的年轻创业公司有几个例子。随着大众对这个问题的突出认识,解决方案的规模和数量都在增加,从而形成了一个商业成功的故事。


在这段成长之旅中,关键组件是Linux的出现。它是一个可扩展的主干网,可以吸收如此多的不同组件和硬件,并无缝地提供高性能。无论是提供一个强大的主干来处理严格的时间要求,还是创造空间来适应不同的处理体系结构特定元素的方式,Linux都能满足苛刻的用例要求,同时成功地交付成果。


像胶水一样构建Linux


在这个关于开源软件进化的背景下,让我们将探索转向开源硬件世界。这并不是说开源硬件没有取得任何成功;无论硬件在哪里开源,它都会成为一个巨大的成功故事。开源微控制器板Arduino是开源硬件如何彻底改变人们在研究和项目相关活动中使用硬件的方式的典型代表。


<img data-lazy-fallback="1" decoding="async" src="https://uploads.9icnet.com/images/aritcle/20230420/img20210323023758Is-open-source-hardware-a-lost-o_1_w600_h337.jpg">

图2:Arduino微控制器板是开源硬件承诺的证明。(来源:阿杜因诺)


随着计算世界需求的增长,开源硬件的想法正在迅速发展。几家小型公司试用了模块化硬件,为客户提供了使用首选硬件模块进行配置的选择。这个想法令人兴奋,使用户能够为不同供应商的扬声器、摄像头和网络模块使用一流的硬件,并创建他们想要的任何设备。


但这种方法未能转化为可扩展的产品和消费者的大规模采用。原因可以追溯到缺乏能够使硬件模块化真正可用的驱动硬件代码。孤立和极度捆绑的开发使得最终产品几乎不可能实现模块化。随着处理器达到违反摩尔定律的地步,前所未有地需要突破性的创新,以汇集该行业的主流智慧。


当我们看到硬件领域对开源的需求时,先驱们可以从开源软件兄弟那里吸取一些教训。开放源代码软件旨在弥补领先供应商提供的软件的性能差距。因此,重点从来没有放在用户友好性上,而是放在具有挑战性的环境中更高的可靠性和代码性能上。


Linux成为一种流行的服务器操作系统。MySQL在这一领域纯粹凭借体系结构健壮性和模块化方法的优点向Oracle提出了挑战,并解决了单片体系结构的缺点。今天,我们看到亚马逊将几乎所有的软件模块作为一项单独的服务出售,这在早期的单片软件哲学中是不可能的。


关键问题是,Linux对于开源硬件的等价物是什么?挑战在于硬件的复杂性,这使得几乎不可能构建一种类似Linux的粘合剂来将所有硬件连接在一起。因此,在建立民主硬件生态系统方面,物理、法律和经济障碍从未受到真正的挑战。在第一部分中,物理限制相当复杂,并限制了真正的Linux等价物的发展,以实现开源硬件的突破。但无线接入网络(RAN)等开放硬件5G的出现表明,想象和创造5G是可能的。


下一个关键问题是,像RISC-V这样的指令集架构(ISA)是否能像Linux为各种异构组件的平滑同化让路一样,引发开源硬件的激增。如果是这样的话,是什么阻止了早期玩家建立这样一个生态系统是很重要的。


<img data-lazy-fallback="1" decoding="async" src="https://uploads.9icnet.com/images/aritcle/20230420/img20210323023758Is-open-source-hardware-a-lost-o_2_w700_h707.jpg">

图3:Microsemi在其FPGA设计中实现了RISC-V核心。(来源:微型芯片)


很长一段时间以来,Arm一直充当着知识中心的角色,为那些不愿意受制于流行选项的玩家提供了最好的指令集。RISC-V在开源硬件领域提供了一个独特的机会,在Arm有可能被整合成一家大型半导体公司后,它有可能成为黄金标准。


引发大规模采用


接下来的挑战在于新工具的学习曲线。在令人难以置信的一段时间里,硬件行业在验证RTL代码的方式上没有发生重大变化。SV-UVM是一个事实上的选择,它已经逐渐发展,并创造了一个重要的舒适区。创造一个新的解决方案并期望人们愉快地采用它是一项挑战。价值必须大得多,才能引发新设计和验证工具集的大规模采用,从而创造出优雅的硬件设计。


在PCIe、USB、OpenCL和OpenCV等开源硬件规范中也有成功的案例,然而,真正的开源硬件之路要经历生产难题。这将涉及下一代台积电的出现,它可以支持灵活的运输,并创建与开源硬件新世界相一致的RTL验证下线的端到端管道。说起来容易做起来难,因为在硬件方面,与投资不巨大的软件不同,每一层都是以紧密耦合的方式构建的,而且拆除为开源硬件让路的成本很高。


现有工具的渐进演变可能需要一个世纪才能达到改变业务的开源硬件阶段。解决方案是用一个明确的路线图开启一个不同思维和分离的新时代。除非开源硬件的先驱们找到端到端问题的答案,否则采用和建立事实上的Linux等效系统将受到有限的接受。对设计工具和生产的投资需要通过大规模的技能再培训来获得成功,以使新的工具链被设计社区大规模采用,从而创建敏捷的硬件开发。


>>这篇文章最初发表在我们的姐妹网站上,电子数据网络.




普拉桑特·阿加瓦尔曾在STMicroelectronics、Samsung和Solarflare Communications担任各种战略、营销和产品管理职务。