Open source has flourished because software is "infinitely-reproducible".
Physical objects are not so easily reproduced but the information for making them is.
ProtoForge.org
The Problem of Open Hardware (Part 2)
In Part 1 we compared some intrinsic aspects of software and hardware development. We began to think about what is needed in order for opendesign hardware projects to be as successful and useful as opensource software projects.
It became clear that the success of opensource derived from the fact that software only requires a developer's or group of developers' time to produce an infinitely reproducible product that benefited the common good. Whereas in the case of hardware development it became clear that more than just time was going to be needed. Opendesign hardware also requires money to cover non-recurring costs in order to be successful.
Because money is a necessary factor in producing physical systems the process for managing the division of labor becomes more complex than the process needed for opensource software. With the additional need for managing money our process must provide a mechanism for tracking the accountability of monetary donations and expenditures. To do this we must have a clear understanding of what is going to be done and who is going to do it. In industry this is done by writing requirement specifications that are an important part of a contract between the customer and the supplier. Contracts also include more organizational aspects of what the customer expects of the supplier.
Because requirements define what the system will do or how the system will do something they become important for several reasons.
Requirements can be used to
In the case of opendesign hardware, only the information needed to reproduce the system is infinitely reproducible. Therefore it is important to minimize the recurring manufacturing costs of the system. It is also very important to assure someone who is going to invest their own money in the manufacture of an opendesign system that the design is good and works as documented. This leads to the distinction between an "opendesign" system and a "verified opendesign" system. To verify an opendesign a prototype must be built precisely to the specifications of that design and tested under all expected conditions specified in that design.
Posted at 05:48PM Jan 30, 2008 by Aaron Schultz in General |