Ask HN: Freelance Developer - Who retains ownership of code?
I'm a developer with my own S-Corp, writing iOS apps for clients of various backgrounds.
My question -
When you work on a project for a client, do you typically retain ownership of the full codebase, or retain the right (ie: ownership) to use snippets in future projects for other clients? How do you approach the code ownership situation?
Would it be fair to say that ownership of all compiled and source code related to the project is the property of the client and the developer retains the right to use code snippets? Does anyone push to share ownership of the codebase?
Thank you in advance for feedback and your thoughts. Your master services agreement with your clients should define this in your intellectual property assignment and/or licensing clauses. To not have this defined is risky business practice. I currently do user experience consulting, and my current MSA (the standard AIGA MSA) has a full assignment clause, which reads, in part: Upon completion of the Services, and expressly subject to full payment of all fees, costs and expenses due, Designer hereby assigns to Client all right, title and interest, including without limitation copyright and other intellectual property rights, in and to the Final Art. There are other possible choices depending on the project, including limited-use licensing clauses: The rights granted to Client are for the usage of the Final Art in its original form only. Client may not crop, distort, manipulate, reconfigure, mimic, animate, create derivative works or extract portions or in any other manner, alter the Final Art. In both cases, any original inventions (e.g. a new design pattern) are only licensed; they are not assigned. When I did development consulting (many years ago), our rates changed depending on whether or not we could reuse what we created. It was all in the contracts. One thing to remember is that full assignment of all code literally means you need to wipe it from your systems, and do full knowledge transfer including how to build it, how to upload it to the App Store, etc. If they don't have a development team, that's probably pretty risky for them. IANAL: In the U.S. Copyright typically remains with the author unless, the author is an employee or explicitly assigns their rights to another party. I recommend consulting an attorney familiar with these matters. Thank you for the feedback. I suppose my question was operating under the assumption that once I decide how I want the contract structured, I would have a lawyer write it up sufficiently. Its more a question about do I want to share ownership of the source with the client, fully assign, etc. What is considered reasonable in the freelance development contracting space. In part, I was contradicting the post which stated the code belongs to the client...while lessening the odds of a pissing match. My industry benefits from standardized agreements (AIA) developed over the past 100 years. The issue with passing ownership of the code is that it probably increases (and in all cases changes) your risk exposure. This is a matter to discuss with your insurance agent. You may be moving from services to products, or vice versa, in a way that is not obvious. In general, assigning copyright is something for which you should be compensated. I would suggest that in software development, retaining copyright offers more potential for repeat business via new versions, whereas providing code may turn a happy customer into an angry one when his 17 year old nephew says he can't modify it because it is junk. good luck Client owns the project and codebase, particularly if they paid for it. Developer does not have the right to take that code and resell/re-use, but it would be really difficult for client to enforce or restrict a freelacer from using "snippets". He should write into the MSA that he has a standard library of code snippets already written that he plans to incorporate into the finished work, and clearly label these in the codebase with an explicit license.