The Foundation wants a future where software produces no harmful environmental effects. To make this happen, we need software to emit the least amount of carbon possible. While there are clear trends to harness clean energy (i.e., energy generated from wind, solar and water) and adopt low-carbon emitting solutions, some challenges have made it harder for the software industry to respond to climate change at scale.
The most significant bottleneck has been a need for more data and tools to facilitate green software development. Developers are faced with an abundance of choices when building their solutions. They have access to multiple languages and frameworks, each with its strengths and weaknesses, and a wide range of patterns. But, without a clear view of how code impacts the climate, it's unclear which approach is safer for our environment.
The Green Software Foundation aims to ensure practitioners have the tools and resources to write better code for our planet. This past year was all about making substantial strides in this area. We set out with a few objectives in mind:
Demystify carbon awareness
Consolidate relevant information on how to approach carbon computing when building for AI and machine learning, web applications or the cloud
Augment formal education in software engineering to fill critical knowledge gaps
During COP27 at our Decarbonize Software event, we announced significant advancements toward decarbonizing software, which included:
State of Green Software Report
The Green Software Practitioner Course
The Green Software Patterns Catalog
The Software Carbon Intensity (SCI) Specification v.1.0
The Carbon Aware API & SDK (v.1.0)
The Green Software Speakers Bureau
If you have any questions or feedback, please email [email protected].
Asim Hussain
Executive Director & Chairperson
State of Green Software Survey
On November 10th, we announced the launch of the largest green software survey to ever be conducted. The Foundation will publish the survey results in a new State of Green Software Report slated for release in Q1 2023.
The State of Green Software Report will be an annual publication sharing the latest insights, trends, challenges and opportunities in decarbonizing software to increase investment and industry adoption. In addition, the report will provide policy and regulatory recommendations and a framework for organizations to make strategic decisions about the role they want their software to play in addressing climate change.
The report will reflect data and insights from secondary research, a global survey and interviews with software industry practitioners.
Expect insights and answers into:
Recent academic research on the impact of software.
Rate of green software adoption across industries
Latest use cases of greening software
Narratives motivating and convincing people to take action
Green Software across regions and sectors
Leading tools for decarbonizing software
All software practitioners are welcome to contribute their feedback. Take the survey now.
The Green Software Practitioner Course
The interest in green software is growing, and developers want to be part of the solution. With standardized credentials, it's easier to identify experts and find the talent with the appropriate knowledge and technical skills to develop green software.
To help grow the field and make green software a more attractive space, GSF has launched the Green Software Practitioner Course: a free online educational course built on the 2019 Principles of Green Software Engineering training. The course ensures developers meet a minimum and consistent level of understanding and get recognition for the knowledge they carry to decarbonize software by a credible institution.
What practitioners will learn:
The difference between energy efficiency and carbon efficiency
The concept of carbon awareness
The role of hardware in becoming carbon efficient
Mechanisms of carbon reduction
How to score software for carbon emissions
The course consists of multiple online modules. Developers can get trained quickly and acquire the necessary knowledge at their own pace. Each module concludes with a knowledge check. Those who pass the course will receive a certificate of completion. For anyone interested in a career in green software, we encourage you to enroll in this free course. Register today.
The Green Software Patterns Catalog
There's plenty of information about how to build sustainable software, but it's scattered across the web and not always practical or applicable. The Pattern Catalog aims to solve this problem; it is an online open-source consolidated database of green software patterns categorized by field of engineering, technology and domain.
Anyone can submit a pattern, triggering a detailed review process by the Foundation’s experts, who will look specifically at that pattern’s ability to reduce carbon emissions.
Today, you will see a collection of the first batch of patterns reviewed and approved by the Foundation. We do anticipate publishing more patterns quarterly going forward. View the Green Software Patterns Catalog.
The Software Carbon Intensity (SCI) Specification v.1.0
Measuring software emissions is the biggest pain point for members of the Foundation. Last year, we announced the Alpha version of the SCI specification at COP26, a method for measuring software emissions built by software practitioners. Since then, COP26 members of the SCI team have further honed the specification to incorporate feedback. During COP27, we shared the 1.0 release of the SCI specification, which is fast becoming the industry standard for measuring software emissions.
The Foundation gathered a group of software builders in its standards working group to develop the SCI Specification, a standard calculation to measure the rate of carbon emissions for a software system. For example, a streaming service might choose carbon per minute:
SCI = C per R
C = Grams of carbon emitted
R = Functional Unit; this is how software scales, for example, per user or per device
We can now measure the rate of carbon emissions for any type of application: console games, cloud applications, mobile applications, web applications, or internet of things (IoT) devices. With the SCI specification, we have a standardized protocol to measure the carbon emissions of software to achieve wide industry and academic adoption.
The “per R” makes the SCI specification unique and a tool during the development phase for every software domain, every use case, and every person to draw comparisons between similar software and reduce a software's carbon emissions even before it runs.
With this data, users and developers can make smarter choices about the tools, approaches, architectures, and services they use to reduce carbon emissions. To incentivize investment in reduction, the SCI does not include neutralizations of any kind in its calculation. There are no shortcuts. The only way to achieve a better score (closest to 0) is to focus on reducing carbon emissions. View The SCI Specification v.1.0.
Carbon Aware API & SDK
Some electricity stems from dirty high-carbon sources like coal and gas, and some from cleaner low-carbon sources like solar, wind, or nuclear. Carbon aware software does less when the electricity is dirty and more when the electricity is clean. For instance, a carbon aware battery might charge during the day when electricity is clean.
The Foundation recently introduced the Carbon Aware API & SDK to help developers build software solutions that can use the greenest energy sources (e.g., wind, solar and water), and run in response to real-time climate activity to reduce carbon emissions. Using this set of tools, developers can program solutions that choose to run when the wind is blowing, catch the sun’s rays, and location shift to source electricity from where it is greenest.
At its core, the Carbon Aware SDK is a WebApi and Command Line Interface (CLI). The functionality across the CLI and WebApi is identical by design. Anyone looking to develop environmentally friendly agile software will want to use this new Devkit and API.
The Foundation sees carbon-aware computing as the next frontier of green software. To increase the awareness of carbon aware computing and the Carbon Aware SDK & API, we launched Carbon Hack 22; the first-ever Hackathon focused on decarbonizing software, bringing forward nearly 400 developers to build an innovative carbon aware software solution for a chance to win 40,000 USD. In the process, practitioners helped identify and resolve barriers to create applications that can significantly contribute toward reducing carbon emissions through software without compromising the user experience.
The Green Software Speakers Bureau
Since our first Green Software Global Summit in June 2022, the Foundation has seen significant demand for expert presenters. This is good news as it is only realistic to have conversations about software development if the implications of software on the environment get factored into the discussion. The demand comes with a need to cater to different geographies and languages. In response, the Foundation has set up the Speakers Bureau, a live catalog of speakers in green software, to facilitate the search and booking of the most knowledgeable practitioners in the field.
Those looking for speakers in green software will be able to identify speakers based on their expertise, certifications, geography, and language proficiency. In addition, the platform provides samples and video links to build familiarity and support selection.
We currently have a catalog of 30 speakers with subject-matter expertise willing to speak about green software at industry and corporate events. An extended version with added features is slated for release in April 2023, ahead of Earth Day. Added features for the next release will include the capability to cross the bridge to speaker resources and materials, speaker training, and mentoring and education to deliver a best-in-class environment. Visit the Speakers Bureau website.
We hope you saw value in our COP 27 Book of News. If you have any questions or feedback, please email [email protected].
This article is licenced under Creative Commons (CC BY 4.0)