Keeping Rights When Building Custom Software
Intellectual property concepts can be tricky.
The following is a reflection of my understanding of intellectual property, not as a lawyer but as a programmer who has made software for a couple decades.
One of my brothers makes custom furniture. When he makes a table, that table belongs to the buyer. The tree has been cut, the wood is used, the wood can't be used elsewhere (unless the table is dismantled), and the wood is good for only the person who owns the table.
However, if my brother designed the table or used one of his existing designs, he would continue to own the design. Not the table, but the design.
If the buyer of the table were to own the design, too, then my brother could not legally use that design in another table without permission from the original table buyer. Not even if he slightly changed the design, because that may be deemed to be a derivative work.
Software is trickier still. There is no wood.
When I build custom software, I reuse code I developed in earlier projects. It's why I can bid custom projects as low as I can.
Therefore, I must keep the copyrights of the code I write.
Without the copyrights, I would need to write new code for every project. And not just new code — it must be different enough so it is unlikely to be judged as a derivative work.
Without keeping the copyrights to custom software I write, I could not be competitive and my business would go kaput.
To make copies of the software and sell it requires the right to do so from the copyright owner. Resale rights are negotiable for custom projects.
Copyrights are not negotiable. I always keep those. As noted, it can mean the survival of the business and even the right to create any software I want to create.
Generally, I transfer all rights to the buyer except resale rights and copyrights when I create custom software. It means the buyer can do whatever they want with the software — use it, change it, copy it, dump it — whatever they want, except sell copies or derivatives.
I do not own the copyrights to changes the buyer may make to the software, but to the code I wrote for the custom project.
Sometimes I wish things were simpler :-)
Will Bontrager