Over the past 30+ years, there has been a pricing model for computer programs that has generally worked quite well: Anyone buying a new product pays full price, and people who are already a customer using a previous product get a discount.
This pricing model seems fair for everyone involved. Users of a program pay a small price for the marginal incremental benefits they gain when getting the next version.
This helps software developers because even if a marketplace is saturated, they can at least make some money selling upgrades.
With the Apple App Store pricing model, once a consumer purchases a software program for their phone or computer, they get free upgrades for life. This pricing model can only work in the short-term because new sales will diminish as the program is more widely used.
Vendors will be pressured to constantly find new customers, since their existing customers won’t be paying for any future versions of your flagship products.
Imaging having a company with hundreds of employees working all year long preparing to launch the new version of your software program. When the program goes on sale, there are millions of downloads. However, those millions of downloads don’t produce any revenue because they are for people who already paid for your product in previous years.
Business doesn’t work this way. Usually, whatever industry you’re in, you build a customer base and continue to sell to those customers — new products or enhancements to existing ones. This customer base is a kind of equity. You don’t have to re-create your entire customer base each year.
Eventually, software developers will grow tired of working hard to make their programs compatible with the latest devices and operating systems, as well as adding new features, yet not be financially compensated for their ongoing work.
What we need is a pricing model where a new software purchase might cost $5 (for example), and upgrades would be $1. At least software developers could rely on some income for their ongoing work.