Janet Ruhl's Computer Consultant's Resource Page

Consulting Contracts - Software Issues
__________________________

SITE MAP

WHAT'S NEW

REAL RATE SURVEY
View
Search
Rate Analysis
Contribute Rate Info

SALARY SURVEY
View
Search
Salary Analysis
Contribute Salary Data

FIND CONSULTANTS
Search Directory
List Yourself

MESSAGE BOARD
Read & Post
Search

TIPS & GOTCHAS

BOOKS & TAPES
Answers for Computer Contractors
Computer Consultant's Workbook
Computer Job Survival Guide
Audiotapes for Consultants
Survey Reports

ORDER

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 client

At 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 Rights

However, 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
Clauses Involving Software Development

  • Have you defined your independent contractor status?
  • Have you eliminated "work for hire" wording?
  • Have you discussed ownership of the code with the client?
  • Have you protected your software libraries and reusable routines?
  • Have you made clear whether source code will be included?
  • Have you specified who will pay for software escrow, if needed?
  • Have you defined the conditions under which the client may resell your software?
  • Have you defined how you will be paid for software that is resold?
  • Have you clarified who is responsible for maintaining software in a resale situation?

  • DOWNLOAD "Understanding Consulting Contracts" e-book NEW!

Home ...

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.