Pragmatic contract law for entrepreneurs

Published August 17th, 2006 edit replace rm!

I am now sitting in Buenos Aires with my head full of debates back and forth across the Atlantic around Electronic Contracts, Electronic Signatures etc. for Tractis one of the projects I’m working on right now. I thought it might not be a bad idea to write some of my ideas out here publicly to perhaps open a debate a bit and also help other entrepreneurs understand exactly what contracts are and what they really mean to in particular small high tech startups.

As in any such discussion I need to say that IANAL. I probably should say that this is not intended as legal advice, but that would be another annoying lawyeristic lie. Yes this is intended as legal advice but you must use it at your own risk.

I think DHH ideas of pragmatic and opinionated programing really is very applicable to contract law as well. Let the big guys with their legal teams do their stuff and let us small fish worry about our business.

What is a contract?

Check Wikipedia’s definition of Contract for a more in depth definition. But I will put my own pragmatic and opinionated definition here:

A contract is an agreement between 2 or more parties for their mutual benefit

Now that wasn’t so hard was it? That is it. There is no more to it than that. The contract is the essence of the free market – about mutual benefits:

  • A contract between a programmer and a entrepreneur is of mutual benefit to both.
  • A rental contract is of mutual benefit to the landlord and the renter.
  • My WideWord usage agreement is of mutual benefit for me and my users.
  • A purchase of a book from Pragmatic Programmer is an agreement between you and “The Pragmatic Programmers, LLC” for mutual benefit. You receive a great book and they receive money from you.

Many people think that a contract has to be a paper document written in unreadable language preferably by lawyers and with the signature of some unwitting sucker on it. Nothing is further from the truth.

When you buy something from Amazon or a burger at MacDonalds the actual transaction is a contract. When you agree to a usage agreement by clicking agree you are agreeing to a contract. A $1 bill is a contract between the US government and the bearer. A share of GOOG is a contract between the founders of Google and you the shareholder. When you bought that share on eTrade you agreed to a contract. You might be working on a web application at the moment which includes some sort of contract without you even realizing it.


Where the complexity comes in is when there is a disagreement. Disagreements happen when the contract fails to be of mutual benefit. This can happen for many reasons but the two most common are:

  • One party fails to fulfill his part
  • Vague or complex language – so one party doesn’t understand the benefits he will receive or doesn’t comply fully

The first one is where the real risk is. The second one just shouldn’t happen but does all the time. The second one is also the easiest to avoid. Remember a good contract provides mutual benefit without any disagreement.

To do this write in plain language. Only use terms and language that all parties understand without using lawyers or other consultants.

For example many contracts for programmers might involve some kind of vague techno-babble that neither the programmer or the client really understand – say lines of code, program, classes or modules. This should really be avoided unless you can specify exactly what it means for both parties.


Concerning the first of the two main reasons for disagreements is a bit harder to deal with and this is where the questions of enforcement come in. This is the part of the contract that says what happens if one party does not fulfill his part.

When you hear people talking about the legality of contracts what they really mean is the enforceability of the contract. But things are not really as simple and cut in steel as you might first of all think. For example many people mistakingly mistake the courts as your only way of enforcing a contract. Courts are costly for all parties and for most (but not all) contracts that small businesses do they are not worth the while.

Some countries have small claims courts that open up the legal system for small businesses, but really is it worth your while and reputation to go to the courts?

In reality most disputes are handled between the parties involved. For example if you buy something on the web and it turns up damaged you contact the vendor and in most cases the vendor will take care of it. This is the ideal situation and a good contract should describe as well as possible how this should be done.

If no agreement on solving the disagreement can be made, you may need to take it further. Yet again courts are not the final solution. There are many other angles of arbitration before you reach the courts. Each one would depend on the kind of contract and also where the parties are.

Each and every day for example the credit card companies and PayPal arbitrate many thousands (I made that number up) of disputes between consumers and vendors. EBay have offered their reputation system as a way of providing further enforceability by risking reputation.

A newer way is to use blogging as a way of enforcing contracts. This has mostly been seen to now with individuals vs big companies like Jeff Jarvis vs. Dell. I can imagine blog wars in the future between two unhappy individuals where third party blogs take on the role as independent arbitrators. Oh wait that has already happened.

The important thing to think about before even entering the contract is at what level are you willing to go if you need to enforce it. I would say the best thing to do think of it financially. What is the cost/benefit of enforcing the contract. Even going to a small claims court is not worth $50 unless you for some reason need to set an example. For example many stores say we prosecute all shop lifters. They do this more as a preventative matter than because of the loss of a $2 trinket. But this is less about contract law than about taking a guy out in a fight on your first day in jail so that no one messes with you again. Just remember that being a hard ass could also hurt your reputation.

