You are here: Home Law Topics Intellectual Property How to draft a Software development agreement under Chinese law: a checklist

China Lawyer Blog - We answer your questions

How to draft a Software development agreement under Chinese law: a checklist

Software development agreement

Our software attorneys are capable of developing and negotiating software development contracts that protect the interests of clients and software developers alike. These development contracts often contain terms outlining the intellectual property (IP) ownership for these respective parties. A software development agreement is an intelligent way to head off disputes that might arise down the road, and it can help businesses avoid unnecessary litigation.

Software Development Agreements checklist

This checklist is designed to help those new to software development agreements under Chinese law to ensure that they have considered the principal issues that a typical agreement should cover.  It also provides a little guidance as to the different approaches to some of the issues one you do business in China.

I have categorised each issue under one of these headings:

  • the software design and development process
  • the software design and development process
  • developer and customer testing
  • developer and customer testing
  • intellectual property rights and licensing
  • software installation and integration
  • warranties and indemnities
  • support, maintenance and service levels
  • updates and upgrades
  • other ancillary services
  • source code escrow
  • contract variation and change control
  • termination and its consequences
  • dispute resolution

The software design and development process

Design and development processes vary considerably depending upon the size and experience of the development team, the nature and complexity of the software, the demands of the client, and the development methodologies employed.

Nonetheless, there are a number of almost universally valid questions that should be considered when preparing the software development agreement:

  • In what document or documents will the specification be set out?
  • By what process will the specification for the software be agreed or elaborated?
  • How might the agreement or elaboration of the software specification affect charges and other contract terms?
  • What will be the client's involvement in the design and development process?
  • What is the timetable for the development of the software?
  • In what circumstances, and to what extent, should the timetable be flexible?
  • Developing a Custom Software Development Agreement

Unfortunately, many businesses may not have the internal capability or the foresight to devote resources toward protecting their software. Even after a developer generates its final product for a client, the developer may be able to deliver the product to other clients in similar fields, if a software development agreement is not in place. Because development contracts might differ greatly depending on the business involved, it is important to hire a software attorney that can create a customized software agreement based on each client’s needs. These agreements can cover terms such as a transfer of copyright from the developer to the client, and they can dictate a specific type of procedure for resolving disputes, such as arbitration or mediation. Software agreements can also address the “work made for hire” doctrine.

Developer and customer testing

Testing is built-in to modern software development techniques, but it is also often an express requirement of software development agreements.

  • Will the developer and/or the customer have a contractual obligation to test the software?
  • Which specific tests will be used, and at what point or points must they be performed?
  • What access will the client have to the results of tests undertaken by the developer, and vice versa?
  • How will the results of the tests be evaluated?
  • What will be the consequences of that evaluation process?
  • Will testing form part of a formal software acceptance procedure?

Intellectual property rights and licensing

Software is protected primarily by the law of copyright, with particular elements of a software system sometimes benefiting from the protection of other intellectual property rights.  Because using software always involves copying software, the developer must grant a licence to the customer, or must assign the required intellectual property rights to the customer.

  1. What intellectual property rights subsist in the software?
  2. Are different licences required for different software modules or elements?
  3. Will the software, or any element of the software, be open source?  If so, which open source licences are or will be used?
  4. Are any other third party licences required?
  5. What licensing/charging model will be used, and how will this affect the drafting of the licence itself?
  6. What will be specifically included / excluded from the licence?
  7. What sub-licensing rights does the client need?
  8. Will the client have any rights to modify the software and/or access the software source code?
  9. Will any rights be assigned (i.e. transferred) from the developer to the client?

Software installation and integration

Before use, software usually needs to be installed, configured and integrated with other software systems.  Sometimes the developer will take the lead in this process, sometimes the client.  In either case, it is important to clarify in the development agreement the extent of the developer's obligations.

  • Which party will install, configure and integrate the software?
  • What level of cooperation will be required from the other party in connection with this process?
  • How will technical challenges arising from this process be dealt with?
  • Will developer service in this area be subject to separate charges?

As a software and copyrights law firm, our software and copyrights attorneys can assist with advising on software development agreements legal issues. See our Software & Copyrights service line page for additional information about software development agreements legal services.

Warranties and indemnities

Warranties and indemnities are used to allocate risk between the parties to the contract.  Warranties are promises that a particular state of affairs obtains; indemnities are undertakings to compensate by a defined measure (usually going beyond standard contractual damages) in defined circumstances.

  • To what extent will the developer guarantee that the software will not infringe any third party intellectual property?
  • Will the developer indemnify the client if the software does infringe a third party's rights?
  • Will IP infringement indemnities in the contract be subject to the standard quid pro quo: rights for the developer to control and conduct the dispute and any settlement with the third party?
  • Will the developer give specific warranties as to the performance, stability or security of the software?
  • What other warranties and indemnities should be included in the agreement?

Support services

Some, but not all, software development agreements include support provisions.  These range from the very simple to the very detailed.  If you plan to include support provisions in your agreement, you should consider the following questions, amongst others.

  1. How will support be provided: by email, telephone, in person?
  2. What types of questions and problems will be covered by the support services?
  3. Will specific commitments be given by the developer in relation to support services, such as specified acknowledgment, response and resolution times?
  4. What if any limits will be placed upon the provision of support services?
  5. In what circumstances will support services be chargeable?
  6. Will the details of support services provision be set out in a separate service level agreement (commonly attached to the main agreement as a schedule or annex)?

