Skip to content

Instantly share code, notes, and snippets.

@manarth
Created January 8, 2013 19:42
Show Gist options
  • Save manarth/4487229 to your computer and use it in GitHub Desktop.
Save manarth/4487229 to your computer and use it in GitHub Desktop.
Drupal contract, based on Andy Clarke's Killer Contract: https://gist.github.com/4031343

Technical Consultancy Contract

Between us [company name] and you [customer name]

Summary

We’ll always do our best to fulfil your needs and meet your expectations, but it’s important to have things written down so that we both know what’s what, who should do what and when, and what will happen if something goes wrong. In this contract you won’t find any complicated legal terms or long passages of unreadable text. We’ve no desire to trick you into signing something that you might later regret. What we do want is what’s best for both parties, now and in the future.

So in short;

You ([customer name]), are hiring us ([company name]) to provide IT consultancy. Of course it’s a little more complicated, but we’ll get to that.

What do both parties agree to do?

You: You have the authority to enter into this contract on behalf of yourself, your company or your organisation. You’ll give us everything we need to complete the project as and when and in the format we need it. You’ll review our work, provide feedback and approval in a timely manner too. Deadlines work two ways, so you’ll also be bound by dates we set together. You also agree to stick to the payment schedule set out at the end of this contract.

Us: We have the experience and ability to do everything we’ve agreed with you and we’ll do it all in a professional and timely manner. We’ll endeavour to meet every deadline that’s set and on top of that we'll maintain the confidentiality of everything you give us.

What will be delivered?

Deliverables

We create electronic work and use a source-control repository such as GitHub to store our work. We usually give you access to the repository throughout the development, so that at any point you can see how work is progressing.

Where we have given you access to the repository, that's usually enough to "deliver" the work. We're happy to deliver the work on CD, DVD, or USB memory stick at no extra cost - just ask us.

If you're using our source control repository, we will keep it open and available to you for a month after you've accepted the project, to give you plenty of time to create an independent copy.

Drupal modules

Where possible and appropriate, we will use (and configure) existing Drupal modules, rather than create new modules. We do this because an existing Drupal module has usually gone through more extensive testing, real-world production use, and is more widely known by developers, than a new module could be.

If we're building a website for you, and we decide to build a Drupal module as part of that, we might choose to release that module with a GPL licence and publish that module on Drupal.org. Releasing a module to the public gives it better visibility, which means more developers to use, test, and improve the module. If we're building a module that's very specific to your system, references your internal APIs, or is in some other way unsuitable for general release, we would probably decide not to release it. If you feel that a module we're developing must be exclusively licenced to you and no-one else, we need to agree this with us first.

Technical development

We primarily build things with Drupal, and we also use many other components (libraries, applications, APIs and other tools) in our work. We will strive to make sure our work follows best practice for the appropriate language or framework, commonly-accepted approaches, integrates gracefully with the components we're using, and is well-documented.

Text content

We’re not responsible for writing or inputting any text copy. If you’d like us to write new content or input text for you, we can provide a separate estimate for that.

Photographs

You should supply graphic files in an editable, vector digital format. You should supply photographs in a high resolution digital format. If you choose to buy stock photographs, we can suggest stock libraries. If you’d like us to search for photographs for you, we can provide a separate estimate for that.

HTML, CSS and Javascript

Some projects will require front-end code, including HTML, CSS and Javascript. We deliver front-end code developed from XHTML or HTML5 markup, CSS2.1 + 3 stylesheets for styling and unobtrusive Javascript for feature detection, poly-fills and behaviours. Our front-end code is expected to work with the themes that are bundled with Drupal core. Our front-end code will often function and appear as expected with custom themes without any further work. If you'd like us to make sure the front-end code works with a particular theme, we can provide a separate estimate for that.

Browser testing

Browser testing no longer means attempting to make a website look the same in browsers of different capabilities or on devices with different size screens. It does mean ensuring that a person’s experience of a design should be appropriate to the capabilities of a browser or device.

