Commoditizing your complements is the first rule of computer businesses. Microsoft made hardware a commodity in the PC Era to sell its operating system. Their non-exclusive deal with IBM let them sell DOS to any OEM they could find.
Demand for a product increases when the price of its complements decreases.
We’ve been in a software cycle for decades — software is the product, and hardware is the commodity. Software written in Java, C++, Ruby, JavaScript, or any other programming language ran almost anywhere. It didn’t matter what distribution of Linux you were running on a virtual machine. It surely didn’t matter what chip was running inside the computer.
Now, we are squarely in a hardware cycle. There’s a GPU shortage, and the market price of the fastest GPUs reflects the insane demand. It matters what brand and type of GPU you buy — customers not only want NVIDIA, they need it. You won’t be competitive if you don’t have a fleet of the latest H100s. Significant developer hours are being poured into low-level hardware-specific optimization. Hardware matters again.
Large foundational models are being open-sourced every day from capital-intensive endeavors — from public companies like Meta, from sovereign states like UAE, and from venture-backed companies like Anthropic.
Even on the consumer side, the M-series chips by Apple are differentiated from the pack. They are faster, cheaper (per flop), and more energy efficient than most chips on the market. Developers are excited to use them.
What does a hardware cycle mean for software engineers? Some lessons to remember from previous cycles:
- It’s easy for software to commoditize hardware but difficult for hardware to commoditize software. Generative AI breakthroughs have temporarily changed the game. But at some point, the developer hours poured into NVIDIA hardware optimization will vastly outweigh the cost of building an abstraction (or alternative).
- Software is non-rivalrous; hardware is not. Consumption of software does not affect the supply of that software. It can be copied for zero marginal cost. Hardware does not have the same virality.
- Open source is a commoditizing force for a variety of complementary goods.
- Switching costs are real but can be subverted with enough resources.
- The Hardware / Software cycle turns, eventually.