Laws of Tech: Commoditize Your Complement - Gwern.net


Joel Spolsky in 2002 identified a major pattern in technology business & economics: the pattern of commoditizing your complement, an alternative to vertical integration, where companies seek to secure a chokepoint or quasi-monopoly in products composed of many necessary & sufficient layers by dominating one layer while fostering so much competition in another layer above or below its layer that no competing monopolist can emerge, prices are driven down to marginal costs elsewhere in the stack, total price drops & increases demand, and the majority of the consumer surplus of the final product can be diverted to the quasi-monopolist. A classic example is the commodification of PC hardware by the Microsoft OS monopoly, to the detriment of IBM & benefit of MS. This pattern explains many otherwise odd or apparently self-sabotaging ventures by large tech companies into apparently irrelevant fields, such as the high rate of releasing open-source contributions by many Internet companies or the intrusion of advertising companies into smartphone manufacturing & web browser development & statistical software & fiber-optic networks & municipal WiFi & radio spectrum auctions & DNS (Google): they are pre-emptive attempts to commodify another company elsewhere in the stack, or defenses against it being done to them.

Former MS product manager Joel Spolsky’s 20021 Strategy Letter V: The Economics of Open Source (./; HN) discusses a pattern he sees in technology companies and software in particular (emphasis in original, most links added):

Every product in the marketplace has substitutes and complements. A substitute is another product you might buy if the first product is too expensive. Chicken is a substitute for beef. If you’re a chicken farmer and the price of beef goes up, the people will want more chicken, and you will sell more.

A complement is a product that you usually buy together with another product. Gas and cars are complements. Computer hardware is a classic complement of computer operating systems. And babysitters are a complement of dinner at fine restaurants. In a small town, when the local five star restaurant has a two-for-one Valentine’s day special, the local babysitters double their rates. (Actually, the nine-year-olds get roped into early service.)

All else being equal, demand for a product increases when the prices of its complements decrease.

…In general, a company’s strategic interest is going to be to get the price of their complements as low as possible. The lowest theoretically sustainable price would be the commodity price - the price that arises when you have a bunch of competitors offering indistinguishable goods. So:

Smart companies try to commoditize their products’ complements.

If you can do this, demand for your product will increase and you will be able to charge more and make more.

When IBM designed the PC architecture, they used off-the-shelf parts instead of custom parts, and they carefully documented the interfaces between the parts in the (revolutionary) IBM-PC Technical Reference Manual2. Why? So that other manufacturers could join the party. As long as you match the interface, you can be used in PCs. IBM’s goal was to commoditize the add-in market, which is a complement of the PC market, and they did this quite successfully. Within a short time scrillions of companies sprung up offering memory cards, hard drives, graphics cards, printers, etc. Cheap add-ins meant more demand for PCs.

When IBM licensed the operating system PC-DOS from Microsoft, Microsoft was very careful not to sell an exclusive license. This made it possible for Microsoft to license the same thing to Compaq and the other hundreds of OEMs who had legally cloned the IBM PC using IBM’s own documentation. Microsoft’s goal was to commoditize the PC market. Very soon the PC itself was basically a commodity, with ever decreasing prices, consistently increasing power, and fierce margins that make it extremely hard to make a profit. The low prices, of course, increase demand. Increased demand for PCs meant increased demand for their complement, MS-DOS. All else being equal, the greater the demand for a product, the more money it makes for you. And that’s why Bill Gates can buy Sweden and you can’t.

Spolsky provides 8 examples (IBM commoditizing the add-on manufacturers, MS commoditizing IBM+PC manufacturers, IBM/Transmeta/Sun/HP funding FLOSS/Linux, Netscape open-sourcing Navigator, Sun developing Java & the JVM):

Understanding this strategy actually goes a long, long way in explaining why many commercial companies are making big contributions to open source. Let’s go over these.

  • Headline: IBM Spends Millions to Develop Open Source Software.
  • Myth: They’re doing this because Lou Gerstner read the GNU Manifesto and decided he doesn’t actually like capitalism.
  • Reality: They’re doing this because IBM is becoming an IT consulting company. IT consulting is a complement of enterprise software. Thus IBM needs to commoditize enterprise software, and the best way to do this is by supporting open source. Lo and behold, their consulting division is winning big with this strategy. …

  • Headline: Netscape Open Sources Their Web Browser.
  • Myth: They’re doing this to get free source code contributions from people in cybercafes in New Zealand.
  • Reality: They’re doing this to commoditize the web browser. This has been Netscape’s strategy from day one. Have a look at the very first Netscape press release: the browser is freeware. Netscape gave away the browser so they could make money on servers. Browsers and servers are classic complements. The cheaper the browsers, the more servers you sell. This was never as true as it was in October 1994. …

  • Headline: Transmeta Hires Linus, Pays Him To Hack on Linux.
  • Myth: They just did it to get publicity. Would you have heard of Transmeta otherwise?
  • Reality: Transmeta is a CPU company. The natural complement of a CPU is an operating system. Transmeta wants OSs to be a commodity.

  • Headline: Sun and HP Pay Ximian To Hack on Gnome.
  • Myth: Sun and HP are supporting free software because they like Bazaars, not Cathedrals.
  • Reality: Sun and HP are hardware companies. They make boxen. In order to make money on the desktop, they need for windowing systems, which are a complement of desktop computers, to be a commodity. Why don’t they take the money they’re paying Ximian and use it to develop a proprietary windowing system? They tried this (Sun had NeWS and HP had New Wave), but these are really hardware companies at heart with pretty crude software skills, and they need windowing systems to be a cheap commodity, not a proprietary advantage which they have to pay for. So they hired the nice guys at Ximian to do this for the same reason that Sun bought Star Office and open sourced it: to commoditize software and make more money on hardware.

  • Headline: Sun Develops Java; New Bytecode System Means Write Once, Run Anywhere [WORA]. [See also Microsoft’s .NET Framework.]

    The bytecode idea is not new - programmers have always tried to make their code run on as many machines as possible. (That’s how you commoditize your complement). For years Microsoft had its own p-code compiler and portable windowing layer which let Excel run on Mac, Windows, and OS/2, and on Motorola, Intel, Alpha, MIPS and PowerPC chips. Quark [QuarkXPress?] has a layer which runs Macintosh code on Windows. The C programming language is best described as a hardware-independent assembler language. It’s not a new idea to software developers.

    If you can run your software anywhere, that makes hardware more of a commodity. As hardware prices go down, the market expands, driving more demand for software (and leaving customers with extra money to spend on software which can now be more expensive.)

    Sun’s enthusiasm for WORA is, um, strange, because Sun is a hardware company. Making hardware a commodity is the last thing they want to do. Oooooooooooooooooooooops! Sun is the loose cannon of the computer industry. Unable to see past their raging fear and loathing of Microsoft, they adopt strategies based on anger rather than self-interest. Sun’s two strategies are (a) make software a commodity by promoting and developing free software (Star Office, Linux, Apache, Gnome, etc), and (b) make hardware a commodity by promoting Java, with its bytecode architecture and WORA. OK, Sun, pop quiz: when the music stops, where are you going to sit down? Without proprietary advantages in hardware or software, you’re going to have to take the commodity price, which barely covers the cost of cheap factories in Guadalajara, not your cushy offices in Silicon Valley.3

