If the developer wants to changes pricing structure for the future – then that's fair enough and of course existing customers will have to make a choice.
However, if there is going to be a change which will affect existing customers then I think that they should be told about it and also given sufficient notice – for instance, at least six months – the period of a typical renewal.
Once again, it's all about information and transparency.
Until then, it seems to me rather unfair to effectively de-prioritise existing customers because there is a pricing decision made by the developer when he first came up with the idea of the third-party add-on and made his decisions about how he was going to price it.
Existing customers went along with the add-on and also with the pricing scheme in good faith and I think it requires a certain amount of reciprocal good faith from the developer.
So, for instance, the developer could upgrade to 4.5 and announce to existing customers that in six months time the app would not be supported any more and that the next upgrade would only be available to people who signed onto the new pricing structure – but as a gesture of loyalty to existing customers, they would not have to make the initial purchase, they would simply sign up for the renewal fees – which are generally speaking less than the initial payment.
That is something which I think is fair all round and takes into account changing circumstances for the developer, the customer, and market conditions generally.