1. The definition of hardware is different for each person depending on their background
- IC engineer's world of hardware is all about transistors and IC design. - Mechanical guys world of hardware is all about geometries, material, structure analysis and it itself has a lot of variations. - Product designers world of hardware is just sub-assemblies that already exist.
My point is everyone works with different levels of abstraction. IC designer has no idea of how product designers work but every one calls themselves a hardware engineer if they work with atoms (which is fair, but we just need to know that this difference exists).
2. Because of this difference in definition of hardware, what do we exactly mean by open source hardware?
As a product designer, am I interested in an open source version of 555 timer or NEMA Motor? No - I am just interested in knowing its specs and building something on top of it. As an IC designer, you might be interested in knowing the details of the 555 timer and creating an open source version of it. Your fellow IC designer might find some use out of it, but not the product designer.
We must understand that an individuals interest lies in different levels of abstraction. This is true in the software world. Linux is open source but I might be contributing to a app on linux because thats where my interest lie. You might be interested in the kernel level.
My point here is that all of the above might be considered open source hardware but we should understand that modularity and levels of abstraction exists that makes things possible. As a product designer, 555 timer is a module, a means to an end.
3. Hardware land is still very individualistic. Most hardware engineers even if they make it open source they still work alone on the project, majority of the time. There might be some levels of collaboration, but most of the time it is by one person. This is primarily because of limitations in access to hardware - consumables and equipment as mentioned in the main text. Hundreds of people collaborating on building one large hardware project has not happened. Eg - Open source Laptop - Novena is by one person - bunny.
4. Majority of the open source hardware modules are small modules - like the sensor modules on sparkfun, adafruit or seeedstudio. Hardware as modules existed - eg dev board etc. Open source hardware as module was new. This helped prototypers and system designers work really fast. Also since the boards were open source, it sort of standardized the modules around the world. Tutorials and support are easier to find on popular open source boards than on closed source boards. My point here is that inspite of all this advantage, open source hardware is still small modules. The primary reason being point 3. There are limits to what one person can build.
5. Just making the source open does not cut it for open source hardware. Like mentioned in the original text, there are so many insights that go into building a board. That is not reflected in the source file. So for each module in addition to the source file, you also need to map insights, such as, what is the reason behind a design choice - Why is there a chamfer? Why was a particular component chosen? What is the price of a component at scale etc.
6. What does it take to make large scale open source hardware happen?
My definition of large scale open source is large number of people collaborating on a single project. Can we have a project that was build by 10 different hardware engineers based out of different locations? This is what I think takes to build large scale open source hardware a. Modularity - ability for people to work at different layers of abstraction of their choice. Contribute to a module b. Ability to map insights - Just open source files does not help. The associated insights are crucial for someone else to build on your work c. Access to relevant tools - through maker spaces/techshops. Here since you are only contributing to a module of the project, you might only need access to a subset of the tools. d. Version control for hardware is like software releases - For now we can live without line by line versioning, but it is important to have access to earlier prototypes that went to the factory.
We are testing this hypothesis by attempting to build a large scale(defined by number of collaborators not by size of the project) open source hardware project - an open source electric unicycle - www.fireflyunicycle.com . This will be one open source hardware project where others can contribute. This is primarily an attempt to build a kickass community of hardware developers in India.
Shameless plug here - I am the founder of a startup - Makeystreet(www.makeystreet.com). Makeystreet is 'Github for hardware(system design)'. We are trying to make large scale open source hardware happen.