"the Developer can use the developed software for his or her own needs" Own needs, as parts of the code to other projects and own knowledge, not for selling the idea or use it as an entire piece. Own needs, not third party needs. OWN!!! :)
No, this is not the principle, if you do not want to give the rights to the costumer, you have to tell him before.