let us give a simple example - X writes software in secrecy, and when
'complete' he releases it - Y downloads, tries out and starts using it. Meanwhile X gets huge amount of feed back - he makes backward incompatible changes. Y does an svn up and finds his code is not working - the sql has changed drastically. X has not bothered to provide a migration script - he has just changed the sql. And had to change it so drastically that Y has to zap his db and re-enter the data.
If X had been open from the beginning, at the most Y would have had to face small incremental changes throughout the process - may be non backward incompatible, but still incremental and manageable. -- regards Kenneth Gonsalves Senior Project Officer NRC-FOSS
That's inconsiderate and unprofessional on the part of X. If, he changes anything that breaks the codes. Then, X must give a change log and a migration script or upgrade package or at least a warning.
Not doing so is frequent in both closed and open systems. It is a bit of consideration & professionalism for all your users that goes to making the migration easier.
As I look at it, if you find a better method to implement your application/ideas by breaking your code or rewriting a large part of your existing code, take a call of its usefulness and then do what you think should be done.
regards Cyril Chacko