Maintenance services, updates and upgrades

Standard software programs tend to change quickly.  Indeed, if they are to continue in use, software programs have to change to keep pace with changes in other software programs upon which they depends or with which they integrate.  Custom software produced under a software development agreement may also need to be updated and upgraded.

  • What sort of updates and upgrades will be necessary to deal with technological changes?
  • Will additional functionality be requested by the client, and should this be addressed through maintenance provisions?
  • What specific updating and upgrading obligations will there be in relation to both standard software modules and custom software elements?
  • Which party will apply the updates and upgrades?
  • Will updates or upgrades be forced?
  • How will updates and upgrades interact with support services obligations?

Other ancillary services

Typically, a software development contract may provide for training and consultancy services, in addition to the core services.

  • Will the scope of ancillary services be defined at the outset, or subject to later agreement?
  • Can the developer refuse to provide the ancillary services, either generally or in defined circumstances?
  • How will the developer be remunerated in respect of ancillary services?

Source code escrow

Software systems are critical to many business, and they may not be easily or cheaply substitutable; in practical terms, they may not be substitutable at all.  This can leave clients at the mercy of their software vendors.  For instance, if a vendor goes to the wall, how will the client maintain the software?  That's where source code escrow (the holding of source code by a trusted third party to be released upon defined release events) comes in.

  1. Who will or may act as escrow agent?
  2. What is the timetable for entering into escrow arrangements?
  3. How is “source code” defined in respect of the escrow arrangements?
  4. What obligations will the developer have to keep the source code held by the escrow agent up-to-date?
  5. What events will give rise to a release of source code?
  6. On what basis will the source code be licensed to the client in the event of release?
  7. Will a distinct escrow agreement be annexed to the main software development agreement?

Contract variation and change control

The world changes, and contracts must change too.  Contractual variations can be as simple as an exchange of emails, but you need to beware of the possibilities of accidental, unauthorised or ill-considered changes.

  • Will either party have any (limited) right unilaterally to vary the software specification or the contract generally?
  • Should a formal change control procedure - usually taking the form of an exchange or series of exchanges of written notices - be introduced?

Termination and its consequences

It pays to take great care when drafting clauses governing termination and the consequences of termination.

  • In what circumstances can the agreement be terminated?
  • Does termination of the agreement imply termination of licences in the agreement?
  • Generally, which provisions of the agreement will survive termination?
  • Where a licence has been terminated, what if any obligations will be placed upon the client to remove the software from its systems, return materials to the developer and formally attest that it has done so?
  • Will any charges be refunded in the event of termination?
  • Will any additional charges be payable after termination?

Dispute resolution

Whilst one purpose of an software development agreement is to avoid disputes, the risk of a dispute cannot be altogether eliminated.  Another important purpose, then, is to ensure that disputes are handled effectively.

  • Which law will govern disputes under the contract?
  • Will the parties submit to any form of alternative dispute resolution (such as mediation or expert determination)?
  • If so, will all disputes be referred to ADR, or only some disputes?
  • If the courts are to have jurisdiction to adjudicate disputes, which courts?

Negotiating Software Development Agreements

Software developers may want to agree to terms regarding the specific type of software being developed for their client. They may also want different payment terms such as a time and materials agreement or a fixed-price agreement. Such terms might prevent a nonperformance claim after the developer completes work on the software. On the other hand, clients may want a warranty of specific performance regarding the capabilities of the software. We can help both sides come to an agreement that will satisfy their individual development agreement needs.

If you think of any other questions that should be asked, please post them below, and I'll add them to the list.

Call our China IP lawyer now for a FREE, no-obligation consultation with one of our experienced account executives, and let us show you the difference that professionalism, quality and teamwork can make. For those question in legal area of contract law and information technology law, we can provide free preliminary consultation through phone call and email.

  • Goal

  • Fees

The law blog is running by a China lawyer working for a full-service law firm, offering practical, results-driven advice on employment law, divorce, company law, and other legal issues. Our goal is to manage these issues effectively so that our clients can focus on what they could do best.

China Lawyer Blog will charge you under your specific circumstances in the following styles:
(1) Hourly fee arrangements
(2) Contingency fee arrangements
(3) Flat fee arrangements
(4) Percentage fee arrangements

Learn More...


China Lawyer Blog China Lawyer Society

China Lawyer

I am a licensed China lawyer. Most clients are foreign nationals and companies. China Lawyer Blog have associates in Beijing, Shanghai, Tianjin, Guangzhou, Suzhou, Nanjing, Qingdao, Fuzhou, Hainan, Hefei, Wuhan, Xian, Changsha, Xiamen and Hangzhou. Learn More

Latest Comments


China law society award

Style of Service

This China Lawyer Blog is aiming at providing better knowledge and understanding of Chinese law for foreigners. Should you have any legal issue in China, do not hesitate to contact China Lawyer Blog for consultation. Preliminary consultation is free. Further legal service, however, will be charged in due rate and in due course.

You are welcomed to ask for a quotation pursuant to your specific circumstance.

About author

China Lawyer BLog AuthorPeter Zhu, an experienced China attorney licensed to practice law for more than ten years, the author of this China Lawyer blog, welcomes any enquiry or consultation related to Chinese law.