Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I will release my first shareware soon and I'm wondering for how long should a paying user be entitled to free updates. I can think of three options:

  • You buy a version then all the updates are free for one year (eg. SmartFTP)

  • You buy a version then all the minor updates (mostly includes bug fixes) are free (eg. UltraEdit)

  • You buy a version and all the minor and major updates are free forever (eg. Total Commander)

It seems that different applications use different ways. What would you recommend?

share|improve this question

7 Answers 7

up vote 5 down vote accepted

I'll go with the UltraEdit way, with a discount on renewal for already paying users.

How much time will you pass developing new functionalities ? If a user already paid for the "base" version, doesn't it makes sense to ask them to pay a little extra if they want more features you worked on ? (without asking them to pay for something they already have)

Of course I wouldn't apply this kind of thought to bugs and provide corrections for free to paying users.

share|improve this answer
Awwww, beat me to it. I'll add though that when I bought UE it had an option that would let me pay 3 times the base cost and have a perpetual license, free upgrades forever, not sure if they still do that or not. –  mezmo Aug 16 '11 at 15:07

If you provide significant functionality updates, then probably the "UltraEdit way" is best, if, however, your program is more-or-less feature-complete (think WinRAR or the like, which use a similar model) then the "TotalCommander way" is probably better.

share|improve this answer

It all really rather depends on what your software is, how much it costs, how many users you expect - etc.

It's not possible to tell what model would work without an idea of your scenario.

share|improve this answer

I would suggest that major version releases with significant new features should be paid for, though with a discount for people who bought the previous version.

You should still provide bugfix releases for free for the previous major version, though. Those are faults in a product you have sold and, to a point, your customers have a right to those repairs.

Put it this way - you buy a new monitor. You specifically choose that model because it has a HDMI input which you expect to need, though at the moment you'll only be using DVI. Six months later, you discover the HDMI input doesn't work. You try to get a repair or replacement, only to be told "sorry, you'll just have to buy the new model".

In the UK at least, that would be a violation of consumer protection laws.

With software, with all that "not sold, licensed" BS, it somehow seems to work out a bit different from the legal perspective. Even so - if you charge someone for a broken product and then try to charge them again for the repair/replacement, don't expect them to be loyal customers, and don't be surprised when you start seeing blog posts warning people to avoid your products.

share|improve this answer
+1 for both the bug fixes are included and giving a discount to current customers. –  Jetti Aug 16 '11 at 14:45

I just read a post on BoS about this (here). Basically, what the poster said is that while the software was profitable and had a huge user base, offering free updates for life has made it where it isn't cost effective to make updates to the software anymore. The poster talks about having a major UI update that would be needed and taking 3-4 months to get it done and not seeing a dime from current customers for all that work because of "free upgrades for life".

This boils down to: how many updates per year will you give out? Why do you feel the need to give away free updates? What about having two plans, one that has updates for a year the other without them and charge accordingly? That way, people who don't want the updates don't have to buy it (and can save money) and you can also charge more for the same product.

share|improve this answer
Change the UI in order to attract new users or don't do it all if it is cost prohibitive. –  JeffO Aug 16 '11 at 15:49

Questions you need to answer before you can answer this question:

  • How much will your software cost to purchase?
  • What kind of support system will you offer outside of patches and new versions?

Some providers offer updates and new versions for free to existing licensees because they charge large amounts for the initial purchase, and/or they make money on their service policies. If you expect to make a sustaining income on these factors, you probably don't need to charge more for updates.

  • How often will major/minor updates be released?

If you are updating often, minor updates should be free, or access to minor updates should be on a subscription basis, not on a per-patch basis. If you update very infrequently, but the updates are significant, then charging money may be justifiable.

share|improve this answer
The cost of the product shouldn't determine this. The cost is the worth of the product itself, not the future product so if it is a $19.99 product or $19,999 product, either way the advice should be the same. –  Jetti Aug 16 '11 at 14:47

In all these cases, you're using a portion of your potential future revenue as an incentive to purchase your product now. The Total Commander model you cite is one extreme; at the other end of the spectrum is the model used for most material goods:

  • You buy a version, and you buy it again later if you want a newer, better version.

So, if I'm likely to buy your product eventually, what's it worth to you to get me to buy now instead of a year or two from now? On the other hand, how much additional value will I realize by starting to use your product now instead of at some point in the future?

Also, how solid is your product, and how well known is it? One reason that consumers expect free updates, at least for a while, is that it's difficult to know whether a piece of software will really work correctly or if it has serious bugs. Offering free updates helps mitigate that risk, much as a warrantee on a material good might. If your product has received excellent reviews and is well known, customers will have much more confidence in it and won't need quite as much assurance that you'll stand behind it.

You don't necessarily have to choose one model and be stuck with it. You can change your terms as you see fit as long as you make sure that you don't break any previous promises that you've made. You could offer free minor updates now, for example, and later offer free major updates for a fixed period after purchase. It's common for software companies to do this retroactively: they'll introduce a product and offer a free or discounted update to anyone who purchased within the last several months. The possibilities are limited mainly by your imagination, the risk of confusing or annoying your customers, the additional value added to new versions, and the amount of complexity you're willing to put up with.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.