September 2007

"Open Hardware is a thing - a physical artifact, either electrical or mechanical - whose design information is available to, and usable by, the public in a way that allows anyone to make, modify, distribute, and use that thing."

The TAPR Open Hardware License

"Open source hardware refers to computer and electronic hardware that is designed in the same fashion as free and open source software. Open source hardware is part of the open source culture that takes the open source ideas to fields other than software." Wikipedia

I have been involved in a number of debates on what exactly constitutes open hardware. While the definition is a bit harder to pin down than that of open source software, I believe hardware can be loosely placed into four categories of openness. They are, in order of least to most open: Closed, Open Interface, Open Design, and Open Implementation.

Closed: Closed hardware is any hardware for which the creator of the hardware will not release information on how to make normal use of the hardware, in such a way that that information may be freely shared with others. A sure sign of closed hardware is requiring the signing of an NDA to receive documentation on how to make use of a device.

"Whether or not a hardware device's internal design is free, it is absolutely vital for its interface specifications to be free. We can't write free software to run the hardware without knowing how to operate it. (Selling a piece of hardware, and refusing to tell the customer how to use it, strikes me as unconscionable.) But that is another issue." Richard M Stallman

Open Interface: In the case of Open Interface hardware, all the documentation on how to make a piece of hardware perform the function for which it is designed is available. In the case of computer hardware, this means that all the information necessary to produce fully functional drivers is available. This is the minimum level of openness that makes hardware useful to the open software community. Surprisingly, large amounts of integrated circuits fall into this category. Any device for which you can get a complete data sheet from the manufacturer, with no limitations on sharing the data contained within, meets the Open Interface definition.

Open Design: Open Design hardware is hardware in which enough detailed documentation is provided that a functionally compatible device could be created by a third party. It is not at all uncommon for the programmer's guides for a microcontroller to have complete instruction encoding formats, memory maps, block diagrams of the processor core, and other technical details that would make it possible to reproduce a compatible microcontroller. Open Design hardware allows you to see what was implemented and what it should do, but still keeps the finer details of how it was implemented closed.

Open Implementation: Hardware for which the complete bill of materials necessary to construct the device is available fall into the category of Open Implementation. In the realm of computer chips, this means the hardware definition language description of the device is available. For a circuit board, this would include the schematic. Everything needed to reproduce an exact copy of a device is available. This is the hardware parallel to the concept of open source software. The debate between 'open' and 'free' (libre) that exists in the software space exists for hardware as well. In this regard, the only hardware that can truly be claimed to be free, in the same manner that the Free Software Foundation defines free, is that which falls into the Open Implementation category. Unfortunately, unlike software, an idea and the desire to produce a hardware device that is free and open is not sufficient. Certainly in the semiconductor space, the ability to do so is beyond the individual and in most cases, beyond even a reasonably equipped development group.

Why Open Hardware?

Lourens Veen who is on the board of directors for the Open Hardware Foundation or OHF summarized the answer to this question as follows: "Essentially, this is a problem of freedom. We users want to be free to use the objects we own for any purpose and in combination with any other objects or software we choose or create. We should not be limited to using it only in ways that the manufacturer or some other, external, entity deems appropriate."

Several benefits can be achieved when hardware is made open to its users:

You can use it as you see fit: The quote from Lourens is actually a paraphrase of freedom 0 from the Free Software Foundation: the freedom to use software however you see fit, made in the context of hardware. This is effectively the philosophical underpinning for "Why Open Hardware"? The remainder of the Free Software Foundation's freedoms apply, to some degree, to the hardware realm as well.You can figure out how it really works: This corresponds to the FSF freedom 1: the freedom to study how the something works and to adapt it to your own needs. Far from being a simple matter of curiosity, being able to understand how a device works can enable you to make much better use of it. For instance, if there are two ways of performing the same operation in a device, being able to understand the internal operation allows you to determine the more efficient of the two ways for a given situation.

You can make it better for everyone: This echoes the FSF freedom 3: the freedom to improve the hardware and to release your improvements so that others may benefit as well. This is the most altruistic of the philosophical reasons for open hardware. Much of the innovation throughout history has been due to individuals building on preexisting ideas and sharing the results. Building on preexisting hardware is no different.

You will notice I skipped over freedom 2: the freedom to redistribute copies so you can help your neighbor. It doesn't map quite so well into the hardware world; not for philosophical reasons so much as for practical ones. In the hardware world, especially that of semiconductors, the financial barrier to making copies of hardware is such that redistributing physical copies is not generally viable for an individual. In order to enable freedom 2, you have to embrace a number of more practical, and commercially interesting reasons for using open hardware. These are the reasons a business might be interested in producing a device based on open hardware.

