Switching costs
Moats, Switching Costs, Operating Systems, and Accounting
Warren Buffett and Peter Thiel begin from the same economic fact: in a competitive market, abnormal returns are competed away. Kenneth Arrow and Gérard Debreu formalized the underlying logic in general equilibrium terms because easy substitution and competitive entry eliminate durable excess profits. For that reason, any firm seeking sustained abnormal returns must prevent full substitution.
That prevention is the moat.
A moat has two economically relevant functions because a firm must first acquire customers and then keep customers from switching. There is no other moat in the sense that matters. Brand, network effects, standards, distribution, bundling, ecosystem control, proprietary formats, and platform integration are not separate moats. They are causal mechanisms that create the same effect because each one either attracts customers, prevents switching, or both.
The effect is simple: customers stay.
Once customers stay, further consequences follow with economic necessity because reduced switching weakens the outside option. A weakened outside option produces lower demand elasticity. Lower demand elasticity produces pricing power. Pricing power produces durable abnormal returns. For that reason, the entire strategic vocabulary of business reduces to one structural point: the firm seeks customer acquisition and customer non-switching.
Buffett describes this through the language of moats because a protected business can sustain returns. Thiel describes this through the language of escaping competition (‘for losers’) because competition destroys profits. Both point to the same structure because the preservation of abnormal returns requires impaired substitution.
There is one exception: the Rosen superstar effect. Sherwin Rosen showed that scalable distribution combined with ranking can generate extreme concentration of returns without ordinary retention lock-in, because the top-ranked performer can serve the entire market. For that reason, the complete canonical structure is simple: either abnormal returns come from a moat, or they come from superstar concentration. Outside that exception, competitive pressure eliminates durable abnormal returns.
That business lesson has an immediate mirror image on the customer side. The producer seeks to build the moat because the producer seeks durable pricing power. The customer must avoid standing on the wrong side of that moat because the customer otherwise becomes the object of rent extraction. The same economics that creates attractive investments creates dangerous dependencies.
That is why the central issue in computing is not style, branding, convenience, or aesthetics. The central issue is the preservation of the outside option. A computing environment is good in the economically relevant sense because it remains replaceable. A computing environment is bad in the economically relevant sense because it becomes expensive to leave.
This is not only a question of operating systems. This is a question of computers, software, infrastructure, and accounting, because every layer of the stack can become a mechanism for raising switching costs.
The logic is identical at every level.
A firm adopts a platform because entry appears efficient. The platform becomes embedded because workflows, staff knowledge, data, interfaces, and history accumulate around it. Switching costs rise because migration now requires labor, retraining, interruption, revalidation, and coordination. The outside option weakens because exit is no longer cheap. The vendor then gains bargaining power because the customer can no longer discipline the relationship through credible exit. Rent extraction follows because terms can worsen without proportional customer loss.
That is the whole machine.
Software is exceptionally effective at building moats because software can alter interfaces, hide control surfaces, trap data, enforce account dependency, centralize identity, force upgrades, and tie complementary products together. For that reason, software is one of the most powerful rent-extraction media ever built.
The modern software-as-a-service model intensifies this structure because the vendor controls execution, updates, access, interfaces, and retention of operational history. In the old product model, the customer could often keep a working version, defer upgrades, or preserve a local copy. In the service model, the vendor controls the running instance itself. For that reason, SaaS does not merely sell software. SaaS sells controlled access while systematically weakening the customer’s outside option.
That is why the language of lock-in is not rhetoric. It is a direct description of bargaining structure.
Once a critical function depends on a company, that company becomes a counterparty to continued operation. Counterparty risk enters immediately because the dependent party is now exposed to that company’s pricing, licensing, API changes, strategic pivots, outages, account controls, compliance posture, and political constraints. This is not merely technical dependence. This is economic exposure.
Microsoft provides a clear historical example because Microsoft repeatedly externalized change costs onto developers and customers.
Visual Basic 6 to VB.NET imposed major rewriting and retraining burdens because continuity was broken across a large installed base. Classic ASP to ASP.NET imposed architectural migration costs because the platform model changed. Silverlight imposed sunk investment losses because strategic support later collapsed. Windows Phone and the broader Windows app-platform churn imposed repeated adaptation costs because developers were drawn into shifting strategic surfaces. Internet Explorer imposed web-development burdens because proprietary browser behavior forced special handling. Office formats and deep Office workflow dependence imposed migration difficulty because organizational history became embedded in Microsoft’s stack. Repeated framework and platform changes across Microsoft’s ecosystem imposed labor costs on dependent developers because the platform owner controlled the interface and the dependents bore the transition burden.
This pattern did not merely exist in theory. It happened in practice, repeatedly, because platform control permits the owner to move the interface while dependents absorb the resulting cost. For that reason, dependency on a vendor-controlled surface creates a predictable transfer of future labor and future cash outflows from customer to vendor.
The same logic applies to cloud providers, SaaS vendors, app stores, identity providers, mobile platforms, collaboration systems, and hardware ecosystems. At every layer, the strategic objective is identical because the vendor seeks to become difficult to leave.
That is why operating-system selection matters, although operating systems are only one layer of the larger issue.
Most operating-system discussions are shallow because they ask which system is easiest, prettiest, most polished, or most popular. Those are consumer questions. The serious question is different because the relevant criterion is substrate replaceability. The best operating-system strategy is the strategy that preserves the outside option.
For that reason, dependence on a single operating-system ecosystem is structurally inferior to portable operation across more than one independent ecosystem. A portable environment reduces substrate-specific lock-in because the workloads are not welded to one package universe, one governance structure, one release model, or one institutional actor.
That is why a paired Linux strategy such as Arch and Debian makes sense. Arch and Debian are independent enough to diversify ecosystem risk because they differ in package management, release philosophy, institutional culture, and operational assumptions. Arch and Debian are similar enough to support real workload portability because both remain within the general Linux world of standard runtimes, common protocols, common developer tools, and interoperable system practices. For that reason, the pair offers meaningful diversification without imposing the full compatibility burden of a more alien substrate.
The purpose of that pairing is not novelty or hobbyism. The purpose is structural risk minimization because no single ecosystem should become indispensable. A system that runs across both Arch and Debian preserves bargaining power at the operating-system layer because either side remains a live alternative. Migration remains feasible. Knowledge remains portable. Tooling remains cross-ecosystem. The operating system becomes substrate rather than destiny.
This principle generalizes across computing.
Hardware should remain repairable and replaceable because locked hardware raises switching costs. File formats should remain open because trapped data weakens the outside option. Infrastructure should remain portable because vendor-specific architecture becomes a future tax. Identity should remain decoupled because centralized authentication dependencies create choke points. Applications should remain replaceable because subscriptions and proprietary formats transform routine work into recurring rent obligations. Development workflows should remain standards-based because proprietary build, deployment, and runtime systems become future rewrite liabilities.
That is where accounting enters the argument.
Vendor lock-in is not merely a technology preference issue. Vendor lock-in is an accounting issue because lock-in creates future cash outflows, hidden liabilities, contingent migration costs, margin pressure, and reduced bargaining power. A company can appear efficient while actually sitting under a large stock of future vendor extraction. That future extraction may later appear as licensing expense, cloud expense, migration projects, retraining budgets, rewrite initiatives, compliance work, consulting fees, productivity loss, or operational interruption. For that reason, the economic reality of lock-in often sits partially outside ordinary headline profitability.
This means earnings quality depends in part on dependence structure. A company whose operations are trapped inside another company’s moat may report respectable margins while carrying a hidden obligation to pay future tribute. That tribute may not be booked immediately, although the exposure already exists because the outside option has been weakened. For that reason, vendor lock-in is best understood as an off-balance-sheet claim on future cash flows.
The accounting translation is direct.
Technical dependence becomes counterparty risk because another firm now stands inside the operating chain. Counterparty risk becomes bargaining asymmetry because the dependent firm cannot cheaply leave. Bargaining asymmetry becomes recurring extraction because the stronger party can impose terms. Recurring extraction becomes lower-quality earnings because current profitability partially rests on vulnerable assumptions about future supplier behavior. For that reason, anti-lock-in architecture is not merely engineering prudence. It is capital protection.
Seen from the perspective of investment, the lesson is symmetrical. An investor wants a company with a moat because moats protect returns. The same investor should not want that company trapped inside another party’s moat because upstream dependence transfers bargaining power outward. The ideal firm therefore has pricing power over customers while retaining flexibility with suppliers and infrastructure. That means outward moats and inward portability. Any firm that lacks inward portability can be held up by the owners of critical infrastructure, software, or platforms.
That conclusion follows naturally from Buffett and Thiel because the firm that sits on the wrong side of someone else’s moat becomes the source of that other firm’s returns.
So the complete logic is unified.
Arrow and Debreu describe the competitive baseline because easy substitution eliminates abnormal returns. Buffett seeks moats because moats prevent substitution and preserve returns. Thiel seeks monopoly-like positions because competition destroys profits. Software vendors seek lock-in because lock-in weakens the customer’s outside option. Platform history shows repeated externalization of change costs because dependent developers and firms bear migration burdens. Counterparty risk enters because dependence turns another company into a gatekeeper over continued operation. Accounting matters because that gatekeeping power becomes a future claim on cash flows. Operating-system strategy matters because substrate portability lowers switching costs and preserves the outside option. Arch and Debian together make sense because independent Linux ecosystems reduce concentration risk while preserving practical interoperability.
Nothing in this argument is novel. It is simply standard economics applied consistently across computing.
The final rule is therefore straightforward:
A rational computing strategy preserves the outside option because preserved exit prevents rent extraction. A rational software strategy avoids unnecessary dependence because dependence creates counterparty risk. A rational infrastructure strategy spans independent substrates because concentration raises switching costs. A rational accounting view treats lock-in as a hidden future expense because weakened substitution lowers bargaining power. A rational firm seeks to own moats where possible and avoid standing inside other firms’ moats wherever possible.
