Should I give free upgrades for life?
successfulsoftware.net
successfulsoftware.net
I would say that not charging for major upgrades impairs developer-customer relations. Without upgrades, the dev has an incentive to stop working on their app and write a new one (and thus get a bunch more money).
I can't think of any well-known piece of Mac shareware that doesn't charge for x.0.0 upgrades.
It helps on the maintenance front as well. We can "kill off" support for very old versions by encouraging such users to move to a later one.
Some software sales models depend upon selling upgrades - alternately you price for "lifetime use" and enjoy a long term relationship with your customers.
But how do you know how long the life of the product will be?
Also, the higher up-front cost might put customers off.
Personally I would have more confidence that you would be around in 5 years if you were charging for upgrades.
Other companies are using a tiered system, where you get free lifetime upgrades for the base version and you pay a fee for premium/business services (Jungledisk.com is using this approach). This way you can build a (happy) userbase and increase the trust in the company. Satisfied customers are more likely to upgrade to a payed plan.