Chapter 1. Introduction to Green Software
You wouldn’t like me when I’m angry.
Dr. Bruce Banner, green scientist
We can see why activists might be angry. Few industries have moved fast enough to support the energy transition, and that includes the tech sector.
But we are beginning to change.
What Does It Mean to Be Green in IT?
According to the Green Software Foundation (GSF), the definition of green software (or sustainable software) is software that causes minimal emissions of carbon when it is run. In other words:
-
Green software is designed to require less power and hardware per unit of work. This is known as carbon efficiency on the assumption that both the generation of power and the building of hardware tend to result in carbon emissions.
-
Green software also attempts to shift its operations, and therefore its power draw, to times and places where the available electricity is from low-carbon sources like wind, solar, geothermal, hydro, or nuclear. Alternatively, it aims to do less at times when the available grid electricity is carbon intensive. For example, it might reduce its quality of service in the middle of a windless night when the only available power is being generated from coal. This is called carbon awareness.
Being energy efficient, hardware efficient, and carbon aware are the fundamental principles of green computing (see Figure 1-1).