Every company that uses software eventually faces a version of the same question: should we pay a vendor for this, or build it ourselves? For most of commercial software history, the answer leaned heavily toward buying. That answer is shifting, and the implications are uncomfortable for vendors and buyers alike.

Where the question came from

Before packaged software existed, every company that needed software built it. Payroll systems, inventory tracking, order management: all custom, all internal. Then, in the 1970s and 80s, the commercial software industry emerged. Companies like SAP and Oracle began selling enterprise software that handled entire business functions in one system.

SAP's ERP is the canonical example of why buying made sense. ERP, or Enterprise Resource Planning, is software that unifies a company's core operations: accounting, HR, procurement, inventory, manufacturing, supply chain. It is enormously complex. SAP spent years building their system, handling edge cases across dozens of industries and thousands of business scenarios. No individual company could justify that investment. But SAP could, because the cost spread across every customer they sold to.

The economics were clear: a vendor could invest far more in a specialized product than any single buyer could, and every buyer got access to the depth of that investment for a fraction of the cost. The conventional wisdom that emerged from this era was intuitive: buy for commodity functions, build only for competitive advantage. Don't build your own payroll system. Do build your recommendation engine if recommendations are your product.