Suppose subcontractor A makes software for company B. Both are in the US.
Company B would like to retain the rights to any code created for the project and all data will reside on databases managed by B.
Is this requirement allowed by contract law?
Is it possible to transfer authorship rights of the code written under the terms of the subcontracting agreement?
Yes - not only can it be done, normally it should be done.
For a discussion of works made for hire and U.S. copyright law, please see Why “Work Made for Hire” is a Term Made for Confusion.
Disclaimer: This information does not constitute legal advice and does not establish an attorney-client relationship.
This sounds like a typical outsourcing agreement. In all outsourced software development agreements, the company that engages the subcontractor provides clear provisions in the contract such that rights to any and all code written under the contract reside with the contracting firm. It is also typical to specify very strict non-disclosure, non-compete, and non-solicitation clauses in the contractual documents.
That said, any and all contracts should be reviewed by a qualified attorney.
Usually in software dev in the US the common contract is a work for hire based contract. http://en.wikipedia.org/wiki/Work_for_hire Under this generally yes authorship and all rights are transfered. Usually such contracts also have provisions that if for some reason work for hire isn't enforceable, you grant the company a exclusive license to all the code anyways.
Yes its allowed, normally its just a clause within your engagement contract for IP Ownership.
If you have developed the software already without a contract then you will need to writeup a seperate agreement which describes the IP and says they are assigning it to you.
Have a look at DocStoc for samples of these contracts (and run it past a lawyer before signing becuase I'm not one).