If you know from day one that you are not going to be taking a contract to court it is not that necessary to focus on foolishness that only courts and lawyers worry about. It’s much more important to work out a real agreement between you and the other party.

A case study on disagreements

Often when contracts are agreed upon this whole thing is rushed through, but it is important to specify. Here is an example of a contract boo-boo that I myself did recently:

Over the phone I agreed to help a relatively well known Danish blogger (lets call him Claus) out with some code for a new project he was developing. It involved converting an older system into a newer system. I was to receive a certain amount per hour and was supposed to help take some of the strain off the lead developer. I was supposed to let Claus know when I went over 10 hours so he would have an idea for his budget.

I did the work, but it turned out that it was more complex than I feel it initially had been presented to me. There was also a large amount of cleanup to be done before any real new features could be added. When the lead developer went on vacation I had to do some more work to get it online that wasn’t originally planned for me. Basically I was at 13 hours and most of the actual work at that time had been backend stuff, I had also let Claus know where we were with respect to time. I was actually at more but I decided to cut out all the normal development system setup time and much of the learning curve from the hours.

Removing, cleaning, configuring and all the other stuff that takes for ever on Java projects. There were some new features added but we were basically at a good point for adding more stuff in the future.

When time came for the first invoice I invoiced the above mentioned 13 hours. Claus let me know it would be hard to pay for more than 10 hours at the moment. As he hadn’t agreed to more than that and that he didn’t think enough new features had come out of it. I explained the above and told him he should pay the 13 hours.

After fairly polite bickering back and forth by email for several days I decided that I did not want to waste more time on it and accepted the 10 hours pay. Claus lost as well, as he had lost a good developer who had gone through the learning curve and was able to work well on the system in the future.

So what exactly happened here? This was a complete failure in writing out the terms and getting rid of things between the lines. It was caused by both of us really not communicating very well.

Firstly the contract was oral, which while legal is not really suited to a development project even a short one. Oral contracts are best suited for simple transactions such as buying a drink in a bar or a bag of oranges at the green grocers.

Secondly I completely mistook Claus’s level of development experience. He is very tech savy, but I assumed he had a fair amount of development experience or with managing projects like this. It turns out that he thought that features would just keep popping up from day one and I thought he realized that there would be an initial ramp up time and that axing features can be almost a big a job as developing new ones. So we both had bad assumptions about the other party.

Thirdly while we were talking about hours and everything he appears to have thought of it more as a fixed price contract where I thought of it as an hourly contract.

I am trying to be unbiased about the above, but I realise that I can’t be, so please forgive me “Claus” if my recollection is not the same as yours. The real point is that these things should have been worked out before. Also the agreement should have been worked out and finalized in an email rather than a phone call. Due to the fact that I wanted to work with Claus and he wanted to work with me and also that we were too polite, we both had too many assumptions and it ended badly.

How did we enforce it? Claus enforced it by not paying me what I was due and I enforced it by breaking of further opportunities of work. Neither I’m sure were ideal for the two of us. Both of us have been cold yet cordial to each other when we have bumped into each other since. Should I have gone to small claims court, should Claus? I don’t think it was worth it for either of us. In reality we came to a much better compromise that probably any court or third party arbitrator would have worked out for us.

Lawyers and fear

Lawyers are paid lots of money to avoid disagreements. They are necessary for some things. In particularly very complex contracts worth lots of money. But mostly they play on fear. Firstly they get you to contract them by providing fear into you, secondly they provide their service to you by inducing fear in to the party that you are supposed to be doing business with.

However if you remember the above about legality really meaning enforceability you can see where you might want to use lawyers. If you think (or fear) that one day you might have to enforce a contract through the legal system you are probably better of with them from day one.

In reality the argument “Is it legal?” is very similar to the “Does it scale?” argument in the web world between Ruby on Rails and J2EE. You often hear it as a typical heckle from people who should know better (including me, I’m ashamed to admit). In 95% of all cases it is better with simple (yet complete) straightforward agreements between the actual parties than involving lawyers.


Contracts are great, they are the lifeblood of commerce. But be aware when you are agreeing to a contract. Also remember:

A contract is an agreement between 2 or more parties for their mutual benefit

If all parties accept the agreement and receive their due benefits it is 100% legal no matter where you are in the world. Do everything you can to avoid disagreements by talking things through upfront.

I will try to talk more later about various kinds of law, such as Common Law vs. Civil Law. Digital signatures and other fun stuff.

Please comment below or in your own blogs with heckles, questions and other fun stuff.

About me

Pelle gravatar 160

My name is Pelle Braendgaard. Pronounce it like Pelé the footballer (no relation). CEO of Notabene where we are building FATF Crypto Travel Rule compliance software.

Most new articles by me are posted on our blog about Crypto markets, regulation and compliance

More about me:

Current projects and startups:

Other under Legal

Popular articles