Open hardware projects tend to evolve differently from open software projects. Even though it’s very easy to fork an open software project, pull requests and merges help ensure the main branch of a project continues to improve. Furthermore, open software projects tend to evolve along with their tools, as evidenced by the concurrent maturation of Servo and Rust, or Linux and Git. In contrast, open hardware projects tend to fork and then fracture the community as they gain commercial success and go closed, as evidenced in the evolution of the 3D printer and drone communities. There are also few examples of hardware projects that co-evolve with their tools.
The evolution of the NeTV + Milkymist to the HDMI2USB to the NeTV2, along with the concurrent maturation and adoption of the Migen and LiteX ecosystem, is one of these rare examples.
This talk will present a historical narrative of the background behind each of these projects and how they became interlinked. From the study of this history, we will attempt to distill a few core lessons learned that can hopefully be applied to other open hardware projects.
One important lesson is that open anything takes time and patience, and so the project itself needs to be in a space where it can move at an appropriate pace to grow a healthy community while maintaining relevance against potentially better-funded closed-source options.
Another lesson is the importance of crowdfunding as a mechanism to marshall community around a given release, as opposed to relying upon sources of financing that expect direct returns on investment (such as venture capital or loans).
A final example of a lesson we will discuss is the importance of picking the right tools to co-evolve with the project. While many open source options alternatives exist to closed-source tools, it’s problematic if the design tools somehow limit the hardware implementation or introduces flaws in the design itself -- and hardware, unlike software, cannot be patched. Migen/LiteX are front-end tooling for describing FPGA designs (“gateware”), and their output being a bitstream means it can be in the hardware space while enjoying the privilege of easy patching and updates. Furthermore, Migen/LiteX offer critical features and performance metrics unavailable in the closed-source alternatives, meaning that these are not simply design tools, they are also core to enabling the competitiveness of the hardware itself.
Related previous Chaos Congress Talks
Latest developments around the Milkymist System-on-Chip - A roundup of one the most advanced open hardware projects
Implementation of MITM Attack on HDCP-Secured Links - A non-copyright circumventing application of the HDCP master key
Dissecting HDMI - Developing open, FPGA-based capture hardware for conference & user group recording
Tim 'mithro' Ansell is the founder of TimVideos. He is known for having to many projects including hardware like the HDMI2USB.tv, I'm Tomu and many more!
Andrew 'bunnie' Huang is a hacker, activist and author who is known for many projects including hardware like the NeTV, Chibitronics, Novena, and Chumby.