开源硬件会像开源软件给软件业带来的影响那样,也给硬件相关技术(以及硬件团队自身)带来巨大发展吗?这也许是每一个硬件工程师(当然也包括软件工程师)都会思考的问题。硬件与软件毕竟不一样,本文主要从硬件开源与软件开源的区别的角度,来简单说说硬件开源为什么那么难。
首先我们要明确的是:硬件的开源工作远远要比软件复杂。
为什么呢?因为硬件工程相对于软件工程而言,有着以下几个本质的区别:
1、模块化,标准化,以及修改的便捷性
软件产品都有着定义完整,并且可以随时调整输入输出。一旦一个软件模块编写运行测试通过,那么这个模块就可以被视作黑盒子,被另外一个完整定义的模块调用运行。只要软件之间的接口不变,那么各个模块之间的逻辑就不会发生变化,这就使得软件的开发人员之间可以仅仅通过定义好的接口来互相合作,而无论这些开发人员身处何处。
而在硬件领域,工程师们就没有那么幸运了。这个世界上不存在只要知道接口就可以加入设计使用的硬件。硬件的选型是一件很麻烦的事情,即使工作很多年的硬件设计师,在选用从未使用过的硬件设备时,也很有可能在接口电压或是时钟频率的匹配这种“小事情”上栽跟头 —— 随便哪里冒出来的一个接触电阻和寄生电容就可能把整个电路给弄砸了。

首先我们要明确的是:硬件的开源工作远远要比软件复杂。
为什么呢?因为硬件工程相对于软件工程而言,有着以下几个本质的区别:
1、模块化,标准化,以及修改的便捷性
软件产品都有着定义完整,并且可以随时调整输入输出。一旦一个软件模块编写运行测试通过,那么这个模块就可以被视作黑盒子,被另外一个完整定义的模块调用运行。只要软件之间的接口不变,那么各个模块之间的逻辑就不会发生变化,这就使得软件的开发人员之间可以仅仅通过定义好的接口来互相合作,而无论这些开发人员身处何处。
而在硬件领域,工程师们就没有那么幸运了。这个世界上不存在只要知道接口就可以加入设计使用的硬件。硬件的选型是一件很麻烦的事情,即使工作很多年的硬件设计师,在选用从未使用过的硬件设备时,也很有可能在接口电压或是时钟频率的匹配这种“小事情”上栽跟头 —— 随便哪里冒出来的一个接触电阻和寄生电容就可能把整个电路给弄砸了。
