Assuming it has not been exclusively spelled out in the client contract, do the software developer own the rights to the code that he has written for the client?
Can he reuse the code in other projects?
Please let me know.
Because you do not have a contract in place, I suspect there are too many variables for anyone here to give you a precise answer.
Possible answers are:
Some countries respect verbal agreements - thus even though you have not signed anything, they have asked and paid for work - what you hand to them belongs to them once you have been remunerated unless otherwise agreed.
I would never recommend working without a contract - there are too many things that can go wrong - not just ownership issues, but if your code was to negatively impact the client, its not clear if its your problem or there problem. In my contracts, and contracts that I have seen, there is a UAT (User Acceptance Test) whereby client agree's to test something within 5 days (for example) and anything that is found broken within those five days is listed as a defect and fixed for free. Anything that is found broken after five days is a fault that the client cannot sue for and fixes are chargeable. The project scope should make clear what is in, and not in scope - Scope usually changes and thus changes can be charged accordingly (priced as a separate project/software release version).
Best of luck! Contracts will also help you get paid if the business takes your code without paying (I know of this happening).
U.S. Federal IP law says that the creator of the IP owns the IP unless otherwise stated in the contract.
The creator of the IP gives the customer a license to use the IP. Since you still own the IP you can use it on other projects. If the contract states otherwise then the contract will prevail.
If you do give the source code to your customer try to make sure the transfer agreement allows for joint custody; you and your customer.
Regarding the "Works for Hire" comment: A works for hire clause must be in the contract for it to apply. If it's not in the contract then the default goes back to the creator retaining ownership.
As i understood, you are trying to reuse a code you developed inside your society in other projects, but it's not mentioned in the contract that you can't do that. Well i think that is forbidden anyway, because the machine you used , the internet and everything belongs to your society, even though they did nothing to help you developing that code.
It's owned by whoever's paying for the work.