Open hardware can sell more units: By making a device open, you gain access to market segments that would not be available otherwise. Over the past few years a number of home firewall/router devices have been found to be running a version of Linux. Further, in some cases, it is possible to modify the operating system running on these devices to allow them to provide other functionality potentially unrelated to their original purpose. In these cases, the ability to modify the functionality of the device has been discovered by reverse engineering. Still, you now have people buying units, sometimes several, to use for other reasons. A unit with a lower barrier to modification, due to available open documentation, will generate an even higher level of interest within certain groups leading to sales that otherwise would not have occurred.

Open hardware has the potential to speed development of new devices: Most complex hardware devices are made up of many smaller building blocks many of which are not specific to that device, just like most programs use general purpose libraries for many functions. Large hardware companies build up libraries of hardware building blocks over time, but in many cases multiple companies end up re-implementing the same basic hardware blocks. As an analogy, I don't write my own SSL library when I need SSL functionality in software; I go pull down the OpenSSL library and use it. Why should I re-design a hardware multiplier when I need one for a micro controller ALU (arithmetic logic unit)? It should be noted that this effect of open hardware, reducing design and implementation time by providing readily-available libraries, tends to benefit small companies more than large ones. This can have the effect of reducing the barrier to entry into a market segment and allowing more resources to be focused on the innovative part of the product which in turn helps increase competition. The community will help you support your product. When talking about personal computer hardware, you run into the problem of drivers. Anyone who has tried to use cutting edge hardware in Linux, BSD, OpenSolaris, Plan 9, or other more esoteric operating systems is keenly aware that much new hardware is supported poorly, or not at all. Many companies may not see a sufficient ROI (Return On Investment) for developing drivers in house for non-Windows operating systems. And in truth, it may not be financially justifiable. However, if I as an end user cannot use brand X hardware on my nice shiny new Linux box because I can't get drivers, I am going to go by brand Y hardware for which I can get good, working drivers even if the brand Y hardware provides less functionality. The company making brand X cards just lost a sale, all because there weren't drivers available. This is not due to a lack of people willing to write drivers for such hardware. It is due to a lack of the necessary documentation on how to make the hardware work.

Why the Open Hardware Foundation?

The Open Graphics Project or OGP is an effort to design, implement, and manufacture a free and open 3D graphics chip set and reference graphics card. The OGP was started because existing consumer-level graphics adapters will only work to their full extent with certain specific operating systems, using proprietary drivers. This puts owners of such a card at the mercy of its manufacturer for as long as they are using it, especially on less mainstream, thus less supported, platforms that are left prone to security and maintenance problems. The Open Hardware Foundation (OHF) came into being as on offshoot of the Open Graphics Project. Unlike software, hardware is a physical item and costs money to produce, lots of money. As an example, the initial run of Open Graphics chips is expected to cost around $2M US to produce, just for the graphics controller chip. To help offset this cost, the project founder, Timothy Miller, started Traversal Technology Inc. Traversal is a for-profit corporation aimed at commercializing and licensing the Open Graphics core. One of Timothy's concerns in forming Traversal was the company's interaction with the open source community. Because of this concern, Tim suggested the formation of an organization to safeguard the interests of the free/open source community. With Traversal, or any commercial entity interested in making open hardware, such an organization could serve as a guide or reality check, helping the hardware vendor understand the needs and ideals of the people who would buy their hardware.

For these reasons and others, the Open Hardware Foundation was created. The OHF is a non-profit corporation whose stated goals are to facilitate the design, development, and production of free and open hardware. Those of us who formed the OHF believe in free hardware and free software and many of us participate in other open source projects. However, it is much more difficult to turn a hardware idea into a physical device than it is a software idea into a usable program. One of the key focus areas of the OHF is the production of open hardware. We want to be able to go to our local computer retail store and buy a piece of hardware that is at least an open design and at best a free and open implementation. The relationship between the OHF and Traversal Technology is one of partnership. Each brings with it key assets. Traversal has IC (integrated circuit) design experience, the desire to make a commercially-successful product, and the desire to contribute back to the community by making that product free and open.

The OHF brings the desire to see a free and open hardware product made available to the average user, the resources of the free and open source community, and the capability to bridge the gap between community developing free and open hardware and the business world producing the hardware.

From a financial perspective the OHF will enable the community to pool its resources to help fund the production of the OGP by providing Traversal a known number of sales. The OHF can then provide the OGP based cards it purchased from Traversal to developers who are working on open source drivers and firmware for the card. Traversal benefits by having less financial risk associated with producing the graphics chip and the open source community benefits by having hardware

Share this article:

Cite this article:

Rate This Content: 
No votes have been cast yet. Have your say!