Open collaborative design/Vast libraries of machines and components
As in software, it would be useful for components and assemblies to be as 're-usable' as possible in the sense of being able to be incorporated in many different machine designs. To aid this it should be possible to specify the vital dynamic functions of a component or assembly in the CAD software, so that it can easily be modified in shape and scale so it can be incorporated into a new design while ensuring it still works correctly.
This will enable a huge reduction in duplication of effort and allow people to focus their efforts on creating new machines of increasing complexity and building on the work of others.
One interesting side-effect of open collaboration is that it tends to lead to highly modular design. FireFox and Linux are examples of this. Modularity also leads to a high degree of reusability; someone designing a new piece of hardware or software can pick-and-mix parts of existing projects.
SKDB is an interesting attempt to bridge the gap between libraries of parts and complex products made up of those parts. Still in a very embryonic stage, it is a software database with lists of machines, the parts that make them up and the sub-parts that make them up. So if someone with digital fabrication facilities wants to build a particular open-source car, they could input the name of the car into the SKDB database, which would then list the parts they need and the means of manufacturing them.
See our List of open-source hardware to see how far this effort has come already