开源硬件:极客们的伟大理想

  自 Dennis Allison 在 1975 年发布它的 Tiny BASIC 以来,他倡导的开放、共享的思想得到了多数开发者的认同,这些年,软件开源取得了令人瞩目的成绩。同时,他那句 “让我们站在彼此的肩膀,而不是彼此的脚趾上。”也变成了开源软件运动的名言。

  如今,基于开放、共享理念的开源软件运动正掀起一场硬件开源运动。开源硬件,指与自由和开放源码软件相同方式设计的计算机和电子硬件。开源硬件开始考虑对软件以外的领域开源。

  这个词主要是用来反映自由释放详细信息的硬件设计,如电路图、材料清单和电路板布局数据,通常使用开源软件来驱动硬件。

  共享逻辑设计连同可编程逻辑器件之重构,也是一种形式的开源硬件。

  自 20 世纪 90 年代末,工程师们就已经想到了一些方法来将开源的概念应用于计算机和电子硬件。而主要的障碍当然是软件很容易复制并且可以被免费复制,而硬件则由实实在在的物体构成的 — 用 ">Chris Anderson 的话来说就是 “原子的而非比特的”。另外,硬件基本上都是受专利保护,而不是受版权保护的,而专利的获得和捍卫是很昂贵的。

  与软件开源相比,硬件开源做起来要困难得多,那么,“开源硬件”将来会进入大众的视线吗?

  开源软件流行的秘密

  在谈开源硬件之前,让我们先来看一下开源软件为什么会流行。普通的用户绝对不会在乎一款软件是否开放源代码,使用什么许可协议。他们唯一关注的是能不能花最少的钱用上最好的软件。那么,开源软件又是怎么做到便宜和好用的呢?

  1、免费

  开源软件最吸引人的地方毫无疑问是它的免费。相比于 Windows 几百上千的价格,可以自由传播,自由使用的 Ubuntu 早已向前迈了一大步。对于嵌入式系统而言,开源的系统可以降低设备制造成本,实惠消费者也是不争的事实。

  2、高质

  优秀的开源项目往往能吸引大量的技术天才来协助开发。于是最终发行的软件在质量上也不会低于收费软件。就质量上 PK,开源的 Virtualbox 也没有比收费的 VMWare 逊色多少。

  3、跨平台

  作为一个Mac用户,我常常为找不到那些优秀的 Windows 平台软件的 Mac 版而苦恼。但是对于开源软件则没有这个问题。一个优秀的开源软件即使没有“小众操作系统”的版本,也会有爱好者自己编译。最终,优秀的开源软件常常是完美支持多平台的。例如大名鼎鼎的 AutoCAD 不原生支持 Mac,但是同样是 CAD 软件,开源的 Archimedes 却同时支持 Windows 和 Mac.所以如果我常常要在两种系统间来回切换,我显然会选择 Archimedes 来减少麻烦。

  4、定制性强

  一个优秀的开源软件周围常常会有数不胜数的插件。于是软件也就会可以通过安装插件来迎合每个人的需求——如果不理解,去看看 Firefox 那恐怖的插件库吧。

  5、问题修复及时

  是软件就会出问题,这是已经被无数次证实的真理。而开源软件总是可以依靠群众的智慧,在第一时间修复问题。根据Ed bott的博客文章,Ubuntu 和 Fedora 的更新发布频率都远高于 Windows.

  目前,已经有很多成功的开放硬件项目。

  1、Power.org

  2004 年,IBM 创建了 Power.org 作为其 Power Everywhere 创意的一部分,将 Power Architecture? 建成了一个开放硬件项目,具有免费许可的标准、设计和规范。IBM 在 2006 年宣布了向研究和学术机构免费开放 PowerPC? 405 core 的计划,到目前为止,有 40 多家大学参加了这个项目。

  2、OpenSPARC T1

  Sun Microsystems 也紧跟着在 2006 推出了 OpenSPARC T1,这是其成功的 SPARC 处理器的一次全开放实现。目前,有三个基于 Reduced Instruction Set Computer (RISC) 的 SPARC 架构的全开放实现,源代码用 Verilog HDL 编写,在 GNU Public License (GPL) 许可下发布。

  3、BeagleBoard

  BeagleBoard 是一个基于 Texas Instruments 的 Open Multimedia Application Platform 3 (OMAP3) system on chip (SoC) 的单板计算机,它包括一个基于 ARM 的微处理器和一个数字信号处理器。BeagleBoard 使用了与很多智能手机和上网本相同的处理引擎,使它足够强大,完全能够运行一个完整的 Linux 发行版和提供高分辨率视频。BeagleBoard 受一个规模很大的社区支持,而它的设计文档,包括生产用的印刷电路板 (PCB) 的架构草图,均可免费下载得到。而且它还孵化了几个相关的项目。

  4、Arduino

  Arduino 是一个面向终端用户设计的微处理器,具有易学易懂的编程模型、一个可供任何人使用的全开放设计,以及一个由文档、扩展板、派生产品和社区组成的大型生态系统。根据 O'Reilly Publishing 的 Make 杂志及每年的 Maker Faire — 喜欢向项目中添加灵活的电子特性(从闪光发光二极管到复杂的飞机导航系统)的硬件发烧友,它已经被 DIY 爱好者和玩家推崇的、发展得如火如荼的 “Maker” 运动广泛采用。

  5、OpenCores.org

  OpenCores.org 是一个始于 1999 年的开放硬件机构的先驱,它是开放处理器核的门户,提供了在各种开放许可下提供的诸多处理器核的设计文档,包括一个免费的 RISC 计算平台、几个微控制器、两个 SoC 以及一些算法、通信和其他的核,其中大多都是用 Verilog HDL 描述的。

  开源硬件流行的基础:可编程逻辑器件(PLD)

  不像硬件,软件的的开发,传播和部署几乎可以做到零成本。 但是如果使用“一次性”的电路,开源硬件别说投入大规模使用,连开发都成问题——开发者必须忍受极其缓慢的模拟器。但是,可编程逻辑器件的存在给开源硬件带来了希望。

  简单的说来,可编程逻辑器件就是一个存储器加上一个逻辑门阵列。存储器上的数据可以控制逻辑门之间线路的通断。有的可编程逻辑器件甚至可以反复刷写,多次改变内部的电路排列。

  如此,开源硬件也变得如软件一般可以“零成本开发,零成本部署”了。

  开源软件的优点可以移植到硬件上吗

  毕竟软件和硬件是不同的。开源软件的优势在硬件上仍然存在吗?

  1、价格

  一眼看来,似乎开源硬件会有价格上的优势,因为产品价格不包含可观的研发成本。但是硬件早已不是可以“动手制作”了。然而,订做小批量的产品是非常昂贵的。让爱好自由的极客统一起来订上大批量的开源硬件又是几乎不可能的事。因此唯一可行的把开源硬件设计“落实”的方法就是把电路置于可编程逻辑器件当中。

  2、品质

  开源软件往往是由一个庞大的开发者社区“催熟”的。但是开源硬件的开发者还不够多。但这不是个问题,毕竟开发者是可以培养的。最终,优秀的开源硬件设计是完全有可能出现的。

  3、跨平台

  很遗憾,硬件是无法“跨平台”的。举个大家熟悉的例子:即使是同为 x86 架构,Intel, AMD 和 VIA 的处理器还是差异巨大的。因为整个平台的不同,所谓的移植实施起来难度也大到几乎不可能实现。有人可能会提到全美达的 Efficeon ,但是这样的架构在可编程逻辑器件当中即使能实现也不会有满意的性能,而且还有各平台针脚定义不同的问题。

  4、定制性

  开源硬件可以通过制订内部总线标准去实现扩展性。但是接下来的问题是可编程逻辑器件的容量往往会极大的限制硬件的扩展性。

  5、更新

  可编程逻辑器件的使用让零成本更新硬件成为现实。于是更新的问题并不会过多阻碍开源硬件的发展。

  可编程逻辑器件使硬件性能和功能失去竞争力

  前面提到,可编程逻辑器件让开源硬件的传播成为可能。但立于可编程逻辑器件之上的硬件还可以依靠性能和功能去打动用户吗?

  可编程逻辑器件的原理是由存储器内的数据决定逻辑门之间线路的通断。所以可编程逻辑器件的结构决定了它不能承载太复杂的设计,而且功耗高,速度慢。所以,可编程逻辑器件的使用不仅限制开发者的思维空间,而且拖慢速度。对于移动设备而言,可编程逻辑器件还会降低续航能力。

  硬件开源流行?极客们的伟大理想

  但我们知道,按照现有的科技和组织方式,开源硬件只会在极客当中传播。如果想要“开源硬件” 在大众中得以普及,除非开源硬件设计足够成熟,产品能够满足大众的个性化需求,而且DIY足够简单,这样开源硬件才有可能大众化。

  让开源硬件达到跟开源软件一样的程度,现阶段还只是极客们的一个伟大梦想。但我深深得为这种极客精神所折服。

