Freelance contracts that anyone can understand

I was invited to speak on an episode of the Ruby Freelancers podcast today about client red flags and a lot of conversation seemed to center around what was in my contract.

I have a different contract style than most people: mine is in plain language (no legalese) and I consider it to be a living document. Whenever I have an issue with a certain process or client, I am sure to add language to my contract to insure that the issue won't come up again. I'm a big fan of being up-front with clients so they know what to expect from working with me. What better way to do this in a contract they can read and understand? No surprises makes for happy everyone.

I based my contract off of Andy Clarke's Contract Killer from 24 Ways from a few years ago. As you can see, mine has evolved a quite a bit from its original state, but I definitely recommend taking a look at his and reading his reasoning behind using a plain language contract.

Edit: I forgot to mention: I charge more if a client would prefer I sign their contract instead of signing mine. This allows me to get a lawyer to go over their contract as well as adjust to working more within their boundaries and constraints.

Note: I've removed any personal details and made it as easy for you to copy and paste to use for your own contracts. It is also available on github.







We will always do our best to fulfill your needs and meet your goals, but sometimes it is best to have a few simple things written down so that we both know what is what, who should do what and what happens if stuff goes wrong. In this contract you won't find complicated legal terms or large passages of unreadable text. We have no desire to trick you into signing something that you might later regret. We do want what's best for the safety of both parties, now and in the future.

In short:

You ([CLIENT COMPANY]) are hiring us ([MY COMPANY]) to [PROJECT NAME OR DESCRIPTION] at the hourly rate of [HOURLY RATE] per hour. Of course it's a little more complicated, but we'll get to that.

What do both parties agree to do?

As our customer, you have the power and ability to enter into this contract on behalf of your company or organization. You agree to provide us with everything that we need to complete the project including text, images and other information as and when we need it, and in the format that we ask for. You agree to review our work, provide feedback and sign-off approval in a timely manner. Deadlines work two ways and you will also be bound by any dates that we set together. You also agree to stick to the payment schedule set out at the end of this contract.

We have the experience and ability to perform the services you need from us and we will carry them out in a professional and timely manner. Along the way we will endeavor to meet all the deadlines set but we can't be responsible for a missed launch date or a deadline if you have been late in supplying materials or have not approved or signed off our work on-time at any stage. On top of this we will also maintain the confidentiality of any information that you give us.

Getting down to the nitty gritty

What we need from you
Below is a list of items we’ll need up front from you. Every project is slightly different, so there may be things we’ve missed from this list, but we will let you know as soon as we’re able if we’ve forgotten something we need.

  • [LIST OF NEEDS] (includes credentials, access to any necessary services or assets, etc)

Browser Compatibility
We have agreed to test our code in IE7+ as well as the latest releases of Firefox, Safari, and Chrome. Additionally we test on mobile Safari and mobile Chrome (iOS devices, Android devices). If you need browsers other than those listed tested, please provide us with a list of the browsers and devices. Testing additional browsers requires more testing time as well as potentially needing to code for that specific browser.
We code everything with progressive enhancement in mind. This means that modern browsers may show slight differences to older browsers (such as text and box shadows, rounded corners, etc) based on what a browser is able to render. Any changes will not affect the user experience.

We write tests before we write our code, which allows us to make sure that all required functionality is not only present, but works no matter how often we change things around. If your employees or other contractors will be working on the project along side us, we require that they also write tests for all code they produce to make sure we are all on the same page and not stepping on each others toes.

Version Control
Git allows us to keep track of all changes that happen in your application. This way, if a bug is introduced we can quickly find where it was added and roll back to the previous bug-free state while we fix things up! We require code be under version control so we can work on your application with your employees or other contractors without worrying that we may be undoing or overwriting each others changes.

This project is scheduled to begin [START DATE] and will last a [PROJECT DURATION].
Below is the milestone schedule:


This contract will be declared complete when all work completed has been paid in full.

Additional development
Any additional development needed above and beyond what we have agreed to here must be accompanied by an additional contract which we will be happy to provide upon request. We retain the right to refuse additional work that is not specifically outlined in this document.

