全面解析开源软件的发展历程

描述

过去十年是由各个技术领域的开源创新所定义的。该软件堆栈的可公开访问性质使开发人员社区能够交换代码并实现构想,以在组织范围之外构建协作杰作。广大社区很长一段时间都没有意识到这一趋势。最终,庞大的数量和质量赢得了许多拥护者,开源成为事实上的软件黄金标准,但是开源硬件又如何呢?

随着软件的发展,硬件开发仍然处于孤立状态,并且以公司为中心以创造竞争优势。硬件的历史充满了导致协作规范出现的非协作运动。有太多的例子表明,孤立的创新最终导致了市场的分散。专有性并没有成为可持续的业务优势,而是成为了瓶颈,并最终导致了该标准的终止。索尼BlueRay就是一个这样的例子。

一个可能的原因可能是硬件是通过IP保护实现业务竞争力的源泉,因此公司希望将其保留在内部。显然,这种方法尚未扩展,我们目睹了硬件平台的增长要慢得多。例如,当精益时代出现时,该行业还没有准备好,但出现了要求苛刻的人工智能(AI)用例。现有的参与者试图推动传统的FPGA,GPU和CPU解决方案,这对于不断发展的推理行业所需的计算而言并不理想。长期以来,Arm不断创新,并提供了非常完善的指令集,但最终,它也未能跟上步伐。

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

图1 Arm及其指令集架构(ISA)多年来一直是知识中心。资料来源:Arm

开源秘密酱

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

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

开源提供了经典的营销课程:用户甚至在意识到之前就已经是客户。当他们意识到这一点时,他们在堆栈中使用了如此多的开源,因此最好购买许可证。从Apache孵化许可证到MongoDB,Elastic和Cockroach提供的更加商业友好的许可证,该行业已经走了很长一段路。这样一来,开源技术便在最初的日子里无需任何明显的营销手段就开创了免费增值的先河。

开源软件成功的秘诀在于发现任何新旅程的核心问题,并让业务模型随着时间的流逝而出现。当您解决更多重要问题时,您对源代码的需求不断增长,从而导致项目规模扩大,从而吸引了更多资金。这就是为什么开放源代码项目的前四分之一会产生巨大的开发人员吸引力,而其中大多数都是免费的社区项目。

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

Linux的出现

如今,开放源代码软件在代码大师班和业务模型方面已有了长足发展。每当一家领先的公司参与开源开发时,它就会成为创建庞大而持久的堆栈的催化剂。

Google开创了各种成功案例,例如Android移动操作系统,TensorFlow机器学习和Kubernetes,用于部署,扩展和容器化的应用程序管理。企业家致力于解决问题的年轻创业公司有几个例子。随着大众对问题的关注,解决方案的规模和数量都在增加,从而带来了业务成功的故事。

在这一增长过程中,关键组件是Linux的到来。它充当可伸缩的主干,可以吸收许多不同的组件和硬件,并无缝提供高性能。无论是提供健壮的主干网来处理严格的时序要求,还是提供空间来容纳处理体系结构特定元素的不同方式,Linux都能满足苛刻的用例,并成功交付成果。

构建类似Linux的胶水

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

图2 Arduino微控制器板证明了开源硬件的承诺。资料来源:Arduino

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

但是这种方法未能转化为可扩展的产品和消费者的广泛采用。原因可以追溯到缺少驱动硬件代码,而这些代码可以使硬件模块化真正可用。孤零零,极为紧密的开发使得几乎不可能在最终产品中实现模块化。随着处理器达到违反摩尔定律的地步,对突破性创新的需求空前地需要,以汇集该行业的主流智慧。

当我们看到硬件领域对开源的需求时,先驱者可以从其开源软件弟兄那里借鉴一些经验教训。设想使用开源软件来弥合领先供应商提供的软件中的性能差距。结果,重点从未放在用户友好性上,而是在具有挑战性的环境中着眼于更高的可靠性和代码性能。

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

关键问题是,Linux等同于开源硬件吗?挑战在于硬件的复杂性,几乎不可能构建类似于Linux的胶水将所有硬件捆绑在一起。因此,建立民主硬件生态系统从未真正挑战过物理,法律和经济障碍。在第一部分中,物理限制非常复杂,并且限制了开源硬件突围的真正Linux等效产品的发展。但是,诸如无线电接入网络(RAN)之类的开放式硬件带来的5G分支的出现表明,可以想象并创建它。

下一个至关重要的问题是,像RISC-V这样的指令集体系结构(ISA)是否可以像Linux为各种异构组件的平稳同化所采用的方式一样,触发开源硬件的泛滥。如果是这样,阻止早期玩家建立这样一个生态系统的原因很重要。

图3 Microsemi已在其FPGA设计中实现了RISC-V内核。资料来源:Microchip

长期以来,Arm充当了知识枢纽,并带来了最佳指导集,供不愿与普遍选择联系在一起的玩家使用。RISC-V在开源硬件领域提供了独特的机会,并且在Arm可能被折叠成大型半导体装置之后,有可能成为金牌标准。

触发大规模采用

随后的挑战在于新工具的学习曲线。在一个令人难以置信的时期内,硬件行业尚未见证其验证RTL代码的方式发生巨大变化。SV-UVM是事实上的选择,它已经逐步发展并创建了一个显着的舒适区。创建一个新的解决方案并期望人们乐于采用它是一项挑战。该值必须显着更大才能触发新设计和验证工具集的大量采用,以创建精美的硬件设计。

在开放源代码硬件规范(例如PCIe,USB,OpenCL和OpenCV)中有成功的故事,但是,真正的开放源代码硬件之路贯穿了生产难题。它将涉及下一代TSMC的问世,后者可以支持灵活的运输并为RTL-verification-tapeout创建端到端管道,并与新的开源硬件世界保持一致。说起来容易做起来难,因为与在硬件上投入不大的软件不同,在硬件上,每一层都以紧密耦合的方式构建了数十年之久,为拆除开放源代码硬件付出了巨大的代价。

现有工具的逐步发展可能需要一个世纪的时间才能达到业务变化的开源硬件阶段。解决方案是通过已定义的路线图,开启不同思维和突破的新时代。除非开放源代码硬件的先驱找到端到端问题的答案,否则采用和建立事实上的Linux替代产品将受到限制。对设计工具和生产的投资将需要通过大规模的重新技能来获得成功,以使设计社区大规模采用新的工具链来创建敏捷的硬件开发。

编辑:hfy

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分