Over at Genomicon there’s a good post examining why it is vitally necessary for open hardware to “Lego-ify” if it wants to get any kind of wide acceptance.
Home computers started to really take off after the text-only interface of DOS was replaced with the graphical interface of Windows. Individual contributions to the web started to really take off after raw html code was replaced with higher level languages and tools. Tinkering with electronics is a lot more attractive when it doesn’t require soldering.
At the moment, possibly one of the largest barriers to entry for open hardware are CAD/CAM tools. Just like microcode, they have to be complicated because there are so many variables that have to be accounted for. However, they can slip into the background behind more user-friendly interfaces. But, any time you reduce complexity you have to decide which variables the user is allowed to manipulate.
Lego keeps coming up as a metaphor because it’s perfect. Lego handles all the nitty-gritty details of tolerances and compatibility, then simplifies the nearly unlimited design space into neat little packages. That kind of thing has to happen, and has to happen well, before a technology can achieve any kind of scale. The expert hobbyists can always figure out what’s going on, but the people who just want the technology to do something for them aren’t going to put up with much troubleshooting. Best Buy currently makes a lot of money hooking up audio/video gear, which is nothing more than plugging cables into boxes, because even that high-level packaging is too much for some people.