L’impatto ecologico dello sviluppatore
Applicazioni • Programmazione
Si parla sempre più di impatto ecologico su vari fronti. Ad esempio, con la mia app Magica Mileage Tracker cerco di aiutare a comprendere l’impatto ecologico del proprio veicolo. Si discute dell’impatto ecologico della costruzione dei prodotti, dell’uso dell’IA e così via.
Qualsiasi cosa facciamo ha tendenzialmente un impatto ecologico e dobbiamo farcene una ragione, ma è conoscendolo che possiamo aiutare e aiutarci a migliorare questo mondo.
Oggi voglio parlarvi dell’impatto ecologico di uno sviluppatore, un programmatore di siti web, di applicazioni e di software in generale. In particolare, mi concentrerò sull’impatto di uno sviluppatore di software per smartphone, computer e tablet, proprio come me.
Anche se non sembra, l’impatto ecologico è significativo. Ci sono elementi facilmente monitorabili, come i prodotti tecnologici che utilizziamo e la corrente elettrica necessaria per alimentarli. Poi ci sono componenti difficilmente tracciabili come l’uso dell’IA, che comporta il consumo di un’enorme quantità di energia elettrica. Non ce ne accorgiamo mentre la utilizziamo, ma è così.
I numeri parlano chiaro: Nel 2008 l’ICT ha contribuito per il 2% delle emissioni globali di CO2, nell’ultimo decennio tale contributo è triplicato e si stima che nel 2040 si arriverà al 14%.
(fonte: https://www.agendadigitale.eu/cultura-digitale/limpronta-ambientale-dellict-ecco-limpatto-dei-nostri-device-sul-pianeta/)
Ancora più importante, c’è una componente che è quasi totalmente a nostra discrezione (di noi programmatori) ed è legata al modo in cui lavoriamo e a come decidiamo di sviluppare il software. Mi riferisco, in particolare, alla compatibilità dei software che creiamo.
Può sembrare strano, ma realizzare software compatibili solo con prodotti di ultima generazione significa accelerare il processo di creazione di rifiuti, in questo caso altamente nocivi.
Riflettiamoci: se realizziamo software compatibili solo con i modelli più recenti di computer, tablet e smartphone, le persone sono costrette a dismettere i vecchi dispositivi per acquistarne di nuovi.
Le aziende produttrici mantengono la vita dei loro dispositivi solo per alcuni anni – Apple, ad esempio, per sette anni – dove dopo tre anni il prodotto inizia comunque a diventare lento e poco performante.
Le statistiche sono allarmanti: un smartphone ha una vita media di soli 3 anni prima di essere sostituito, anche se potrebbe funzionare molto più a lungo. Pensate a quanti milioni di telefoni possono essere smaltiti ogni anno in un singolo paese considerando che solo in Italia ci sono circa 46,5 milioni di smartphone attivi.
(fonte: https://www.esg360.it/environmental/cop27-gsma-longevita-massima-e-zero-sprechi-per-ridurre-limpatto-degli-smartphone)
Queste strategie permettono loro di vendere sempre più prodotti e aumentare i profitti, mentre alimentano il ciclo dello spreco e dei rifiuti, incrementando l’inquinamento globale.
Se a queste aziende non importa, dovrebbe importare a noi, prima come consumatori e poi come programmatori.
Realizzare software compatibile con le versioni precedenti dei dispositivi è cruciale: permette alle persone di continuare a utilizzare i propri prodotti invece di acquistarne di nuovi.
Il nostro compito dovrebbe essere anche quello di spingere le aziende produttrici a supportare più a lungo i vecchi prodotti. Come? Ad esempio, continuando a mantenere le app utilizzando i linguaggi e i framework più consolidati (e spesso più sicuri e stabili), invece di passare ogni anno ai nuovi linguaggi compatibili solo con i dispositivi più recenti.
Utilizzare le nuove tecnologie è importante, ma non dovremmo cancellare il passato né limitare il nostro software solo a chi possiede un dispositivo di ultima generazione.
Le aziende produttrici sanno bene come incentivarci a creare software per i nuovi dispositivi: ci attraggono con innovative funzionalità dei sistemi operativi e nuovi linguaggi che semplificano il nostro lavoro, ma che alla fine ci costringono a escludere i vecchi dispositivi. Loro aumentano le vendite e i profitti, mentre l’inquinamento ambientale cresce costantemente.
So che è un argomento complesso, ma qualcuno deve affrontarlo, e ho deciso di iniziare io.
È difficile ma non impossibile. Con i miei prodotti cerco sempre di mantenere questa linea. Anche se non dalle prime versioni, nel tempo aumento progressivamente la compatibilità. Perché non è giusto costringere le persone a cambiare dispositivo, non è giusto continuare ad alimentare questa macchina dell’inquinamento guidata solo dal denaro e dal profitto.
Spero di avervi aiutato a pensare fuori dagli schemi e che anche voi possiate iniziare a riflettere maggiormente sull’ambiente.
Concludo con alcuni suggerimenti pratici per chi sviluppa software.
Iniziate testando le vostre applicazioni su dispositivi di diverse generazioni, non solo sui più recenti. Quando scegliete framework e librerie, valutatene attentamente la compatibilità con le versioni precedenti dei sistemi operativi.
Create una documentazione chiara dei requisiti minimi e massimizzate l’ottimizzazione del codice per far funzionare al meglio le app anche su hardware meno potente. Un’applicazione ben progettata e ottimizzata non solo è più sostenibile, ma raggiunge anche un pubblico più ampio.
Ricordatevi che ogni piccola scelta che facciamo come sviluppatori può avere un grande impatto sul ciclo di vita dei dispositivi e, di conseguenza, sull’ambiente. Sta a noi decidere se essere parte del problema o parte della soluzione.
Buon lavoro!