In a fully competitive market, products should be sold for the marginal cost of producing a unit. And in the software world, the marginal cost of producing a unit is zero. Therefore, in the long run software should be free and nobody should make a profit. But conversely if you do find a way to sell software for money on a large scale you’re going to make a ton of money, since each additional sale is basically all profit. Microsoft, for example, became the firm of the 1990s by exploiting network effects. Once an operating system passed a certain threshold of being “good enough” the mere fact that lots of other people used it constituted a reason for you to use it. Using the most popular system meant compatibility, and a wide array of software. Through licensing of Windows, Microsoft created a situation in which manufacturing of PCs was basically a highly competitive commodity business while software retailed for well more than the $0 competitive price.
And though you often hear analogies drawn between iOS/Android and Mac/Windows, the case is actually quite different in this regard. Google “sells” Android at precisely the $0 price that Microsoft so brilliantly avoided. It’s actually Apple that’s played the role of cleverly finding a way to sell software for more than $0 by tying it exclusively to a small number of desirable physical devices, the iPhone, iPad, and iPod Touch. Not coincidentally, Apple is now more profitable than Microsoft. The essence of the software business is that you’re swimming upstream against the logic of marginal cost pricing, but if you’re able to pull it off there’s a huge pot of gold at the end of the rainbow. What’s interesting from the broader economic perspective is that they can’t seem to think of anything they want to do with all these profits and yet aren’t just handing the money over to shareholders.