我试图理解为什么开放硬件比软件更难获得。我试过在网上四处寻找,但找不到令人满意的解释。
我知道硬件更容易保持专有性,而逆向工程则更难(不可能)(对于 IC,而不是 PCB),但是为什么这会阻碍开放硬件计划呢?
是制造成本吗?是硬件设计缺乏共享知识吗?是否涉及复杂性?
随着 FPGA 的出现使得设计硬件变得如此容易(尽管它们本身也是专有的),我预计开放硬件将以比以往更快的速度起飞。
如果问错地方了,我很抱歉,但这让我困惑了大约一年,让我希望我选择计算机科学而不是计算机工程。
我试图理解为什么开放硬件比软件更难获得。我试过在网上四处寻找,但找不到令人满意的解释。
我知道硬件更容易保持专有性,而逆向工程则更难(不可能)(对于 IC,而不是 PCB),但是为什么这会阻碍开放硬件计划呢?
是制造成本吗?是硬件设计缺乏共享知识吗?是否涉及复杂性?
随着 FPGA 的出现使得设计硬件变得如此容易(尽管它们本身也是专有的),我预计开放硬件将以比以往更快的速度起飞。
如果问错地方了,我很抱歉,但这让我困惑了大约一年,让我希望我选择计算机科学而不是计算机工程。
每个人都可以在家里编辑源代码,很少有人有一个芯片制造厂来敲出几个定制芯片。字节可以自由创建和分发,材料不是。
还有一个问题是源代码是可移植的,虽然 CAD 文件等是可移植的,但有更多的开销和错误以及设置成本浪费材料。
3D 打印跨越了一些界限,对于(更老的)机械加工技术(包括零件和 PCB),也许付出一些努力也可以做到这一点。
编辑添加:重新阅读问题,也许是与 FPGA 相关的问题的意图,我会说它们目前对许多人来说仍然是一种黑暗艺术,只是不在大多数人的雷达上。就努力、理解和工具而言,进入门槛相当高。
开放硬件实际上并不难获得。Sparkfun、Adafruit 和 Arduino 等公司公开提供原理图和固件。我们也不要忘记为开放硬件做出巨大贡献的创客社区。还有开源硬件协会(但你可能已经知道了!)。
看起来开源软件确实比开放硬件更突出,但开放硬件已经存在——而且它很大。只需在 Instructables 上花 2 分钟,您就会看到。缺乏共享知识绝对不是问题。
但是,当然,您可能不会看到很多免费(如自由)verilog 或 VHDL 代码,但它们就在那里。看起来微控制器而不是 FPGA 真正推动了开放硬件/制造商社区的发展。
我看到你在评论中澄清了一些关于真正意义上的开放硬件的事情,人们可以从头开始自己的设计和制造,而不是基于专有部件发布设计。
它在很大程度上归结为制造成本和复杂性。以您的 OpenRISC 示例为例,我想到了三个主要选项,这些成本非常合理,但表明产品以数百到数千个单位生产,而不是数百万:
改用专有的 ARM 平台,并从 Atmel 或 20 多家其他制造商处购买芯片。成本说每个零件 5 美元,芯片有充分的记录和证明,设置成本/交货时间几乎为零。它们不需要太多的支持电路,而且很多都采用封装或廉价的原型板,可以很容易地手工焊接。
使用 OpenRISC 处理器,添加支持外设并加载到 FPGA 上。绝对是一个可实现的“在家”/开放硬件项目,而且设置成本也不高。然而,正如您所指出的,FPGA 仍然是专有的,而且包括支持电路在内的每个部件的价格更可能为 20 美元,更不用说许多封装更难以手工焊接。
使用 OpenRISC 处理器,添加支持外围设备并在您选择的晶圆厂获得 ASIC,您甚至可以购买自己的设施。在现有的制造厂制造 ASIC 将达到数十万个类型标记,购买您自己的设施进行生产将达到数亿个数量级。
要记住的另一件事是,虽然 FPGA 在某些设计中确实使事情变得更容易,但它们实际上只涵盖了数字领域。大多数实际设计需要大量模拟支持电路来执行其最终功能,因此 FPGA 可能不像您认为的那样是通用解决方案。
自由软件的“重新分发副本的自由”和“修改的自由”方面确实不能很好地转化为硬件。复制电路板需要工作和成本,而复制 ASIC(修改或其他方式)则更多。在可预见的将来,它根本不会在普通用户的范围内。
另一个因素是快速过时。一些开放的 UNIX 软件已经有 30 年历史了;GCC 大约 25 岁。开放式硬件在开始看起来非常过时之前通常会有更短的时间。对于人们真正想要开放的所有事物尤其如此:处理器、图形硬件、无线接口。
(你可以有一个开放的替代品,例如 555 或 LM741,这会更永恒,但有什么意义呢?它与当前的有什么实质性不同?)
“社区”硬件开发当然有空间,但这取决于拥有一个稳定、明智的*社区,该社区可以同意它想要什么并愿意为之付费。再次,需要大量的工作。
*(在 Raspberry Pi 中使用半封闭的 Broadcom 芯片吸引了一小群非常愤怒的投诉者。我认为这种事情会让明智的人远离进行开放 ASIC 设计所必需的项目. 更换大约需要 500 万美元和一年的工作,除非有灾难性的专利障碍。你必须失去受专利保护的视频解码硬件,并从 ARM 获得指令集许可。)