Here's my standard consulting contract in its entirety, along with explanations about each section. First, the intro:
BUSINESS CONSULTANT AGREEMENT
This agreement is made as of __________________, by and between _______________________ ("Client"), a __________________ company, and CAMDEN SOFTWARE CONSULTING ("Consultant"), a Washington company.
Fill in the blanks with the contract date, the name of your client, and where they are located or incorporated (you might need to change "company" to "corporation"). Naturally, your template should have your company name and location instead of mine.
A. Client desires to retain the services of Consultant for the initial period of twelve (12) calendar months, and Consultant is willing to perform the services called for upon the terms and conditions set forth in this Agreement.
NOW THEREFORE, for and in consideration of the premises and the mutual covenants hereinafter entered into, the parties agree as follows:
1. Terms of Agreement. The engagement shall commence as of _________________ and shall continue to and including _______________. This Agreement can be extended by mutual consent of the parties hereto upon the same terms and conditions for a period of time as agreed upon by the parties.
A one year initial period is usual for me, and then I send them a new contract; this allows me to negotiate changes in rate or anything else on a regular interval. For some short-term projects that have a well-defined scope and that you know you won't renew, you could specify the exact period here.
2. Duties. Consultant shall provide software planning, design and development services to Client.
This is what I do -- change this to say what you do. In my opinion it's best not to be too specific, so you can do whatever the client needs but not get roped into anything you don't want to do. On the other hand, if you're specifically trying to prevent certain types of duties, you might want to barricade yourself in here.
3. Time Requirements. Consultant agrees to furnish Client with consulting services as required by Client and as mutually agreed upon in advance by the parties hereto.
I don't make specific time commitments in contracts if I can help it, although I have capitulated to occasional demands for a specific number of hours. I'd rather keep it as flexible as possible, so I can easily devote attention to emergencies from other clients when they arise.
4. Compensation and Terms. Client shall pay Consultant the sum of ___________________ ($___.00) per hour for services performed. Client shall pay Consultant the sum of ___________________ ($___.00) per hour for travel time when such travel is authorized by Client. Travel time includes all time spent between departure from origination and arrival at destination, inbound and outbound, minus any time therein during which billable services are performed. Consultant shall present an invoice to Client each month for services performed, travel time, and expenses. Payment shall be due in full within 30 days of the date of the invoice.
Fill in the blanks with your hourly rate and your travel time rate, presuming you're hourly. If you have other terms, this section will need a lot of rewording. I generally charge half my hourly rate for travel time. Note the definition of travel time; if I'm able to work while traveling, I bill that time at full rate. You'll also want to modify the terms if yours are other than Net/30.
5. Expenses. Client shall pay all expenses reasonably incurred by Consultant in the course of performing services under this Agreement, as mutually agreed upon in advance by the parties hereto.
I don't get wicked with my clients over expenses. For instance, I usually eat the costs of hardware and software licenses, unless it's expensive and highly specific to their needs. But I like to have this coverage in here so I don't have to eat air fare and hotel charges. Note how "as mutually agreed upon in advance" is intentionally vague. It doesn't have to be in writing -- though I like to get and save an e-mail confirming their commitment, just in case.
6. Confidentiality. Consultant shall treat as confidential and shall not disclose or use for the benefit of any person other than Client any and all information made available or disclosed to Consultant as a result of or related to the Business Consultant Agreement; provided, however, Consultant shall have no obligation hereunder as to any portion of such information which is disclosed by Client to others without any restriction on use and disclosure.
Here's a mini-NDA, so I don't need a separate agreement for confidentiality. It's a pretty broad statement -- essentially, I can't tell anyone anything about the work I do for my client unless they say I can, or they've already made the information public through other channels (inclusive or).
7. Rights and Licenses.
(a) Consultant hereby grants to Client, and Client hereby accepts the entire right, title, and interest of Consultant in and to any software, documentation, and information first produced or created by or for Consultant as a result of the performance of work or the rendition of services under the Business Consultant Agreement.
Most of my clients are vendors of proprietary software (yes, I work for some of the "evil" closed-source establishments), so they demand the full and exclusive rights to anything that I produce specifically for them. If you work for other types of companies, they probably don't care about the copyright to your software, so you might want to reserve those rights instead. You might even just omit section 7 entirely and let default copyright law apply.
(b) Consultant hereby grants to Client, and Client hereby accepts, an unlimited, unrestricted, royalty-free, fully paid, worldwide and nonexclusive license to any software, documentation and information not first produced or created by or for Consultant as a result of the performance of work or the rendition of services under this agreement, but included in said work or services, provided Consultant holds copyright to said software, documentation, or information.
Let's say I developed a useful algorithm a year ago and published it on my blog. It perfectly fits a purpose for my client, so I use it. But I don't want to give up my copyright on that code just because it is now part of their product. So, I grant them a non-exclusive license without any restrictions; they can resell it as part of their product without accounting to me, but I retain the right to use that code as I see fit.
(c) Consultant may utilize publicly distributed software, documentation and information within the solutions provided to Client under the terms of this agreement, provided that said software, documentation, and information is either in the public domain or is licensed for public distribution under terms that do not conflict with the licensing of Client's products in which they are included.
This is a relatively new section, dealing with open source and other publicly distributed material. I let my client know that I won't reinvent the wheel if freely available source code fits the project. But because my client is going to sell what I produce for them, I must insure that any distribution license for this material doesn't force them to choose between changing their license terms or violating the license of the material in question. Thus, for instance, I can almost never use anything that's licensed under the GPL. There's some overlap between (b) and (c) -- they both apply to anything that I've published on Chip's Tips -- but the two categories aren't incompatible.
8. Relationship. Consultant is retained by Client solely for the purposes and to the extent set forth in this Agreement, and Consultant's relationship to Client shall during the terms of this Agreement be that of an independent contractor.
9. Waiver, Modification, or Cancellation. Any waiver, alteration, or modification of any of the provisions of this Agreement or cancellation or replacement of this Agreement shall not be valid unless in writing and signed by the parties.
Standard legal CYA that prevents "but you told me...".
10. Assignment. Any attempt to assign or transfer any rights, duties, or obligations herein shall render such attempted assignment or transfer null and void.
No bait and switch. They're signing me, and they'll get me. Likewise, they can't push their side of the bargain off on someone else.
11. Liability. In no event shall Consultant be liable for any damages arising from the use of the software developed under the terms of this Agreement.
Very important -- if somewhat unenforceable. But at least they signed to it, so we know where the expectations are.
12. Governing Law. This Agreement shall be construed in accordance with and governed by the laws of the State of Washington.
That's where I live and work -- change as appropriate. One of my clients insisted on making it their home state instead. I hope they never add travel to court to the indignity of being sued.
___________________, Title: ___________
CAMDEN SOFTWARE CONSULTING
Sterling W. Camden, IV, Owner
Fill in the name of your client and the name and title of the person who will sign the agreement. Change CAMDEN SOFTWARE CONSULTING and my name to yours. Send it to your client and request that they sign and return a copy (I used to say "send two and get them to send one back," but nowadays we generally e-mail PDFs instead of trusting the postal service to deliver tree flesh). Don't start work until you get the returned copy. Trust me on that.
In preparing this post, I realized just how different the requirements can be for a contract from person to person and from job to job. Before you adopt this version wholesale, please consult with your lawyer to make sure it says what you want it to say. I am not a lawyer, so please don't take my word as legal advice. I assume no liability for damages resulting from the use of any part of this contract for any purpose, including but not limited to kindling a fire, blowing your nose, or making paper airplanes.
Thanks to Chad Perrin (of TechRepublic's IT Security blog), who suggested this subject to me after reading patrick's comment. He also helped me identify some changes I wanted to make to my standard contract before I published it for all the world to see how stupidly vulnerable I was.
Additional sample consulting contracts
- Build your own consulting contract using this sample form
- Use this simple letter of agreement for your quick consulting jobs
Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant blog, he also contributes to [Geeks Are Sexy] Technology News and his two personal blogs, Chip's Quips and Chip's Tips for Developers.