Open source, open licensing, free redistribution, collaborative, and community-based development – many hands make light work. They've done wonders for Linux, but can these concepts apply to hardware as well as software?
As reported on Linux.com in 2007, the inspiration for open hardware has been around quite awhile, almost exclusively in embedded and server hardware. A free SPARC implementation produced in 2000 (the LEON processor) and released under a dual GPL/LGPL license was the first open hardware platform.
The open hardware movement took off in 2005 with the advent of the popular Arduino microcontroller released under a Creative Commons license. And today dozens of open hardware projects exist, many capable of running Linux. Phillip Torrone has wrritten excellent overviews of the state of open hardware for Make: magazine in 2007, 2008, and 2009.
Current Open Hardware Projects
How about the state of the art in 2010? Let's take a look at some of the more popular projects and offerings that are in the open hardware space.
The Arduino microcontroller
The Arduino was designed from ground up as an open-source system. This simple controller is inexpensive (in the $30 range) and can be built either as a kit or from free plans on the Arduino website. The Arduino itself does not have enough processing power to run Linux, but its operating environment is completely open, as is the very robust software development kit (SDK), which runs fine on Linux (including 64-bit).
A large, active, and friendly community supports the Arduino, providing a wealth of documentation and training materials. The Arduino is also used in a number of educational and artistic ventures, including a course taught by Michael Shiloh at San Francisco State University, Electronics and Physical Computing [PDF]. It is the subject of numerous books and the basis of many art exhibits, electronics class projects, and Burning Man projects, and some excellent tutorials on using the Arduino with Linux are available from Linux Gazette and LinuxPlanet.
The BeagleBoard single-board computer
The BeagleBoard is a small reference platform created by a team of enthusiasts at Texas Instruments and selling for less than $200. It features a TI OMAP 3530 processor based on the ARM Cortex-A8, the same processor that runs the Motorola Droid and other smartphones. The BeagleBoard has enough memory and processing power to run several flavors of Linux, including Ångström Linux, Android, Ubuntu and MeeGo. The built-in DSP and graphics processor allow it to play 720p video while consuming only 2 watts.
The BeagleBoard's design documents have been released under a modified BSD license that enables interested parties to create clones as well as derivative products. Always Innovating is producing a hybrid tablet/netbook design based on the BeagleBoard.
A very active community of both professionals and amateur enthusiasts supports the BeagleBoard, with a tutorial for booting Linux on the BeagleBoard available at IBM developerWorks.
OGD1 Reconfigurable Computing Platform
In conjunction with LinuxFund, the Open Graphics Project is working on a fully open, reconfigurable computing platform, the OGD1. Unlike the high-performance processor in the BeagleBoard, this single-board computer is based on a field-programmable gate array (FPGA) that can be configured using a hardware description language (HDL). FPGAs are particularly useful for open hardware applications because of their reconfigurable nature, as the HDL program used to configure the FPGA can itself be open-source.
CupCake, RepRap, DIYLILCNC (CNC)
The Cupcake, RepRap and DIYLILCNC are open-source computer numerical control (CNC) devices. What that really means is these are fabrication devices: 3D printers (extruding plastic or metal) and 3D milling machines (essentially driving a router in three dimensions).
These devices, previously available only in the realm of industrial machines costing $10,000 and up, can now be built for less than $1000. These devices were actually designed, as open-source tools, to fabricate their own parts. There is even an open-source laser cutter in the works.
These are only a few, but the most popular and visible, of the open hardware projects currently available.
Using Proprietary Hardware Components
It is worth noting that most electronic component designs, open or otherwise, rely on proprietary components. For example, the Arduino uses a proprietary chip (AVR) made by Atmel.
The Arduino is still considered open hardware even though it relies on proprietary parts, just as a recipe for dinner is still valid if it calls for a branded ingredient. This is disputed by some, but most developers accept the reality of the situation: it is not always feasible to create every component in a complex design.
Licensing Open Source Hardware
The main issue with licensing open source hardware is that, well, it is hard. It is made of atoms instead of bits. Thus it does not have certain characteristics that make software so readily adaptable to an open-source model, the most obvious being no-cost copying. Atoms always seem to cost something.
On a deeper level, though, hardware is made up of two conceptual components: the physical components, which make up the expression of the design, and the design documents, from the Systems Reference Manual to the actual drawings and documents describing the hardware.
As intellectual property, the latter can be easily copyrighted and placed under any license appropriate to source code, although some licenses are more appropriate — for example, a license that requires source code (the design documents, in this case) with each copy of the finished product might be less attractive to a hardware developer than a license that merely requires making the source available. Moreover, design documents themselves contain layers of abstraction. LadyAda provides an excellent overview of the complex issues related to licensing layers of hardware documents.
Any open license that applies to software can be applied to hardware when applied to design and description rather than physical components. Hardware is commonly licensed under the TAPR Open Hardware License (created by the Tuscon Amateur Packet Radio organization), Creative Commons, MIT, GPL and LGPL, and BSD licenses, among others.
The TAPR license (currently at revision 0.3) is most likely to get OSI approval. For more information, read the latest Open Source Hardware license and join the discussion forum at the Open Hardware Summit site.
In the long run, licensing restrictions and permissions come down to the intent of the designer. Just as in software, there is no one-size-fits-all.
If all those projects are enough to whet your appetite, check out the upcoming 2010 Open Hardware Summit in New York City. Carefully positioned between the Embedded Systems Conference East (Boston, Sept. 20-23) and Maker Faire NY (Queens, Sept. 25-26), the Summit features Bruce Perens (OSI founder), Chris Anderson (Wired/DIY Drones), and Massimo Banzi (Arduino creator), among other open source and embedded hardware luminaries. Scheduled discussion tracks include business, productization, law, education and (of course) licensing.
Open hardware is rapidly evolving from a curiosity to a sound business practice. As Phillip Torrone says, "Hardware seems to be in the same state software was in the 1980s; lots of commercial developers, very few open source developers (or like the 1970s when only a few had computers at all). We'd like to see the world of hardware when there are millions of developers." Now is an excellent time to dive in.