Open Hardware: Difference between revisions

From P2P Foundation
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
'''Open Hardware = Hardware that is the result of open designs, similar to open source code, and the result of collaborative work.'''
'''Open Hardware = Hardware that is the result of open designs, similar to open source code, and the result of collaborative work.'''
The concept of open hardware and [[Open Source Hardware]], seem to have exhaused themselves in their original formulation, and has been succeeded by a thriving Open Design movement [http://en.wikipedia.org/wiki/Open_design]




Line 51: Line 53:
=Differences between open hardware, free hardware, open hardware design=
=Differences between open hardware, free hardware, open hardware design=


From Graham Seaman, at  
By Graham Seaman, at http://opencollector.org/Whyfree/open_hardware.html




Line 76: Line 78:


=Specific difficulties of Open Hardware =  
=Specific difficulties of Open Hardware =  
By Graham Seaman, at http://opencollector.org/Whyfree/open_hardware.html


An important comment about the difficulty of developping it, as compared to open source:
An important comment about the difficulty of developping it, as compared to open source:
Line 90: Line 94:
I don't mean a requirement that you design your own phone from basic parts on up, or can only get a bare-bones phone that you then must seek out and add on (potentially conflicting) modules to give it any kind of real utility. I'm talking instead about an interface to the code that makes it easy for amateur designers to tweak the instructions without running the risk of easily breaking the final result. In effect, I imagine that we'll soon be in a world of "skins," "plug-ins," and "overlays" for the material world."
I don't mean a requirement that you design your own phone from basic parts on up, or can only get a bare-bones phone that you then must seek out and add on (potentially conflicting) modules to give it any kind of real utility. I'm talking instead about an interface to the code that makes it easy for amateur designers to tweak the instructions without running the risk of easily breaking the final result. In effect, I imagine that we'll soon be in a world of "skins," "plug-ins," and "overlays" for the material world."
(http://www.worldchanging.com/archives/004155.html)
(http://www.worldchanging.com/archives/004155.html)
=Open Design=
From the Wikipedia article at http://en.wikipedia.org/wiki/Open_design
"Open Design is a term that applies to the investigation and potential of open source and the collaborative nature of the internet to create physical objects. People apply their skills and time to projects for the common good, perhaps where funding or commercial interest is lacking.
Open design image
The "Open Design" movement is currently fairly nascent but holds great potential for the future in developing products and physical systems. There are certain barriers to overcome for open design when compared to software development where there are mature and widely used tools available and the duplication and distribution of code cost next to nothing. Creating, testing and modifying physical designs is not quite so straightforward because of the effort and time required to create the physical artifact."
(http://en.wikipedia.org/wiki/Open_design)





Revision as of 11:07, 18 May 2006

Open Hardware = Hardware that is the result of open designs, similar to open source code, and the result of collaborative work.

The concept of open hardware and Open Source Hardware, seem to have exhaused themselves in their original formulation, and has been succeeded by a thriving Open Design movement [1]


Definition

By Graham Seaman, at http://opencollector.org/Whyfree/open_hardware.html


"What is 'Open Source Hardware'?

Open-ness in hardware terms can have a whole range of meanings. In all the cases listed below, some hardware is open and some is not - but the trend is for open-ness to become more and more limited, restricting the freedom of designers to create or implement their own designs, and even of programmers to write the programs they wish.


Truly open hardware would have to satisfy all the requirements below:

Information on using the hardware must be available.

It sounds crazy that people could sell hardware and not tell you how to use it, but it is actually a growing trend. If a company sells any device which interfaces to a computer without publishing the interface specs, they then have a monopoly on interface software (or can sell the monopoly to a software company). WinModems and WinPrinters - which also cannot be supported by Linux - are a related problem. This aspect of open-ness in hardware is so closely linked with work on free software that the FSF, Debian, and FreeBSD are all among the sponsors for the Open Hardware Certification program which ... is a self-certification program for hardware manufacturers. By certifying a hardware device as Open, the manufacturer makes a set of promises about the availability of documentation for programming the device-driver interface of a specific hardware device.... sufficient documentation for the device must be available for a competent systems programmer to write a device-driver.


The design of the hardware must be available.

Designs can be free in exactly the same senses as software can be free.

If the design is published others can learn from it, improve on it, or even second-source the same device. Much digital hardware has never been open in this sense, creating a whole industry of reverse-engineering and patent claims and counter claims. But there have been exceptions; most notably, the SPARC architecture. Here the lessons from open-source software as a tool for companies with a minority market share have been successfully imported to hardware.

Although many designs have always been patented, there is also a long traditional of engineers borrowing and improving on designs that just 'float around'. Many of these can be found in various places on the Internet, but few of them have been gpl-ed or otherwise protected as `free' designs. The attempt to create IP design libraries which are available only for sale will tend to destroy this tradition (one such IP company is already `giving' away the Strasburg library as a free offer ...).


Design software for hardware must be available.

For many devices this has never been a problem -- until recently. For the old 74 series logic devices, enough information was always made available for people to be able to create free design tools. Processor manufacturers have always published their processor Instruction Set Architectures, so it has always been possible to write free compilers. Now it seems that even this may change - the ISA for the Philips Trimedia Processor is not available (it is a compressed VLIW and they consider the compression algorithm a trade secret).

But for other types of hardware, information about the underlying technologies is a commercial secret so that only the companies which own these secrets can create libraries or even efficient design tools which use them. This applies both to some types of VLSI design and to programmable logic: in the days of the first PALs, internal structure and programming details were widely published in order to expand the market. Now no manufacturer publishes the bit-stream format for programming FPGAs (the one exception, the Xilinx XC6200, now seems to have been dropped). As a result, the only design software available for these devices has been commercial software, and it has not been possible to create free software to make up for some of the deficiencies in these tools.


Summary


To fully qualify as 'open hardware':


1. The interface to the hardware must be explicitly made public, so the hardware can be used freely


2. The design of the hardware must be made public, so that others can implement it and learn from it.

3. The tools used to create the design should be free, so that others can develop and improve the design.


Differences between open hardware, free hardware, open hardware design

By Graham Seaman, at http://opencollector.org/Whyfree/open_hardware.html


"Many of the arguments over free hardware design consist of people from software and hardware backgrounds talking at cross-purposes. One cause of this is the simple fact that the word `software' refers both to source code and executables, while the words `hardware' and `hardware design' clearly refer to two different things. Using the word `hardware' as short-hand for both design and physical object is a recipe for confusion. The following terms have all been used in discussions of this topic.


  • Free hardware design refers to a design which can be freely copied, distributed, modified, and manufactured. It does not imply that the design cannot also be sold, or that any hardware implementation of the design will be free of cost. All the same arguments about the meaning of 'freedom' between supporters of the Free Software Foundation, and the supporters of BSD_style licensing for software unfortunately carry over to hardware designs.
  • Libre hardware design refers to the same class of design as free hardware design, but tries to make it clear that the word free refers to freedom, not price. The term sounds very clumsy to many English ears, but is of course natural for French speakers (and translations of it are natural to speakers of most languages, which do not use one word in both free beer and free speech).
  • Open source hardware refers to hardware for which all the design information is made available to the general public. Open source hardware may be based on a free hardware design, or the design on which it is based may be restricted in some way.
  • Open Hardware is a trademark of the Open Hardware Specification Program. It is a limited form of open source hardware, for which the requirement is that:


Sufficient documentation on the device must be available for a competent systems programmer to write a device driver. The documentation must cover all of the features of the device-driver interface that any user would be expected to employ. This includes input/output and control functions and auxiliary functions such as performance measurement or self-test diagnostics. Details of on-board firmware and the hardware implementation need not be disclosed except when necessary to make it possible to program a driver for the device.


That is, only a limited amount of information about the design need be available; possibly not enough, for example, to attempt a repair.

  • Free hardware is a term occasionally used as a synonym for open source hardware. It is a tempting term, since 'hardware' appears to be directly parallel to 'software', but suffers from blurring the distinction between design and implementation. The term free hardware is particularly confusing since it implies that the physical hardware, rather than its' design, is somehow free. This is not normally true in the cost sense, and is meaningless (except metaphorically) in a social sense. It seems simpler to avoid this term completely, except in it's cost meaning, as with the free computers given away by various social organizations."

(http://opencollector.org/Whyfree/definitions.html)


Specific difficulties of Open Hardware

By Graham Seaman, at http://opencollector.org/Whyfree/open_hardware.html

An important comment about the difficulty of developping it, as compared to open source:


"At first blush, the open source model doesn't necessarily seem like a good fit for physical objects. The reason comes down to replication: with open source software, I can give you a copy of (for example) Firefox without losing my own. With open source hardware, at present the best I can give you a copy of the instructions as to how to make your own (for example) microprocessor with your own equipment; it's the functional equivalent of saying "you want Firefox? Here's the source code -- go find a compiler and learn how to read and modify the code to work with your hardware." While this is hardly a barrier for people who already do have the necessary tools and skills, it's a major hurdle if open source hardware is ever to move beyond a few niche fields.

But replicability is something of a secondary effect of open source -- if you give someone a copy of a program's source code, it's hard to prevent them from giving away complete versions. The key elements of open source, accessibility and modifiability of the underlying instructions, apply just as readily to hardware designs as they do to software code. Moreover, the lack of replicability is something of an artifact of technology; that I can't send you a copy of a computer chip (or mobile phone, or fabber, or bacteria), only a design, is important only in that you can't just double click something and see that microchip (etc.) pop up in front of you.

As fabrication technologies take on an increasingly digital form, this distinction will become less clear. When I send you a copy of Firefox, what I'm actually sending is a set of instructions telling your computer how to organize bits of magnetic material on a hard drive to create another instantiation of Firefox. Similarly, at some point in the next decade or two, I will be able to send you a "copy" of my phone simply by sending a set of instructions telling your computer how to organize bits of carbon in a desktop nanofactory to create another instantiation of a phone. Very soon, a more software-like open source physical world paradigm will become possible.

But what will really make a big difference will be the emergence of tools allowing you to take that set of instructions for the phone and modify it to meet your particular needs prior to it being printed out.

I don't mean a requirement that you design your own phone from basic parts on up, or can only get a bare-bones phone that you then must seek out and add on (potentially conflicting) modules to give it any kind of real utility. I'm talking instead about an interface to the code that makes it easy for amateur designers to tweak the instructions without running the risk of easily breaking the final result. In effect, I imagine that we'll soon be in a world of "skins," "plug-ins," and "overlays" for the material world." (http://www.worldchanging.com/archives/004155.html)


Open Design

From the Wikipedia article at http://en.wikipedia.org/wiki/Open_design

"Open Design is a term that applies to the investigation and potential of open source and the collaborative nature of the internet to create physical objects. People apply their skills and time to projects for the common good, perhaps where funding or commercial interest is lacking. Open design image

The "Open Design" movement is currently fairly nascent but holds great potential for the future in developing products and physical systems. There are certain barriers to overcome for open design when compared to software development where there are mature and widely used tools available and the duplication and distribution of code cost next to nothing. Creating, testing and modifying physical designs is not quite so straightforward because of the effort and time required to create the physical artifact." (http://en.wikipedia.org/wiki/Open_design)


More Information

Free Software and Free Hardware Designs, at http://opencollector.org/Whyfree/whyfree.html

Graham Seaman explains why hardware design should be as free as software code.


Free Hardware Design - Past, Present, Future, at http://opencollector.org/Whyfree/freedesign.html

Richard Stallman, on Free Hardware, at http://www.linuxtoday.com/news_story.php3?ltsn=1999-06-22-005-05-NW-LF

Business Models for Open Source hardware design, at http://pages.nyu.edu/~gmp216/papers/bmfosh-1.0.html