时间: 2024-10-25 15:49:58

开源硬件:极客们的伟大理想的相关文章

新果壳电子:两位男主角的极客梦

顾晓斌(左)和陈大年 一个果壳,全新的果壳,在北京现身.昨日下午,总部位于上海的果壳电子,在北京召开夏季新品发布会.尽管果壳2009年已经成立,但这仍然不啻为一次全新的亮相:新的架构.新的CEO.新的品牌.新的产品线.新的节奏-- 这场发布会开场播放了一段黑白色调的宣传片,几乎是苹果当年<Here's to the crazy ones>广告片的中译翻拍版.借用这一桥段,果壳显然认同那句:只有那些疯狂到认为自己可以改变世界的人,才可以真的改变世界. 果壳极客梦 在新CEO顾晓斌的带领下,换用新

新果壳电子的极客梦:两位男主角 与盛大无关

中介交易 SEO诊断 淘宝客 云主机 技术大厅 新浪科技 孟鸿 一个果壳,全新的果壳,在北京现身.昨日下午,总部位于上海的果壳电子,在北京召开夏季新品发布会.尽管果壳2009年已经成立,但这仍然不啻为一次全新的亮相:新的架构.新的CEO.新的品牌.新的产品线.新的节奏-- 这场发布会开场播放了一段黑白色调的宣传片,几乎是苹果当年<Here's to the crazy ones>广告片的中译翻拍版.借用这一桥段,果壳显然认同那句:只有那些疯狂到认为自己可以改变世界的人,才可以真的改变世界. 果