Desktop browser testing

We test our work in current versions of major desktop browsers including those made by Apple (Safari), Google (Chrome), Microsoft (Internet Explorer), and Mozilla Firefox. We’ll also test to ensure Microsoft Internet Explorer 8 for Windows users get an appropriate, possibly different, experience. We’ll often implement a simplified design (such as a single column layout) for Internet Explorer 7 and below for Windows and we won’t test in other older browsers unless you specify otherwise. If you need an enhanced design for an older browser, we can provide a separate estimate for that.

Mobile browser testing

Many websites will display and function properly on small screen devices without any extra development effort, and we don't specifically test on mobile browsers.

A mobile-specific theme or responsive layout can give a much better user-experience on a mobile device. The time to develop and test this can often be significant, so we don't include this in our work, but we can provide a separate estimate for this.

If we do agree to build and test for mobile devices, we test using Safari and Android browser.

We currently don’t test Blackberry OS or Blackberry QNX, Opera Mobile, Symbian or other mobile browsers. If you need us to test using these, we can provide a separate estimate for that.

Technical support

We’re not a website hosting company so we don’t offer support for website hosting, email or other services relating to hosting. You may already have professional hosting and you might even manage that hosting in-house; if you do, great. If you don’t, we can help set up an account for you with your preferred hosting provider or one of the hosting providers we work with. We can set up your site on a server, plus any statistics software such as Google Analytics and we can provide a separate estimate for that. Then, the updates to, and management of that server will be up to you.

Changes and revisions

We know from experience that fixed-price contracts are rarely beneficial to you, as they often limit you to your earliest ideas. We don’t want to limit your ability to change your mind. The price at the beginning of this contract is based on the features that you’ve told us you want to achieve, but we’re happy to be flexible. If you want to change your mind or add anything new, that won’t be a problem as we’ll provide a separate estimate for that.

Legal stuff

We can’t guarantee that our work will 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, even if you’ve advised us of them. Finally, if any provision of this contract shall be unlawful, void, or for any reason unenforceable, then that provision shall be deemed severable from this contract and shall not affect the validity and enforceability of any remaining provisions.

Phew.

Copyrights

First, you guarantee that all elements of text, images or other artwork you provide are either owned by your good selves, or that you’ve permission to use them.

Then, when your final payment has cleared, copyright will be automatically assigned as follows:

Some components may already be subject to other copyright or licences, such as GPL.

You’ll own the visual elements that we create for this project. We’ll give you source files and finished files and you should keep them somewhere safe as we’re not required to keep a copy. You own all elements of text, images and data you provided, unless someone else owns them.

We’ll own the unique combination of these elements that constitutes a complete design and we’ll license that you, exclusively and in perpetuity for this project only, unless we agree otherwise. We can provide a separate estimate for that.

We love to show off our work and share what we’ve learned with other people, so we reserve the right, with your permission, to display and link to your project as part of our portfolio and to write about it on websites, in magazine articles and in books.

Payments

We’re 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 tight to the following payment schedule.

Invoices will be raised at agreed points during the contract, usually:

  • just before the start of the project,
  • when the project is delivered to you for testing (at the start of "UAT" - User Acceptance Testing),
  • when the issues raised during UAT have been addressed ("Acceptance").

Payment is due within 30 calendar days of the invoice date. We ask that you pay direct to our bank account via BACS or other direct electronic payment (and if you can't make electronic payments, you agree that with us in advance). We will provide our bank details in any invoice we send.

VAT is not included in the quotes or estimates we give, and will be added to the invoice if it's subject to VAT.

But where’s all the horrible small print?

Just like a parking ticket, you can’t 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 English courts.

The dotted line

Signed by and on behalf of [company name] Signed by and on behalf of [customer name] Date [date]

Everyone should sign above and keep a copy for their records.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment