Protect your Software Rights when Negotiating Computer Consulting Contracts!Contract negotiations provide the best time for you and your clients to explore issues that might otherwise flare up into conflicts. Among the most important of these is the question of who owns the code you develop for the client. Common sense would suggest that if clients pay you to write code for them, they should own it and be free to do whatever they want with it including selling it to others. But common sense often fails to jibe with common law, and this is one case in which what the law specifies is exactly opposite what many of your clients assume to be true. Who owns the Rights?By law, independent contractors retain the copyright of any works they produce no matter who pays for them, unless they sign contracts assigning those rights to others. Clearly then, because your copyright in your software depends on your legal status being that of an independent contractor, your contract should begin by explicitly defining your independent contractor's status. Once this is done, you must also eliminate any client-supplied clauses that describe your efforts as "a work made for hire." That innocent wording transfers all rights to your work to the client! Next, because clients may not be aware of how the law treats code ownership and because less sophisticated clients often assume that they can make a bundle reselling the custom code you write for their business you must explain to them what rights you will be assigning to them and which rights you will retain. You must also make it clear if you will be charging extra for additional rights, for example the right to resell the software.
Assigning all rights to the clientAt one extreme, you can assign all rights to the software to the client which means the client can not only resell the software, but also prevent YOU from reusing it. In such a situation, you would be expected to turn over the complete source code to the client at the project’s ends. This is typically how the ownership issue is handled in brokered contract programming situations where you are brought in to work on a corporate system involving many developers and an existing code base.
Retaining Specific RightsHowever, when you are doing a stand-alone custom development project in which you use your own code libraries or modify your own generic base system, where the resale or reuse of the code is a real possibility, rights transfer becomes more complex. Though you can and should educate yourself on the subject, it’s best to avoid expensive mistakes by having an intellectual property lawyer with experience in software contracts have the final say on any rights-related contract you present to a client. In such a contract, you might give the client only the right to use your compiled code, and not provide any source code at all. This protects your code from copying and prevents clients hiring less competent programmers to make ill-advised modifications to it. But clients may resist this solution. Without source code they cannot maintain their application should you be hit by the proverbial truck. So you may have to offer to put your source code in escrow. This means entrusting it with a third party who has instructions to release it only under certain carefully defined conditions such as your death or your refusal to work on it. If you do this, make sure you spell out who pays for this expensive service. You may also charge extra for turning over the source code or for the rights to resell the application. Or you can negotiate a royalty should the client find another buyer for your software. If you do that, be sure to spell out who is responsible for maintaining and upgrading the software for future buyers and at what price. CONTRACT CHECKLIST
|
The information presented here is as accurate as possible. However it is presented with the understanding that the author is not engaged in rendering legal or accounting advice. If legal advice or other expert assistance is required, the services of a competent professional person should be sought.