All communications will be made during regular business hours (Monday-Friday, 9am-5pm CST, excluding holidays) and we will return any contact requests within one business day unless we notify you ahead of time that we will be out of the office. Of course we understand that emergencies do arise, so in the case of one know that our hours will be billed at time and a half. We appreciate communication in a text-based medium, but understand that not all discussions are easily done this way. We’re happy to speak to you on the phone, over Skype/Google Hangout, or in person if you are in the [MY CITY] area, keeping in mind that any decisions that are made will be written down and require your written approval.

As we value your time as well as our own, we ask that all meetings be scheduled a minimum of two business days in advance and be accompanied by an agenda so that we can be fully prepared. If we are unable to attend a meeting at your suggested time, we will be happy to provide two times that will work for us. Meetings must start and end on or before the time allotted and will be charged for whether you attend or not.

Project Management
If you do not have a preferred project management tool, we will provide you with a login for ours where you will be able to see the status of the project down to the specific task, so you will always be kept up to date. We’ll be relying on you to participate by answering our questions, stating your approval, requesting changes, and verifying completeness through the tool as well. We ask for a one business day turnaround time on responses so we can keep things moving along at a pace that will allow us to hit the milestones we decided on together.
To keep the project organized and the management of it easier, we prefer not to communicate any of the information stated above over ordinary email.

Legal stuff

Although we test extensively, we can't guarantee that the functions contained in any application will always be error-free and so we can't be liable to you or any third party for damages, including lost profits, lost savings or other incidental, consequential or special damages arising out of the operation of or inability to operate this application and any other web pages, even if you have advised us of the possibilities of such damages.

If any provision of this agreement shall be unlawful, void, or for any reason unenforceable, then that provision shall be deemed severable from this agreement and shall not affect the validity and enforceability of any remaining provisions.



You guarantee to us that any elements of text, graphics, photos, designs, trademarks, or other artwork that you provide us for inclusion in the application are either owned by your good selves, or that you have permission to use them.

When we receive your final payment, copyright is automatically assigned as follows:

You own the graphics and other visual elements that we create for you for this project. We will give you a copy of all files and you should store them safely as we are not required to keep them or provide any native source files that we used in making them.

You also own text content, photographs and other data you provided, unless someone else owns them. We own the code we produced and we retain the rights to license it how we choose or to contribute it back to the open source project which it is based on.
We love to show off our work and share what we have learned with other people, so we also reserve the right to display and link to your completed project as part of our portfolio and to write about the project on web sites, in magazine articles and in books as well as speak about them publicly at conferences. Of course we’re happy to keep this information to ourselves until your project goes live or 6 months from the handover date, whichever is sooner.


We are sure you understand how important it is as a small business that you pay the invoices that we send you promptly.  As we're also sure you'll want to stay friends, you agree to stick tightly to the following payment schedule.

Payment Schedule

We bill every other week on Friday and all invoices are payable upon receipt.

A deposit of [DEPOSIT AMOUNT] is due up front and will be subtracted from the last invoice.
Any payments not received within 7 days will halt work until the payment is received. If payment is late twice during the project, we retain the right to ask for prepayment of hours or to end the project, whichever is deemed more fitting for the situation.

If either party chooses to end the project, it must be done in writing. Please keep in mind that the deposit will be forfeited and any work that has been paid for up to that point will be turned over to you.

But where is all the horrible small print?

Just like a parking ticket, you cannot transfer this contract to anyone else without our permission. This contract stays in place and need not be renewed. If for some reason one part of this contract becomes invalid or unenforceable, the remaining parts of it remain in place.

Although the language is simple, the intentions are serious and this contract is a legal document under exclusive jurisdiction of [MY STATE] courts.

The dotted line

Signed by [MY NAME] and on behalf of [MY COMPANY]

Signed by [DECISION MAKER] and on behalf of [CLIENT COMPANY]

Dated [DATE]

Support Diversity in Tech

95% of funding for my over 1500hrs community work per year - including this and other free online resources, AlterConf, and Fund Club - comes from donations.

Donate Now