I'm looking for free or inexpensive legal resources regarding programming contracts. There is of course the option of hiring a lawyer, but I'd like to do some leg work on my own to keep costs down.
If you're in the UK, you should check out the PCG. They've got a massive amount of information, including contracts to download.
If you want to be fully protected I think you will need to seek the advice of a lawyer unfortunately. There are ones that do specialize in IT matters so best to ask around in your area. If they have worked in IT before they probably have some templates they can use to create a contract for you. Better to be safe than sorry. Laws can vary from location to location. Costs are part of running a business, and doing so professionally makes you look better and protects you in the long run. It may seem like an expense right now but if a dispute ever comes up you may find it was a cheap investment.
Also keep in mind that if your doing work for a bigger client than yourself, which is most likely the case if your a freelance contractor, that they no doubt will have lawyers, and more of them.
Hi Nick,
If you are hiring a contractor, you may want to use a firm that specializes in hiring out folks. They typically have reasonable and fair contracts, if anything, are slightly nicer to the employer as far as flexibility goes.
If you are the contractor (I apologize, I couldn't quite decide this from your post) then a lawyer is best, at least for the first cut. Once you have a form contract you can swap names and values out.
I strongly suggest you avoid doing legal documents yourself because, not unlike cryptography, there are subtleties that come from experience.
Think of legal documents as programs in a language you're not familiar with, to execute on a system that's not quite like anything you've experienced. It's complicated, and legal documents are frequently attacked maliciously (meaning with the intent to break them), so it's kind of like writing thread-safe crypto code.
If you've comfortable with your lawyer writing multithreaded security software for your Linux box, you should be comfortable with doing your own lawyer work, and vice versa.
This doesn't apply to most normal employment situations, but the moment things change you might do better to consult a lawyer - before signing any termination agreements, for example. I nearly lost money that way, and a friend lost quite a bit. However, contracting is not a normal employment situation.
Go to your local bar association, and ask them to recommend a lawyer with experience with software contract issues. Go to that lawyer (bringing whatever you've got so far), and get their advice. It'll likely cost you hundreds of dollars, but messing up on your own can easily cost you tens of thousands.