DEV Community

Cover image for Proposition of manifesto for green software development
SCHREIBER Christophe
SCHREIBER Christophe

Posted on

Proposition of manifesto for green software development

Nobody can ignore the environmental crisis we are facing and the consequences that global warming is having on our lives. Unfortunately, situation is only going to get worse if we do nothing.
Digital services are a significant part of the greenhouse gas emissions, being around 4% of the global emissions in 2018, as much as civil aviation, and it is expecting to raise until 5.6% in 2025 (source greenit.fr).

For decades, we have been relying on the progress of the hardware following Moore's law to compensate the lack of optimization of our software. Why should we care about memory consumption ? Memory is so cheap. Why should we care about the size of our webpages ? Networks are always faster.
In the same time, the number of devices we own and the number of applications we use every day has exploded in a few years. And because software is not efficient, we are tempted to renew our devices frequently for our own comfort even though our current one is still working, despite the dramatic environmental (and societal, given the conditions of life of people working to extract the mineral necessary to build a smartphone or a laptop) cost of producing a new device.

Bad news is that this digital luxury can not last forever: resources are limited, this way of life is very energy costly, and we can't ignore the risks that our consumption of digital services imply for our planet.
Fortunately, we as developers can have a direct impact on how we produce software, by integrating those environmental aspects in the way we design and write software.
For instance, by taking care of the optimization of our applications, we can make sure our users won't require a new device to use our services.

For me, this green mindset of development is the logical sequel to the software craftsmanship culture that has been driving developers aspiring to raising the bar for software quality for more than ten years. Now, it's time to raise the bar of environmentally friendly development.
That's why I'm proposing an equivalent to the Software Craftsmanship Manifesto, which I'm calling the Green Digital Manifesto:

As aspiring ecologically responsible Software Craftsmen, we want to go further the standards of quality to enable digital services compatible with the environmental crisis we are facing. Through this work, we have come to value:

  • Not only well-crafted software but also resources efficient digital services
  • Not only steadily adding value but also controlling the evolution of resources required by our digital services
  • Not only a community of professionals but also a common goal for greener digital services
  • Not only productive partnerships but also guiding our customers in their environmental transformation

That is, in pursuit of the items on the left we have found the items on the right to be an even greater goal for the benefits of the planet.

Please tell me what you think of this proposition, and don't hesitate to propose your own green principles for green development, and of course share it with people involved in software development!

Credits: Cover image

Top comments (2)

Collapse
 
pkonecki profile image
Pierre-Olivier Konecki

What about using languages that are more energy efficient? Should everyone just use C/C++? According to the following list, there are big difference in energy consumption between languages: github.com/kostya/benchmarks

Collapse
 
supersmash94 profile image
Mehdi-Antoine

+1000