GNOME proposed to take into account the impact of development on the environment

Philip Withnall of Endless acted at the GUADEC 2020 conference with ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ introduce consideration of the impact of GNOME application development on the environment. For each application, it is proposed to display the "Carbon Cost" parameter, which shows the approximate level of carbon dioxide emissions into the atmosphere and allows you to evaluate how the development affects global warming.

According to the speaker, despite the fact that free software is free, it has an indirect price - the impact of development on the environment. For example, the project's backend infrastructure, continuous integration servers, the nonprofit GNOME Foundation, and developer conferences require electricity and materials whose production processes emit carbon dioxide into the atmosphere. Applications also consume energy on user systems, which also indirectly affects the environment.

The introduction of a new metric will show how serious the GNOME project is about preserving the environment. Among the factors for calculating the metric are the application running time, the load on the CPU, storage and network, the intensity of testing in the continuous integration system. To estimate the load, it is proposed to use sysprof, systemd and powertop accounting mechanisms, the data from which can be converted into the equivalent of carbon dioxide emissions. For example, 1 hour of intense CPU load can be estimated as approximately 6 grams CO2e (based on a 20 W increase in power consumption) and 1 GB of data downloaded over the network is like 17 grams of CO2e. In terms of continuous integration systems, a Glib build is estimated at 48 kilograms of CO2e per year (for comparison, one person produces 4.1 tons of CO2e per year).

To reduce Carbon Cost, developers are encouraged to implement optimizations such as caching, code efficiency, network load reduction, and the use of predefined images in the continuous integration system, thus contributing to the fight against global warming. For example, using ready-made docker images in a continuous integration system will reduce the value of the metric by 4 times.

For each major release, it is proposed to count the cumulative "Carbon Cost", summing up the metrics of all applications, as well as the costs of the GNOME Project, the GNOME Foundation, hackfests, and the continuous integration system. Such a metric will make it possible to develop with an eye on the impact on the environment, track the dynamics and carry out proper optimizations.

Source: opennet.ru

Add a comment