vSoares wrote: Who owns the software? This can be a loaded question, and I would be interested in other people's thoughts on this. I have been doing software development for a small company over the past few years. I knew early on, from past projects with them, that they were experts at "feature creep", and insisted on formal paperwork, sign-offs, and project check-points tied to invoicing and invoice payments. Before a project starts, I draw up a Functional Spec document and a Statement of Work. I provide time estimates for a schedule in the SoW, but make it clear where certain things depend on hardware or feedback from them. I do basic product testing, but they are responsible for acceptance testing. I have, unfortunately, had to put expirations into beta releases in order to ensure prompt testing and feedback from them and in some cases to ensure invoice payment. In the initial development, I probably worked for under $10 per hour, but I knew there would be further enhancements. Over the course of later releases, I believe I received a reasonable fee for the service. Now, as for ownership, I always took the position that they owned the "product" (i.e.: the idea of what it does, and the executable software, and the user documentation) while I owned the source code. Up until now, this has had little, if any, importance on the product and its development. However, I am thinking of moving on, but will provide them with a copy of the source code. However, since they never contracted me to provide them with source code, there is no documentation other than comments, about the source (i.e.: documents describing classes and how they interact with each other). Providing this was never part of any specification for any project. How do others deal with the ownership issue of software when doing freelance work? Has anyone ever done a job where the requirement from day one was to produce an application and fully-documented source code that was all handed over for them to work with themselves in the future?