This post has been selected as an answer to the original posters question
If you dont have a written contract, then it falls to a court. Depending on the state laws you are governed by, a programmer with no contract cannot double-dip. Ie, he cant be both paid and claim intellectual property compensation unless they protect such an arrangement with a contract.
If he cashed your payment and then sells your paid work, you will win in court in most cases unless he can provide proof of a verbal contract that granted him IP.
The following 2 users say Thank You to Zxeses for this post:
Sadly Most of our precious rights were tested to the breaking point. The worst thing we do as a people do when it comes to law is "settle", we have to fight bad judges, bad juries, bad laws to keep our rights safe.
When I worked as a programmer, my work was "for hire," meaning that the product of my labor belonged to whoever had hired me.
The concept is: if you are a carpenter and build a house for someone, you don't own the house. You have a right to be paid, and that's it.
With programming it's not necessarily that simple in practice, because the program is very portable, unlike a house.
I think it is always smart to have an explicit contract, as @kevinkdog and @Zxeses mention, to nail these things down. I have signed multi-page contracts that made it very clear what everyone's rights were. As a practical matter, this is your personal protection when you hire someone.
With all that said, if you have an issue with someone in particular, or if you want to be sure you are protected, you should contact an attorney.
The following user says Thank You to bobwest for this post:
Most corporations and companies have exclusivity to anything developed by you will become property of the company employing you. I had to sign that to work for the company. I have had to go outside and hire a firm to develop my program for me personally. Since I did not program it. It does not fall into that category. However, I do have non disclosure agreements in place and a written contract with the programmer that they surrender all work to me and to cease any further development once our contract has been fulfilled. So sad you have to protect yourself from all sides