What is open source hardware


 

What is open source hardware?

Hardware and software are the basic concepts of modern digital computing and device design. They are the bricks and mortar of the digital age. Hardware is physical circuitry and moving devices, while software is purely electronic instructions that tell the physical hardware what to do. Just as building a house requires blueprints, software requires source code, or instructions that are converted into a program. Software source code is readable by humans, while compiled software programs consist of 1’s and 0’s and can only be understood by computer hardware.

 

Likewise, hardware too requires blueprints. These blueprints can take many forms; everything from drawings of circuit diagrams, to descriptions of circuit behaviors, to detailed files that enable others to rebuild the printed circuit boards. While software is typically expressed in a text-based form that reads like a series of logical or mathematical expressions, hardware diagrams and circuit description files are more like engineering blueprints or architectural diagrams. They are far more closely linked with the physical world, and so physical proximity and layout are important in hardware design.

 

Open source software is a movement that became mainstream sometime in the mid-1990’s. Prior to the mid-1990’s, most software was distributed only as compiled programs of 1’s and 0’s that only computers could understand. Open source software referred to the practice of distributing the source code along with the compiled program. This meant that anyone else could pick up the source code, make modifications, fix bugs, add features, and redistribute those changes to others.

 

Open source hardware, by extension of the software definition, is the practice of distributing along with physical electronic hardware, the set of blueprints or behavioral descriptions that allow others to understand, modify, and even recreate the original hardware. This means that hardware is now more approachable, easier to tinker with, and easier to customize to individual needs.

 

There are no specific guidelines on what needs to be distributed along with a piece of hardware to make it “open source,” mostly because there are very few standards in hardware design.  Unlike software, where there is usually an underlying computer language shared across programs (i.e. Linux is built on the standards set by the C programming language), hardware is so broadly defined that it is extremely difficult to establish such narrow, shared standards or design rules.

 

In the absence of shared standards, therefore, here’s a proposal for several criteria that all “open source hardware” devices should aspire to meet:

 

 

The first two guidelines relate to the technical nature of the device. They suggest a device should be technically approachable, and easily understandable. Modularity is important, because it promotes reverse engineering and modular additions (by comparison, a tightly integrated device is quite difficult to change or extend). The next two guidelines relate to the cognitive process of understanding a device, and changing its behavior. As device and product designers, this typically means providing either documents or access to the creators of a device, to help users adapt the device to their own needs. Finally, the last guideline – and perhaps the most controversial – relates to the economic nature of open source hardware. This rule suggests that, like open source software, the economics of production are closely linked to the distribution and adoption of the product. This feels largely counter-cultural to many product design institutions today, who are used to making between 50-100% retail margins on their products. By exposing this, device users can select and buy hardware that really is worth the price (e.g. based on the device’s adherence to open source hardware principles).