Review of the Green Software Practitioner Training

Right now I'm learning as much as I can about sustainable IT, software engineering and design. To that end, I took the online "Green Software Practitioner Training" from the Green Software Foundation (GSF), an American foundation initiated by Microsoft, Accenture, GitHub, ThoughtWorks, and the Linux Foundation in 20211. You can get certified by the Linux Foundation (LFC131) , which I got 🙌🏾). Here is my review of it.

First of all, I think it's important to look at the GSF. This American foundation is supported by companies of the software market, including the cloud computing one2. They want software to be part of the climate solution, focusing on carbon reduction3. For them, there are only 3 actions to reduce carbon emissions: less physical resources, less energy, and smarter use of energy (either from lower carbon sources or to support the transition). That is indeed a valid approach. However, I'd say there is a certain bias for 2 reasons. First, they focus on carbon footprint when there are other important environmental impacts such as abiotic resource depletion, especially for terminals. Second, among the actions they consider, there is no discussion of the purpose of the software (e.g. increasing behaviors with negative impacts such as advertising), or the minimization and relevance of features. In other words, they do not examine some important aspects of the current software industry that may not be compatible with our upcoming environmental challenges. I think it's important to keep that in mind when taking this training.

In terms of format, the training is structured around the 6 basic principles behind their approach: carbon efficiency, energy efficiency, carbon awareness, hardware efficiency, measurement, and climate commitments. It took me about 3 hours to read, learn, do some personal research, and pass the final exam. The web pages are light, nice to read, ... they clearly follow their own principles. There is a quiz at the end of each chapter to make sure you understand the main concepts.

I have identified a number of statements that I believe are biased or even false. For example, in the chapter "Carbon Awareness" they state that

If your computer is plugged directly into a wind farm, its electricity would have a carbon intensity of 0 gCO2eq/kWh since a wind farm emits no carbon to produce that electricity.

This is true if you do not consider the production of the wind farm (aka Scope 3 of the GHG protocol).

The chapter "Hardware Efficiency" introduces the concept of carbon amortization:

A way to account for embodied carbon is to amortize the carbon over the expected life span of a device.

If this makes it possible to understand that increasing the lifetime of a piece of hardware is important, I think it misleads to a biased conclusion: reducing the total daily carbon emissions of the device. Amortization makes sense from an economic perspective, but not from an environmental perspective. As I understand it, increasing the lifespan of hardware is about reducing the production of hardware. Also, amortization might make you think that the emissions are delayed because you account for them through the use of the device.

Later in the same chapter, they advocate public cloud computing as a good way to increase hardware efficiency:

With multiple organizations making use of the public cloud, spare capacity can always be made available to whoever needs it, so that no servers are sitting idle.

While I agree that sharing resources is a good way to avoid wasting idle computing resources, I think this is a false argument. First, it assumes that there will always be enough computing resources (one of the pictures literally mentions infinite spare capacity). When do we stop? Finally, this hardware efficiency can lead to a take-back effect: the gain in efficiency will most likely lead to an increase in usage that will offset the expected gain.

In the "Climate Commitments" section, they talk about offsetting. When they remind us that mitigation is better than nothing, they present neutralization and carbon removal as effective measures without any measured caution. There are reasons45 to doubt such statements, and it's important to stay critical to make the right choices.

In conclusion, I find the 6 principles an interesting way to approach reducing the carbon footprint of software. The training was also enjoyable to follow. However, this is just an introduction. There's no real best practice or rule that you can apply when developing software (even if there is a specific catalogue). It is up to you to follow these principles and implement them correctly. Another good improvement would be to roughly explain the environmental impact of digital, especially in terms of lifecycle. Finally, I can't help but read between the lines a certain form of lobbying for the software market and the public cloud in particular, which may not be intentional. If you remain critical, I think it is still worth your time as it covers many important concepts (e.g. carbon awareness, hardware efficiency) well.


Footnotes:





5

The wikipedia page reports the challenge to make Direct Air Capture a profitable and effective process.


If you have any comment, question, or feedback, please share them with me.


Atom feed icon Subscribe to the blog!