Principles of Green Software Engineering

Principles of Green Software Engineering

By: Community Working Group

The original Principles of Green Software Engineering located at https://principles.green was created in 2019. As the field of GSE has evolved the need to update the principles has also evolved.

chairs
Sarah Hsu
Sarah HsuSRE
@ Goldman Sachs
Extending Knowledge

Specifically there is a requirement to extend knowledge in the sections on carbon, electricity, carbon intensity and embodied carbon and add sections on neutralisations as well as update the measurement section to discuss the SCI.

Taking this training will give you enough information to:

  • Understand and contribute to discussions on the Software Carbon Intensity (SCI) Specification.

  • Understand which features might reduce carbon emissions of your software system.

  • Communicate with others regarding Green software, share a language and a dictionary.

  • Defend criticism of sustainability.

Characteristics of this training

  • We assume the reader has no experience at all in sustainability

  • We assume the reader has an entry level understanding of computing.

  • This training is generic, for everyone, any field, and sector, any technology. This is the 101 training everyone takes, future trainings might be created which are more specific e.g. cloud, but this training doesn't exclude anyone. It's for everyone, which means by necessity it has to be higher level and more generic.

Summary

Proposed differences to V1

Carbon - Delve a deeper into the science of climate change, enough so that you can defend a challenge. The purpose of GSE is not to convince people of climate change, that's a fact. The intention of this section is to give confidence to the practitioner that if they were challenged, they could give a reasonable response.

Electricity, Carbon Intensity and Embodied Carbon - Talk more about how you can measure each and more applicable advice for ideas for reduction.

Networking - Provide a more accurate model, what about streaming? Options for reducing network traffic (thinner APIs, low qual streaming etc...). Mobile vs. Fixed Line. Direct DC to DC, vs DC to Client.

Neutralisations - New section, going into details about neutralisations, limitations of offsets, offsets vs. reductions. What is net-zero and carbon neutral, do offsets help or hinder investment into Green software.

Measurement - Discussing the SCI.

Sections

Proposed sections should be discussed as a public GH discussion, where the group can collaborate.

Resources

Github repo