Sustainable software development

Green IT: Why sustainable software development is the future

,

Like every year, I was once again a participant at this year's Code Days trade fair participate. I like to use the trade fair to get new input and to listen to topics that go beyond the scope of a developer.

Normally, I've heard something about most of the topics in advance - or can at least roughly imagine what they might be about. This year was different. When I read the title "Environmental compatibility of software & of Cloud-Services on the test bench" I had no idea what was in store for me, let alone how much this lecture would change my view of software development.1

The presentation by Marina Köhn from the Federal Environment Agency (UBA) gave me a lot to think about and ultimately prompted me to write this blog post.

There was one key statement for me in particular, which I think highlights a very dramatic development in software development: While the hardware is becoming more and more efficient, the software that runs on it is becoming more and more inefficient.

Software is becoming more inefficient and needs more hardware - but is this sustainable?

This is known as "software bloat". The term means that software becomes increasingly inefficient over time. It needs more storage space, more RAM, more CPU and generally more powerful hardware than before. There are various reasons for this. On the one hand, immature requirements or narrow time windows can lead to inefficient, immature code. On the other hand, the increased demand can also be caused by inefficient third-party libraries in the project. The lack of awareness of energy-efficient software is also a problem.2

In general, however, it can be said that the fact that hardware is getting better and better means that software no longer has to be efficient. In the past, when resources were still limited, you had to make sure you used them as efficiently as possible. Energy efficiency was a priority because you had no other choice. Nowadays, that no longer matters. You have almost unlimited possibilities and if you are in the cloud, you can solve your performance problems with a credit card instead of algorithms. If you run out of memory or your CPU is too weak, you simply book a more powerful one.

BUT: According to the Federal Environment Agency1 (UBA), this development does have consequences for our environment:

  • Increasing software requirements often lead to premature hardware replacement
  • Data-intensive formats and unnecessarily large data volumes put a strain on transmission networks and lead to large storage requirements in the data center
  • Poor programming and unfavorable software architectures lead to unnecessarily high energy consumption

Blue Angel for sustainable software?

The UBA has recognized the problem and is trying to develop methods to make the energy efficiency of software measurable. In a study from 2012-2015, they succeeded in measuring the energy efficiency of various word processing programs. It was found that the established program consumes many times more electricity, processor and RAM power than its open source counterpart.3

The UBA has set the following overarching goals for the Blue Angel1:

  1. Resource efficiency
    a. To what extent are hardware capacities and energy required to fulfill a given function, and thus indirectly use natural resources?
  2. Potential hardware service life
    a. To what extent are hardware renewal cycles decoupled from software renewal cycles?
  3. Autonomy of use
    a. What customization options does the user have with the purchased software product?

What can we as developers do for more sustainability in software and thus for green IT?

doubleSlash employees have joined forces with colleagues from QAware and MaibornWolff and founded the Green Software Development Manifesto. They have set themselves the vision of making the software industry climate-neutral and promoting ecological transformation. This is because they realize that the current measures to combat the climate crisis are not enough. That is why they are taking responsibility and making their contribution to preserving a planet worth living on. The mission is to develop an open community with which they can jointly develop measures and approaches for the ecological transformation of the software industry and society.

Everyone is free to sign this manifesto and commit to it.

Conclusion - personal initiative is the key to sustainable software

I find the current development of inefficient software very worrying. However, we cannot hope that the authorities alone will solve the problem. As software developers, we are part of the problem. That's why we have to change our way of thinking. A good first step is to read the Green Software Development Manifesto and become part of the community. Only if we rethink can we bring about change.

Sebastian Lohr

About ME

All contributions from Sebastian Lohr

Learn more

Further information on our website and in our newsletter

Arrow up