In this 2-part series, we shall acquaint ourselves with the various facets that make up a Software Agreement. We shall learn about the legal framework for regulation of software agreements, the essentials a good software agreement must have, important clauses of a software agreement, grey areas involved in the execution of a software agreements, dos and don’ts of a software agreement, the current international scenario and precedential judgments pertaining to the same.
Part-1 shall introduce us to the basic concept of Software Agreements, governing framework, essentials of a software agreement, important clauses that a Software Agreement contains and DO’s and DON’Ts to be followed while drafting a Software Agreement.
Most businesses use Software as a tool to grow their business. As per the definition provided by Encyclopaedia Britannica, Software is an instruction that tells a computer what to do. Software comprises the entire set of programs, procedures, and routines associated with the operation of a computer system.”
Software is crafted and developed by software developers, who analyze and understand the needs of the customer or the user and develop software accordingly. Additionally, they bring in upgrades, fix the bugs, and look after all the other developments and changes as and when required in the software.
Software Agreement is the agreement on the license, support, and development of standard software. Such agreements play an extremely essential role in the entire process of development and licensing of the software as it lays down every intricate detail related to the software itself and also the parties involved in the due process. A software agreement can be as flexible as the software needs it to be and in today’s world, software and its models are continuously evolving.
While no distinct checklist of DOs and DON’Ts can be an exhaustive list of issues that a software agreement will address but it can provide a better understanding of the several issues and necessities of a software agreement.
LAWS GOVERNING SOFTWARE AGREEMENTS IN INDIA
Indian Contract Act, 1872
Contracts of all kinds fall under the purview of the Contracts Act, and specifically, Section 75 of the Act deals with damages in the event of a breach of contract. As a result, in the event of a breach of contract, the parties will have the option of resorting to this Act.
The Copyright Act, 1957
This Act includes who shall be the owner; instances of assignment; infringement of copyright and provides civil remedies in the form of permanent injunctions. When the agreement is silent on matters of ownership/ assignment, the Act shall have an effect.
Trade Secrets are another important aspect of IPR. “Trade secrets in software could incorporate its thought, structure, or plan determinations. Software dispersed uniquely as item code can be mostly secured as a trade secret if the source code is kept classified.” However, India does not have any dedicated Trade Secrets law, yet.
Liability under Law of Torts
In most cases, software development contracts are prepared by the developers who try to incorporate all foreseeable situations, warranties, enforceable disclaimers, and clauses like the limitation of liability or exclusion, for remedy. The user can now bring a tort action to circumvent the contract and these limitation clauses because an action under torts is based on a specific tort irrespective of the contract.
Recovery under tort laws is commonly applicable for situations where the person or user of the software has suffered any physical harm and whether or not the remedy can be availed for business interruption/profit or loss arising out of software malfunction is still unclear.
For example, giant software companies such as Microsoft 2010, explicitly stated in their license agreement, conditions of liability that will allow the user to recover only direct damages up to the amount that has been paid for the software. Its liability clause provides for negligence or intentional conduct on part of the company’s employees as a ground to claim damages and the other general terms regarding the limit of liability are similar to that of Microsoft.
Software Developer’s Liability
The debate relating to the liability of a software developer for bugs, errors, or any defects to the software they develop and the extent of their liability for the losses that may arise out of these defects is not new and has always been a subject of discussion since the 1980s.
ESSENTIALS OF A SOFTWARE AGREEMENT
Software development projects require personnel, heavy costs and also may lead to contentious disputes. Thus, it is advisable to negotiate the terms beforehand and incorporate those terms in the contract. The first and foremost requirement is to have the purpose of the agreement cleared right at the beginning of negotiating and drafting the contract. Everything must be centered around that purpose and all the terms must reflect the intention of the parties.
All the necessary details, such as the features of a software proposed to be developed should be included in the contract and it is the responsibility of the legal team to ensure that the details are agreed upon by the parties and are incorporated into the agreement to avoid the disputes.
Software agreements are divided into five sections and each section holds significance as it lays down the basics for a contract and therefore should be carefully observed by the parties to the agreement:
- General Information
It is crucial to identify all the general information such as the type of agreement, the effective date, its term (duration of it being in force) because this information sets the tone of the agreement.
- Parties Involved
Information about the parties is another type of general information that should be included in software licensing agreements. Details like full name, address, and other contact information for the party providing the license and of the party/company/individual purchasing the same.
- Terms of the Agreement
This may include the consideration involved and agreed upon and the mode of payment. Parties may agree on a flat fee (the fixed charge for use of services) or flat fees accompanied by yearly maintenance fees. The parties may at this point agree whether the code will come with a license or will it be in nature of site license. These are some technicalities that should be dealt with by the parties at the time of framing of contract.
- Scope of Services
The contract should include the development services that the party is offering. In order to avoid dispute, the contract should have all specifications clearly stated to identify the scope of services. Moreover, the contract should make room for the procedure required to make amendments to the scope and the effect proposed amendments may have on cost and time.
- Specific Details
The fine details that did not make it to any other section shall be incorporated here and these are usually more specific to the situation in hand and this will include signature and dates that if the parties may desire can get it notarized.
IMPORTANT CLAUSES IN A SOFTWARE AGREEMENT
These clauses are important to incorporate in an agreement to ensure protection against any contingency that may arise in the future. Some of the important clauses are-
- Non-exclusivity clause: If the licensor believes that he can make a profit out of leasing the license to other parties as well then, the licensor may negotiate over the non- exclusivity clause.
- Non-transferability: This clause would prohibit the licensee from further assigning the use of software to another third This will ensure that the license is non- transferable and will avoid dispute in situations where the licensor and third party do not have an enforceable agreement between them.
- Ownership rights: The licensor will always want the ownership rights to the software to remain the property of the licensor, so including this clause is beneficial if the licensor does not want any third party to financially gain out of the property of the licensor.
- Modifications: This clause would allow/disallow any modifications in the specifications of the software as agreed between the parties. The term ‘modification’ should be clearly defined in the agreement to restrict/permit modifications that suit the needs of parties. This clause is particularly important for a software development agreement where even a minute change in details of software leads to changes in the cost and duration of the project.
- Breach of contract: If one party fails to carry out its obligations under the agreement, the other party should be able to take action against it. One of the remedies available is to revoke the agreement in case any party defaults in executing the contract, and this should be clearly stated in the agreement.
- Usage : This clause answers the question ‘DOES THIS LICENSE GRANT COVER ALL ANTICIPATED USAGE BY LICENSEE?’. The license usage clause will specify whether the use of the license extends to affiliates, subsidiaries, consultants, or third-party access to licensed products.
- Governing Law: This is another crucial clause that will specify the applicable law for settling disputes. This is to ensure that all rules are set out in advance concerning ‘which court to approach’ and ‘under which law.’
- Scope of the agreement and the services
It is extremely critical and important to include every detail, explicitly in the final contract. For the same reason, it is advised to have a clear mutual understanding between the parties regarding the understanding of the several aspects involved in the agreement and the development process. The following areas should be taken into consideration-
- The software development process.
- A comprehensible and detailed idea of the several phases included in the process.
- Preparing a development timetable and recognizing the time frames for specific deliverables and delivery dates.
- Technicalities and Specifications
The documents or the clauses related to the specifications and technicalities of the software should be well detailed and explicit in order to avoid future risks or confusion.
- Variations in the Scope of Services
Variations should be included (by consent of the parties) in areas like-
- Time specifications or time frames
- Cost variations
- What happens in case of Non-Performance?
It is advised to make sure that the non-performance clauses are clear and expressly stated in the agreement. The terms and liabilities in case of any non-performance on behalf of either of the parties should be discussed and mentioned in the agreement to prevent future interruptions or miscommunications in the process.
- Who owns the Intellectual Property Rights?
Depending on the needs and requirements of parties, the agreement may provide for exclusive ownership by the developer or assignment rights to the user. If the software developer wants to retain the exclusive ownership rights, then that should be specified in the contract. The licensor/developer may limit the use of software to internal business purposes only, and extending the benefit of software to a third party on lease or rent may be prohibited by defining the same in the agreement.
If the agreement provides for assignment, then the licensee will have the right to further assign the license to the third party. However, what is to be done when the agreement is silent on the duration and territorial extent of the assignment?
The Delhi High Court in the judgment of Pine Labs Pvt. Ltd. Vs. Gemalto Terminals Pvt. Ltd. & ors. FAO (OS) 635&636 of 2009 observed that “whenever an agreement is silent on duration and territorial extent of assignment then the provisions of Section 19(5) and 19(6) of the Copyright Act would be attracted that state that the duration shall be five years from the date of the assignment and territorial extent shall be presumed to extend within India.”
DO’S IN A SOFTWARE AGREEMENT
A well-drafted agreement safeguards the interests of both the developer and the purchaser and helps to avoid ambiguities in the nexus of the technical world. Hence, here is a list of certain key aspects that should be kept in mind while drafting a software agreement:
- It is advised to include a clear purpose in the contract, i.e., what the software will do. Everything that falls within the ambit of “purpose” should be mentioned very explicitly in the contract.
- All the requirements should be carefully drafted and detailed. All details regarding its development, what all features the software will have and every other detail should be mentioned in the agreement.
- Do make sure that the definition of “acceptance” is unambiguous. Often,] the payment at the end of each phase depends on the purchaser’s acceptance. Therefore, if the term “acceptance” is not defined clearly, there can be miscommunication from both ends which leads to interruptions and disruptions.
- Make sure to include a provision related to the execution of changes. A definitive process would be helpful for both parties in case any changes crop up in the future.
- It is advised to ensure the terms and charges of payment are clearly laid down in the contract.
- Be very clear about the rights of the customers.
- All the licenses, terms and conditions, warranties, liabilities, and rights should be explicitly discussed in the agreement. Every single detail shall be discussed.
- Do mention third-party rights, if any. It should be necessarily mentioned in an expressed manner in the contract.
- It is advised to lay down all the IP Rights included and applicable to the certain software (trademarks, patents, etc.) and also accordingly mention to which party those rights shall apply.
- Take a note of all the specifications and key features of the entire development or licensing process and this should be as specific and discrete as possible.
DON’TS IN A SOFTWARE AGREEMENT
Software agreements can be a source of very expensive and ambiguous disputes. Problems can arise when the requirements of the parties change, making the terms of the agreement, that govern the project, critical and discrete. Software development or licensing agreement that does not specify the precise expectations of the parties involved leaves the door open to interpretation by third parties or non-parties who are unlikely to be technical experts.
- It is advised not to expect the requirements of the parties to be constant throughout the duration of the development of the project.
- Give or accept fixed-price quotes only after you have determined the scope of the work.
- Do not assume that the other party owns any IPR just by the virtue of having paid the developer to create it. It is always advised to lay down the IPRs explicitly. The agreement shall mention all sorts of IPRs applicable (copyright, trademarks, design, etc) concerning the software.
- Do not spare the details of Termination in the agreement. Make sure it is specific and detailed, to avoid future disputes.
- If the project is large enough or a part of the purchasing company’s usual practice, the purchaser may issue a Request for Proposal (“RFP”). RFP is a business instrument or a document that announces and specifies project details while also soliciting information and bids from contractors or various software companies/developers. It is advised that you do not rush through the RFP process.
The following recommendations should be followed during the RFP process:
- Software developers should make sure that there are statements regarding communications, including whether there will be regular meetings and who must be involved in such
- The RPF should include the estimated
- Look into the technical specifications, data inputs, what the next version of the software may look like,
- The software company’s RFP response should be as detailed and lucid as possible.
- Do not skip making a separate provision, if any or if applicable, for some services or licenses which shall survive even after the term of the development project has terminated.
- It is advised that the parties should not ignore the potential for disputes. The parties should include a dispute resolution provision necessarily in their software agreement which can lay down the steps that both the parties need to follow before filing a lawsuit.
- The details of what is to be developed, what features the software will have and other such details should be necessarily mentioned in the agreement and it should be elaborate and in writing.
- Do not miss out on the provisions or clauses about confidentiality and non-disclosures, if applicable.
- Warranties, Liabilities, Indemnities, and Boilerplate clauses are some of the many important facets of an agreement. Do not assume that they are all standard and constant in all cases. Try to limit the liabilities and warranties.
Advancement in technology has resulted in businesses being built and grown on the basis of their software tools. With development of software capabilities comes the need to regulate and monitor the same. This is where the need for Software Agreements comes in, for dealing in Software is more complex than dealing in physical goods and requires a nuanced understanding of the unique situation of each transaction.
Licensing of software has also gained great relevance due to the usage of the same being executed across various jurisdictions. A well-drafted software agreement ensures that both parties are able to incorporate their preferences in the same and the process of dispute resolution is completed in a smooth manner.
From the important clauses one must include in a Software Agreement to the DO’s and DON’Ts to look out for, there are several aspects that warrant consideration in order to ensure that parties to the agreement face no hurdles post execution of such an agreement.
For any query or feedback, please feel free to connect with email@example.com or firstname.lastname@example.org.