The last decade was defined by open-source innovations in various technology fields. The software stack’s publicly accessible nature empowered the developer community to exchange code and realize ideas to build collaborative masterpieces beyond the organizational boundaries. The wider community didn’t recognize the trend for a very long time. Eventually, the sheer volume and quality won many advocates, and open-source became the de-facto gold standard for software, but what about open-source hardware?
While the software was growing, hardware development remained siloed and company-focused to create a competitive advantage. The history of hardware is full of non-collaborative movements leading to the emergence of divergent specifications. There are so many examples where siloed innovation ultimately led to a fragmented market. Instead of becoming a sustainable business advantage, the proprietary nature became a bottleneck and eventually led to the end of that standard. Sony BlueRay was one such example.
One possible reason could be that hardware is the source of business competitiveness through IP protection, hence companies wished to keep it in-house. Evidently, this approach hasn’t scaled, and we witnessed far slower growth of hardware platforms. For instance, the industry was not ready when lean but demanding use cases for artificial intelligence (AI) emerged. The existing players tried to push traditional FPGA, GPU, and CPU solutions, which were not ideal for the computations demanded by an evolving inference industry. For a long time, Arm continued innovation and provided a very evolved instruction set, but in the end, it also failed to keep pace.
This scenario culminated in Amazon and Google seeing the potential of customized computing solutions, so they started investments in semiconductors to work on inference-customized processing solutions. It has brought the silver lining on the horizon for open-source hardware-led vehicles that will help narrow the chasm between data science and big-data-powered intelligence. This article traces the open-source software journey and draws lessons that can help open-source hardware play catchup by adopting the best practices.
Figure 1: Arm and its instruction set architecture (ISA) have been a knowledge hub for years. (Source: Arm)
Open source secret sauce
When the open-source concept first emerged over two decades ago, there were many questions around monetization, and over time, various models evolved. Today, more than 35 million developers contribute to code, powering billions of devices and generating significant value as an outcome. It is evident from the public listing of MongoDB ($7.9 billion) and Elastic ($7.3 billion) in addition to big-ticket acquisitions of GitHub by Microsoft ($7 billion), RedHat by IBM ($34 billion), and MuleSoft by Salesforce after the public listing of $6.5 billion.
Today, all big companies are using open source in some form as it helps create the optimized software for solving problems at hand. While computer and telecom industries are the major consumers of open-source software, covering about 60% of their software needs, industrial and healthcare enterprises are adopting fast. Open source has drastically reduced the development time as most of the modules are available in a well-tested and optimized form, ready to be integrated into the software stack to solve specific problems.
Open source provides a classic marketing lesson: the users are already a customer even before they realize it. By the time they realize it, they are using so much open source in their stack that they are better off purchasing a license. The industry has come a long way from the Apache incubated license to more business-friendly licenses that MongoDB, Elastic, and Cockroach offer. That’s how open source pioneered freemium without any clear need for marketing in the initial days.
The secret sauce for open-source software’s success is finding a problem at the core of any new journey and letting the business model emerge with time. As you solve more significant problems, your source code’s demand grows, leading to scaling the project, attracting more capital. That’s why upper quartiles of open-source projects generate significant developer traction while most of them are free community projects.
It is also essential to understand why anyone would pay for a code that is already open source? The answer lies in dedicated support, security fixes, and maintenance over a period. It leads to different openness levels for catering to varying industry demand levels.
Advent of Linux
Today, open-source software has significantly evolved in terms of code masterclass and business models. Whenever a leading company got involved in open-source development, it became the catalyst to creating the big and long-lasting stack.
Google has pioneered various success stories such as Android mobile OS, TensorFlow machine learning, and Kubernetes for deployment, scaling, and containerized applications management. There are several examples of younger startups by entrepreneurs striving to solve a problem. As masses prominently recognized the problem, the solution grew in size and volume, leading to a business success story.
In this growth journey, the key component was the advent of Linux. It serves as a scalable backbone that could assimilate so many diverse components and hardware and seamlessly deliver high performance. Whether it’s providing a robust backbone to handle stringent timing requirements or creating space to accommodate different ways of handling architecture-specific elements, Linux has lived up to the demanding use cases while delivering outcomes successfully.
Building Linux-like glue
With this context about open-source software evolution, let us switch our exploration to the open-source hardware world. It is not that open-source hardware has not seen any success; wherever the hardware has gone open source, it becomes a great success story. Arduino, an open-source microcontroller board, is a poster child of how open-source hardware has revolutionized the way people use hardware for research and project-related activities.
Figure 2: Arduino microcontroller boards are a testament to open-source hardware’s promise. (Source: Arduino)
The idea of open-source hardware is fast gaining steam with the growing need in the computing world. Several small players experimented with modular hardware to provide customers with choices to configure with preferred hardware modules. The idea is exciting, enabling users to employ the best-in-class hardware for speakers, cameras, and network modules from different providers and create any device they desire.
But this approach has failed to translate into scalable offerings and mass adoption by consumers. The reason can be traced back to the absence of driving hardware code that could make hardware modularity truly usable. The siloed and extremely tied development makes it nearly impossible to achieve modularity in the end product. With processors reaching the point of violating Moore’s Law, there is an unprecedented need for path-breaking innovation to pool prevailing wisdom in this industry.
As we see demand for open source in the hardware space, pioneers can borrow a few lessons from its open-source software brethren. Open-source software was envisaged to bridge the performance gap in the software provided by leading suppliers. As a result, the focus was never on user-friendliness but on higher reliability and code performance in challenging environments.
Linux became a popular OS for servers. MySQL challenged Oracle in that space purely on the merits of architectural robustness and modular approach and addressed monolithic architectures’ shortcomings. Today, we see Amazon selling almost all the software modules as a separate service, which was impossible in the earlier monolithic software philosophy.
The key question is, what is the Linux equivalent for open-source hardware? The challenge lies in the hardware complexity, making it nearly impossible to build a Linux-like glue to tie everything hardware together. As a result, the physical, legal, and economic barriers are never truly challenged to build a democratic hardware ecosystem. In the first part, the physical limit is quite complicated and constraining to the evolution of a real Linux equivalent for open-source hardware breakout. But the advent of 5G off-shoots from open hardware such as radio access networks (RANs) has shown it is possible to imagine and create it.
The next crucial question is whether instruction set architectures (ISAs) such as RISC-V can trigger the proliferation of open-source hardware the way Linux made way for smooth assimilation of various heterogeneous components. If so, what stopped earlier players from building such an ecosystem is important to understand.
Figure 3: Microsemi has implemented RISC-V cores in its FPGA designs. (Source: Microchip)
For a long time, Arm acted as a knowledge hub and brought the best instruction set to be used by players who were not willing to be tied to prevalent options. RISC-V offers a unique opportunity in the open-source hardware space and has the potential to become the gold standard after Arm potentially gets folded into a large semiconductor outfit.
Trigger to mass adoption
The subsequent challenge lies in the learning curve for new tools. For an unbelievable period, the hardware industry has not seen a drastic change in the way it verifies the RTL code. SV-UVM is a de-facto choice that has evolved incrementally and has created a significant comfort zone. It’s challenging to create a new solution and expect people to adopt it cheerfully. The value has to be significantly bigger to trigger a mass-adoption of a new design and verification toolset to create elegant hardware designs.
There are success stories in open-source hardware specifications such as PCIe, USB, and OpenCL and OpenCV, however, the path to true open-source hardware goes through the production puzzle. It would involve the advent of the next TSMC that can support flexible shipping and create the end-to-end pipeline for RTL-verification-tapeout aligned with a new world of open-source hardware. It’s easier said than done because, unlike software where the investment is not huge, in hardware, every layer is built over decades in a tightly-coupled manner and is costly to dismantle to make way for open-source hardware.
The incremental evolution of existing tools may take a century to reach the business-changing open-source hardware stage. The solution is to kick-start a new era of different thinking and breakaway with a defined roadmap. Unless pioneers of open-source hardware find the answer to end-to-end problems, the adoption and establishment of a de-facto Linux equivalent will find limited takers. The investment in design tools and production will need to be succeeded with massive re-skilling to make new tool-chain mass-adopted by the design community to create agile hardware development.
>> This article was originally published on our sister site, EDN.
|Prasant Agarwal has worked with STMicroelectronics, Samsung, and Solarflare Communications in various strategy, marketing, and product management roles.|
- Extending the RISC-V architecture with domain specific accelerators
- Taking the mystery out of custom extensions in RISC-V SoC design
- A guide to accelerating applications with just-right RISC-V custom instructions
- RISC-V ready to come of age
- RISC-V ISA IP proliferates
- RISC-V initiative leverages standard platform for custom designs
For more Embedded, subscribe to Embedded’s weekly email newsletter.