I don't think you have to be on a contract. As long as you are a t-mobille customer you should be fine.
But if you are At&t, then you might have problems.
I read on xda, someone figured out a way to FORCE the OTA update, I think it even works for non t-mobile customers