Over the past few years, the use of open source software in embedded systems has become mainstream. In part, this is due the sheer necessity: Systems just keep getting more complex, incorporating more and more functionality, but design teams aren’t getting larger, and code-writing productivity isn’t improving dramatically. In many cases, this means that the role of embedded software developers has shifted from writing code to integrating components—but finding the needed components can be difficult indeed.