Hi ndoggac,
I am glad you have raised this issue, as it gives me a chance to explain the reasoning behind our upgrade policy, and why we chose the one we did.
Why can't upgrades be free, forever?
This is the "ideal" of course, but very few (if any) software companies can afford to do this any more, especially in a field as niche as the one that ReefMaster operates in. The reality is that we can't afford to keep developing new features without at some point charging for them. I understand that some customers might feel that they are getting "milked", especially those that have purchased relatively close to a major version release, but without an occasional paid upgrade there simply wouldn't be any future major upgrades. One thing I do know from user feedback is that we have many users who would much rather pay for upgrades than have development on ReefMaster cease altogether.
The question, then, is which is the best model to use when releasing paid upgrades?
Timed upgrade periods
Your suggestion of timed upgrades (e.g. upgrades for free, for a year) sounds good in principle, and I know a lot of companies use this approach. We certainly thought about it, but it also has issues:
- It is technically harder to implent - we would need to keep track of subsciption periods for each user and limit access to upgrades accordingly.
- What happens if you release an important bug fix after the user's subscription has lapsed? In my view, the user has a right to the fix, but under this upgrade model perhaps not to new features. It would be almost impossible to manage an upgrade program that could achieve that split.
- It would still give rise to some dissatisfaction amongst users, e.g. if a major release is scheduled for a year and a day after purchase.
Subscription
I won't even go there, although of course this model is now rampant. In the subscription model you pay a fixed amount per year and can only use the product for the duration of the subscription. I strongly believe that once you have bought a product, you should be able to use it for as long as you like.
Major version upgrades
This is the model that we chose, in which minor upgrades and bug fixes are free during a major version release cycle, and major version upgrades (which will always be a significant upgrade to the product) are charged. On balance, this seemed the best option for us. It is probably as fair as any other model, and we have always been clear that this is our upgrade policy. This policy also allows us to make some more radical changes between major versions - for example, in v2 we will have new minimum system specifications that might mean that some users will not be able to (or even want to) upgrade.
In answer to your other questions; we do have another maintenance release planned for v1 that will include the KML colour bug. The other points are not bugs so much as features, and both will be included in version 2.
Finally, I would like to make the general point that when you buy a piece of software you have to do so on the basis that the software in its current form provides the value that you need, and not on the basis of future upgrades that might or might not be delivered. Bear in mind as well that that when you buy later in the release cycle, you are getting all of that cycle's upgrades included - other users' may have bought earlier, but they didn't have those features for all of the time.
It is also worth noting that - for this particular upgrade, at least - there will be no net financial disadvantage to buying beforehand as we are changing the price of ReefMaster at the same time. And, of course, there is no obligation to upgrade; you can continue to use RMv1 for as long as you like.
Matt