Philip Withnall dell'azienda Endless alla conferenza GUADEC 2020 con di introdurre il monitoraggio dell'impatto dello sviluppo delle applicazioni GNOME sull'ambiente. Per ogni applicazione si propone di visualizzare il parametro "Carbon Cost", che mostra il livello approssimativo delle emissioni di anidride carbonica nell'atmosfera e permette di valutare in che modo lo sviluppo influisca sul riscaldamento globale.
Secondo il relatore, nonostante il software libero venga fornito gratuitamente, ha un costo indiretto: l'impatto dello sviluppo sull'ambiente. Ad esempio, l'infrastruttura server del progetto, i server di integrazione continua, il lavoro della GNOME Foundation e l'organizzazione di conferenze per gli sviluppatori richiedono energia e materiali, processi di produzione che generano emissioni di anidride carbonica nell'atmosfera. Le applicazioni consumano anche energia sui sistemi degli utenti, il che riflette anch'esso un impatto sull'ambiente.
L'introduzione di una nuova metrica permetterà di dimostrare il serio impegno del progetto GNOME nei confronti della salvaguardia dell'ambiente. Tra i fattori per il calcolo della metrica si menzionano il tempo di esecuzione dell'applicazione, il carico della CPU, lo storage e la rete, e l'intensità dei test nel sistema di integrazione continua. Per valutare il carico, si propone di utilizzare sysprof, i meccanismi di accounting di systemd e powertop, i cui dati possono essere trasformati in un equivalente di emissioni di anidride carbonica. Ad esempio, 1 ora di carico intenso della CPU può essere stimata approssimativamente come 6 grammi (basato su un aumento della potenza consumata di 20 W), e 1 GB di dati scaricati dalla rete come 17 grammi di CO2e. Per quanto riguarda i sistemi di integrazione continua, la costruzione di Glib è stimata in 48 chilogrammi di CO2e all'anno (per confronto, una persona produce 4,1 tonnellate di CO2e all'anno).
Per ridurre il "Carbon Cost", si propone agli sviluppatori di effettuare ottimizzazioni, come l'applicazione della cache, il miglioramento dell'efficienza del codice, la riduzione del carico di rete e l'uso di immagini predefinite nel sistema di integrazione continua, contribuendo in questo modo alla lotta contro il riscaldamento globale. Ad esempio, l'uso di immagini docker pronte nel sistema di integrazione continua può ridurre il valore della metrica di 4 volte.
Per ogni rilascio significativo, si propone di considerare il «Carbon Cost» cumulativo, sommandone le metriche di tutte le applicazioni, oltre ai costi del progetto GNOME, del GNOME Foundation, degli hackfest e del sistema di integrazione continua. Tale metrica permetterà di sviluppare con un occhio all'impatto ambientale, monitorando la dinamica e effettuando le ottimizzazioni necessarie.
Fonte: opennet.ru