果壳极客梦

摘要: 顾晓斌(左)和陈大年 一个果壳,全新的果壳,在北京现身.昨日下午,总部位于上海的果壳电子,在北京召开夏季新品发布会.尽管果壳2009年已经成立,但这仍然不啻为一次全新的亮相 顾晓斌(左)和陈大年 一个果壳,全新的果壳,在北京现身.昨日下午,总部位于上海的果壳电子,在北京召开夏季新品发布会.尽管果壳2009年已经成立,但这仍然不啻为一次全新的亮相:新的架构.新的CEO.新的品牌.新的产品线.新的节奏-- 这场发布会开场播放了一段黑白色调的宣传片,几乎是苹果当年<Here's to the

《R的极客理想——高级开发篇 A》一一2.4 R语言中的遗传算法

2.4 R语言中的遗传算法 问题 如何用R语言进行遗传算法的计算? 引言 人类总是在生活中摸索规律,把规律总结为经验,再把经验传给后人,让后人发现更多的规律,每一次知识的传递都是一次进化的过程,最终形成了人类的智慧.自然界的规律,让人类适者生存地活了下来,聪明的科学家又把生物进化的规律,总结成遗传算法,扩展到了更广的领域中.本节将带你走进遗传算法的世界.2.4.1 遗传算法介绍 遗传算法是一种解决最优化的搜索算法,是进化算法的一种.进化算法最初借鉴了达尔文的进化论和孟德尔的遗传学说,从生物进化的

《R的极客理想—工具篇》—— 导读

前 言 为什么要写这本书 我是一名程序员,前后做了10年的程序开发工作.在这10年间,我从程序员一路做到架构师,经历了太多的系统和应用.我做过手机游戏,写过编程工具:做过大型Web应用系统,写过公司内部CRM:做过SOA的系统集成,写过基于Hadoop的大数据工具:做过外包,做过电商,做过团购,做过支付,做过SNS,也做过移动SNS.以前只用Java,然后开始用PHP--如同其他程序员一样,我一度陶醉于追求各种技术的创新,但始终有一个问题困扰着我,那就是如何才能够将我所掌握的技术转变成价值?这就

《R的极客理想——高级开发篇 A》一一1.1 R语言知识体系概览

1.1 R语言知识体系概览 问题 如何高效地学习R语言? 引言 最近遇到很多想转行做数据分析的程序员,他们刚开始学习R语言.很多人以为有了其他语言的编程背景,学习R语言就是一件很简单的事情,因而一味地追求速度,但不求甚解.有人说2周就能掌握R语言,但其实掌握的仅仅是R语言的语法,只能算是入门. R语言的知识体系并非语法这么简单,如果都不了解R的全貌,何谈学好R语言呢?本节将介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言.1.1.1 R语言的知识体系结构 R语言是一门统计语言,主要用

《R的极客理想—工具篇》—— 1.5 多人在线协作R开发RStudio Server

1.5 多人在线协作R开发RStudio Server 问题 R语言开发,哪个工具最好用? 引言 RStudio是R语言开发中的利器,是最好用的R语言IDE集成环境.RStudio Server更是利器中的神器.不仅提供了Web的功能,可以安装到远程服务器上,通过Web进行访问,还支持多用户的协作开发.如此神器,快来动手试一下吧. 1.5.1 RStudio和RStudio Server RStudio 是一个强大的.免费的.开源的R语言集成开发环境的应用软件,可以安装在Windows.Linu

《R的极客理想——高级开发篇 A》导读

前 言 为什么要写这本书本书是我写的"R的极客理想"系列丛书的第二本,主要介绍了R语言本身的核心技术.R语言的高级开发应用.R语言与其他学科及知识领域的跨学科综合应用.其实,早在我的第一本书<R的极客理想--工具篇>中,就已经介绍了R语言的30多个工具包的使用方法,并以IT人的角度,告诉读者如何高效地使用第三方R包,把原有IT知识运用到R语言的学习过程中.但由于一本书的篇幅有限,<R的极客理想--工具篇>只讲了如何使用R语言,没有讲原理.而本书将弥补这一遗憾,主

《R的极客理想——高级开发篇 A》一一2.3 二条均线打天下

2.3 二条均线打天下 问题如何用R语言编写金融算法模型? 引言移动平均线(MA)是股市中最常用的一种技术分析方法,用来在大行情的波动段找到有效的交易信号.移动平均线不仅简单,而且有效,对股市操作具有神奇的指导作用.据金融从业人员说,均线模型有效地打败了大部分的主观策略,是炒股.炒期货的必备基本工具.那么本节将深入研究一下均线模型如何在股市中发挥作用.2.3.1 移动平均线移动平均(moving average,MA)线是以道·琼斯的"平均成本概念"为理论基础,采用统计学中"