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.