A software partnership agreement solidifies the needs and expectations of both the software developer and client in terms that everyone can agree upon. Often times, contracts can contain lofty and vague language that is easy to gloss over and a struggle to comprehend. A strong and sustainable contract is written clearly and accurately depicts the roles of both parties. Software partnership agreements require articulate and precise language in order to be effective. Developing concrete clauses that specify the roles, obligations, and rights of each party is the best way to prevent conflicts. Here are some examples of the common terms in a software partnership agreement and their corresponding clauses:
Intellectual Property Rights
This clause identifies who owns the deliverables or the work product to be developed under the software development agreement. That’s why it’s in the interest of both parties to establish who is the owner of the software being created. This is important because if the client doesn’t have full rights to the software, issues may arise when they try to incorporate, use, or license the software. Making sure that ownership rights are firm is key in this section. Solidifying this objective requires this language in your Intellectual Property Rights clause:
“Developer assigns to Client all rights, title and interest in and to the Software and anything created or developed by Developer for Client under this Agreement, including all patents, copyrights, trade secrets and other proprietary rights. Upon request, Developer will sign all applications, assignments, instruments and papers and perform all acts necessary or desired by Client to assign the Software fully and completely to Client and to enable Client, its successors, assigns and nominees, to secure and enjoy the full and exclusive benefits and advantages thereof.”
Every solid contract should include information on indemnification. Indemnification is an obligation by which one party engages to save another from a legal consequence of the conduct of one of the parties, or of some other person [see Cal. Civ. Code § 2272 et seq.]. An obligation to indemnify can manifest as implied by law or under an express contract. In a Software partnership agreement, it’s reasonable for a developer to agree to indemnify for a breach of warranty under the agreement, willful or negligent acts, omissions, and for infringement of a third party’s intellectual property right. Indemnification provisions can be drafted in various forms, so it’s important that the clauses reflect the specifics of the agreement. One example of this kind of clause is:
“Developer agrees to indemnify, defend, and hold Client, its successor, assigns, and affiliates, harmless from and against any and all claims, costs, liabilities, and expenses (including reasonable attorneys’ fees) arising from or related to 1) Developer’s breach of any warranty or representation contained in this Agreement; 2) Developer’s acts and omissions; 3) any claim of infringement of a third party’s intellectual property right; 4) any violation of applicable law.”
Developers should always warrant the work they’re creating. A warranty provides recourse in the instance if the deliverables don’t work in accordance with the product’s specifications or if there’s a concern of infringement. At minimum, the warranty should specify that the work is non-infringing, and that all components of the software will function as intended. When the objective is to emphasize non-infringement in the Warranty section, then this is the clause to use:
- Developer represents and warrants that:
The Software will not infringe any patent, copyright, trademark, trade secret, or other proprietary right of any person;
- For a period of [warranty period], the Software will operate substantially in accordance with the specifications and documentation.
The main purpose of any agreement is to clearly delineate the rights and obligations of the parties. These are just a few of the important terms you’ll see in a software development agreement. Writing these terms and their subsequent clauses requires clear and concise language as to reduce the risk of misinterpretation.