However, I have to disagree with the iPhone analogy. The consumer mobile phone market doesn't have any similarities with the developer tooling and software platform market. For one, Apple has always preferred to set trends and _tell_ people how to use their devices rather than provide openness and flexibility. Developers thrive on flexibility - shepherding them to the one true way of doing things, even if it provides a better experience, would unleash the inner forces and wrath which made open-source a thing. Also - the problem of "listening to music while taking a call" has vastly reduced complexity compared to anything done by developers. I don't think you can apply the same learnings. Each market and each customer segment require completely different business models and the iPhone bundling and "do few things right" strategy just isn't right for such a vast ecosystem of developers who are all doing so many different things. Yes, they are all deploying code to production. That's not a market. And to see the differences, compare the SDLC at a regulated bank to that of a 50-person startup with proper automation - you'll find they are light years apart. Not because the banks suck as devs, but because they are in a different market.