View on GitHub

sustainable-software-enginnering

List of resources on Sustainable Software Engineering

Sustainable Software Engineering

Contents

‘..Sustainable development meets the needs of the present without compromising the ability of future generations to meet their own needs’ - Brundtland report

About three weeks ago, HPI launched a course on Sustainable Software Engineering. The course covers quite a few topics which can be useful for someone new to sustainable or green software/coding.

CO2 consumption by ICT

Bitcoin/Deep Learning: Some of the algorithms (Bitcoin note) have massive energy and CO2 footprint ebook reader: Getting an ebook does reduce cutting trees and ink. However, a 200g ebook requires about 15 kg of raw materials (e.g. rare earth metal), 300L water, and 170 kg of CO2. which means, it won’t be ecologically beneficial until you read 30-60 books on your ebook reader. Emails: 1 MB Email is equivalent to 20g of CO2. So if you write 20 emails on 365 days its equivalent to a car travelling 1000 km. Web Search: A web search is equivalent to 3.5 Wh ( ≈ 1 g of CO2). 2-3 web searches per day ≈ 10kg of CO2 per year. Average per capita consumption ≈ 1,400km by car

But why should I care? Paris agreement states that the global average temperature should be well below 2*C by 2100 (above pre-industrial levels) to aim to limit the increase to 1.5°C Global electricity demand caused by ICT: Some say its 1%, others 5 or 10%. 2 The average footprint of the average European citizen is currently ≈ 10t CO2 p.a. Data centers could consume 28% of total energy consumption (est. 11%, best: 4%). “In the worst case scenario ICT electricity usage could contribute upto 23% of the globally released greenhouse gas emission in 2030.”

Potential for ICT & Digitization (assumptions)

What can I do?

Whether you are participant of an engineering team as a leader, architect, developer or a stakeholder, there are multiple ways of making contribution towards sustainable software engineering.

Desinging energy efficient IT-architecture:

The GREENSOFT Model: An exisiting green computing approach

Green Software Engineering was the attempt to apply these “green” principles known from hardware products also on software products, software development processes and their underlying software process models.
The first main goal of the project was to to design a conceptual reference model supporting IT professionals and software users in the sustainable development and usage of software. The second main goal was to develop a software toolbox called “Sustainable Software Support Center” (S3C) that assists IT professionals in realizing sustainable, resource-friendly software products.

References

  1. Sustainable Software Enginnering, Mathias Renner, Ferdinand Mutsch, Johannes Rudolph, Robin Lamberti

Reference Material/ Courses

  1. Sustainable Software Engineering
  2. The Principles of Sustainable Software Engineering

Articles/Blogs/Books

  1. The Social Responsibility of Software Development
  2. Branch
  3. Catalog of Energy Patterns for Mobile Applications

Libraries/Packages

Track and predict the energy consumption and carbon footprint of training deep learning models.

  1. Code Carbon (A Python package)
  2. Carbon Tracker (package)

Websites for Sustainability Testing

Contribute Your Favourites

Please share your links sustainable software development resources (courses, packages, books, articles, videos, podcasts) by adding them to this list. Just make a pull request!

License

CC0