This is a green coding clause that obligates companies to develop software (or have it developed) in an energy-efficient and sustainable manner.
Why use this?
Encouraging parties to IT and software development contracts to take positive action to reduce the carbon footprint of software development, especially custom software, and software use.
How to use this clause
Disclaimer - please read
The clauses on this website have been prepared in good faith on a pro bono basis and are free to download and use. The clauses have been drafted and edited by a variety of lawyers and, as such, the approaches to drafting may not conform to any particular drafting norms. We acknowledge this as a consequence of the collaborative drafting process.
The clauses on this website are provided on an ‘as is’ basis and without any representation or warranty as to accuracy or that the clauses will achieve the relevant climate goal or any other outcome.
The clauses on this website do not comprise, constitute or provide personal, specific or individual recommendations or advice of any kind, and do not contain legal or financial advice. The clauses are precedents for legal professionals to use, amend and negotiate using their professional skill and judgement and at their own risk.
While care has been taken in the drafting of these clauses, neither The Chancery Lane Project nor any of its contributors owe a duty of care to any party in relation to their preparation and do not accept any liability for any errors or omissions, nor for any loss incurred by any person relying on or using these clauses or any other person. Users should use their own professional judgement in the application of these clauses to any particular circumstance or jurisdiction or seek independent legal advice.
1. [The Developer Team/ The Developer] is responsible for applying green coding standards in the development of the software and reducing the carbon footprint of the developed software.
2. [The Developer Team/ The Developer] commits itself and all subcontractors it uses to implement the following green coding standards:
2.1 Integration of an automatic [partial] shutdown of the software when not in use or change to a load-saving mode and sensible bundling of automatically executed actions;
2.2 Development of an optimal and intuitive UI/ UX design for a speedy, resource-saving usability of the software;
2.3 Development of software while taking into account energy efficiency aspects, e.g. by avoiding redundancies, optimizing database queries or improving memory usage;
2.4 Use of resource-efficient algorithms, file formats and libraries that minimize the use of system resources such as CPU, RAM and network bandwidth;
2.5 Performing automated testing and version control and using agile software development to minimize code waste and avoid errors that could result in energy-intensive debugging;
2.6 Use of applications that optimize the developed software by removing unused code (‘dead code’) (‘tree shaking engines’), especially when using open source software;
2.7 [Conducting regular internal team meetings and create a data room accessible to all members of the development team with all developed software in order to recycle code created by other team members if needed and make lessons learned available to the entire team;]
2.8 Ensuring maintainability and reusability of software through meaningful commenting of code, preparation of documentation, and systematic storage of created files; and
2.9 Designing systems in accordance with their expected workload, as well as using modular solutions and the possibility of precise workload control, e.g., through cloud computing.
3. The Contractor commits to ensure optimal maintainability and reusability of the software, taking into account the agreement on intellectual property rights to the developed software, and shall allow the client to update and modify the developed software after the end of support, including by third parties.
4. The Contractor commits, over a period of [number of years] years after provision of the software, as soon as critical security vulnerabilities of the software become publicly known, to remedy them without delay and thus to ensure that the software can also be used in the long term without risks to IT security. The Parties shall provide for appropriate remuneration of the Contractor for this in the contract.
5. [The Contractor commits, prior to delivery of the software or an update, to test the hardware load caused by the software product in idle mode and in the context of a standard usage scenario by installing it on a reference system in accordance with the specifications set out in Annex A and Annex B of the Blue Angel award criteria for resource- and energy-efficient software products (DE-UZ 215) to test the hardware load caused by the software product and to keep it as low as possible, to report on its green coding activities and the concrete improvements achieved as a result, and to provide information to the customer upon request.]