A way I would express it as: Any product is the joint outcome of a large number of individual components, each of which layers is necessary but not sufficient to the final valuable use of the entire stack put together; a smartphone is not much good without a power-efficient sensitive radio, but the radio is not much good without a good OS on top of it, and a good OS is not much good either without great apps like web browsers (and is a web browser all that useful if there aren’t useful websites to use in it, and where are the languages & compilers for all this coming from anyway…?). Many products are formed by a stack of two-sided markets.

The end product of a Symbian, iOS, or Android smartphone is without a doubt fantastically valuable to the user, but what is the fair division of the revenue among the countless people, technologies, manufacturers who created each of the many critically-important layers in the full tech stack? Certainly contemporary intellectual property law (eg software patents) does not provide a socially-efficient distribution like the Shapley value to all the participants! There are constraints in that the final product cannot cost more than the value to the user (otherwise consumers simply wouldn’t buy it, and if the consumer surplus isn’t at least considerably above zero, no one would bother to learn about it) and the companies in the commoditized layers can’t be forced down to below marginal costs (otherwise they would go bankrupt & exit the market), but these are weak, and do not give any good hints as to who will capture the majority of the value: the chip fab manufacturers? the chip designers? the device manufacturers? the OS developers? the userland application developers? the ISPs? the website owners?

Vertical integration can be an effective way of resolving the intractable market dispute with top-down dictatorships, but can require lax anti-monopoly regulations, high capital investment, massive corporation overextension & empire-building, and risks being outcompeted at every level by nimbler competitors; this makes it difficult for any up-and-coming company to implement, and often ineffective. Commoditizing the complements, in contrast, permits a company to remain (relatively) small & lean, can often be accomplished with small strategic investments in releasing intellectual property or other investments, can be done incrementally focusing on specific layers without the Big Bang orientation of vertical integration and permitting defeat in detail, retains the general facade of competition, and ensures the extreme competition remains confined to other layers of the stack where the complement can benefit from the cost reductions but is not at any risk.

In practice, the division winds up being due to power plays and market dynamics, and who can most effectively erect a moat while sabotaging competitors, exploiting tactics like lawsuits & software patent trolling, proprietary APIs, cross-business subsidies, kickbacks, DRM, deliberate incompatibility or embrace and extend, FUD, operating at a loss indefinitely, etc. (There’s An App For That is why you buy an iPhone - but it’s Apple with the $930b market cap & not the app developers.)

Done correctly, this is effective at perpetuating incumbents’ long-term control of markets & justifies their enormous valuations - by definition, the competitors elsewhere in the stack, who might develop a chokepoint, are too numerous, fragmented, and low-margin to invest substantially into threatening R&D4 or long-term strategic initiatives, and any upstart startups can be relatively easily bought out or suppressed (eg Instagram or WhatsApp). Nor does this require convoluted explanations like they are pretending to not be monopolists or fully general unfalsifiable claims like it’s good PR for why big companies like Google steadily fund so many apparently oddball projects like new open source TCP/IP protocol replacements, which are neither directly profitable nor well-known nor impressively charitable - but do have clear explanations in terms of business objectives like driving more mobile web browsing (thus allowing Google to show them more ads, because the complement, mobile web browsing, has become cheaper/easier). I wonder if this also explains some of the striking copycat behavior we see sometimes - as entities get worried something might be a commodifier, either because it is crucial but was formerly considered neutral or because they assume the other entity knows something they don’t. (Google cared little about an also-ran code-hosting site like GitLab other than some VC investment - well, right up until Microsoft outbid it for Github, and then suddenly GitLab becomes a unicorn with even more VC from Google & others.) As ucaetano puts it:

Another way that I like to express that is create a desert of profitability around you. I once had a strategy professor define the Google business model somewhat like that, where Google tries to make every other business around it free or irrelevant…A desert of profitability shifts consumers to you, and keeps competitors away.