Philip Withnall de la société Endless à la conférence GUADEC 2020 avec d'introduire une comptabilité de l'impact du développement d'applications GNOME sur l'environnement. Pour chaque application, il est proposé d'afficher un paramètre 'Carbon Cost', montrant le niveau approximatif des émissions de dioxyde de carbone dans l'atmosphère et permettant d'évaluer comment le développement influence le réchauffement climatique.
Selon le conférencier, bien que le logiciel libre soit fourni gratuitement, il a un coût indirect — l'impact du développement sur l'environnement. Par exemple, l'infrastructure serveur du projet, les serveurs d'intégration continue, le travail de la fondation à but non lucratif GNOME Foundation et l'organisation de conférences pour développeurs nécessitent de l'électricité et des matériaux, dont les processus de production entraînent des émissions de dioxyde de carbone dans l'atmosphère. Les applications consomment également de l'énergie sur les systèmes des utilisateurs, ce qui se répercute indirectement sur l'environnement.
L'introduction d'une nouvelle métrique permettra de montrer le sérieux du projet GNOME concernant la préservation de l'environnement. Parmi les facteurs pour le calcul de la métrique, on mentionne le temps de fonctionnement de l'application, la charge sur le CPU, le stockage et le réseau, ainsi que l'intensité des tests dans le système d'intégration continue. Pour évaluer la charge, il est proposé d'utiliser sysprof, les mécanismes de comptabilité systemd et powertop, dont les données peuvent être converties en équivalent d'émission de dioxyde de carbone. Par exemple, 1 heure de charge intensive du CPU peut être évaluée à environ 6 grammes (en se basant sur une augmentation de la puissance consommée de 20 W), et 1 Go de données téléchargées par réseau à 17 grammes CO2e. En ce qui concerne les systèmes d'intégration continue, la compilation de Glib est évaluée à 48 kilogrammes CO2e par an (pour comparaison, une personne produit environ 4,1 tonnes de CO2e par an).
Pour réduire le 'Carbon Cost', il est proposé aux développeurs d'effectuer des optimisations telles que l'utilisation de la mise en cache, l'amélioration de l'efficacité du code, la réduction de la charge réseau et l'emploi d'images prédéfinies dans le système d'intégration continue, contribuant ainsi à la lutte contre le réchauffement climatique. Par exemple, l'utilisation d'images Docker prêtes à l'emploi dans le système d'intégration continue permettra de réduire la valeur de la métrique par quatre.
Pour chaque version importante, il est proposé de calculer le « Coût Carbone » global, qui additionne les métriques de toutes les applications, ainsi que les frais liés au projet GNOME, à la fondation GNOME, aux hackfests et au système d'intégration continue. Une telle métrique permettra de diriger le développement en tenant compte des impacts sur l'environnement, de suivre les tendances et de réaliser les optimisations nécessaires.
Source : opennet.ru
