¿Qué es el ‘green software’ y cuáles son sus beneficios?
Existe una nueva tendencia buena para el medioambiente y para las empresas que la aplican, una nueva disciplina que busca generar una informática más ecológica, eficiente y sencilla: ‘green software’.
El compromiso generalizado con la sostenibilidad y la creciente preocupación por el cuidado del medioambiente, extendidos a casi todos los ámbitos de la vida cotidiana, también ha llegado a la tecnología. Se denomina ‘green software’ “a la práctica de desarrollar ‘software’ ambientalmente sostenible, que minimice el consumo de recursos y, por lo tanto, la emisión de carbono durante todo su ciclo de vida”, define David Contreras, profesor del grado en Matemáticas e Inteligencia Artificial de la Escuela Técnica Superior de Ingeniería de la Universidad Pontificia Comillas (Comillas ICAI).
Pero, ¿cómo un programa puede ser sostenible? “El ‘software’ realmente es un conjunto de instrucciones ordenadas o líneas de código que indican las tareas que procesará un ordenador. En función de cómo se diseñe el ‘software’ y, por lo tanto, de cómo se programe posteriormente, estaremos hablando de un código eficiente, optimizado y sostenible, o no”, añade el experto.
La idea es que los desarrolladores no vayan por libre, sino establecer unos estándares y códigos de buenas prácticas que aseguren que un programa creado siguiendo los valores del ‘green software’. Para eso se creó en 2021 la Green Software Foundation, una organización sin ánimo de lucro dirigida a los profesionales del sector tecnológico. Busca lograr que la computación no sea parte del problema del cambio climático, sino parte de la solución.
Principios básicos del ‘green software’
Según esta fundación, hay seis características que deben tenerse en cuenta para desarrollar este tipo de ‘software’:
- Eficiencia en emisiones de carbono: emitir la menor cantidad posible de dióxido de carbono (CO2)
- Eficiencia en el consumo de energía: usar la menor cantidad posible de energía.
- Conciencia sobre el carbono: hacer más cuando la electricidad sea más limpia y hacer menos cuando la electricidad sea más sucia.
- Eficiencia del ‘hardware’: utilizar la menor cantidad posible de carbono incorporado.
- Medición: lo que no se puede medir, no se puede mejorar.
- Compromisos climáticos: comprender el mecanismo exacto de la reducción de carbono.
Pero ¿cómo se traducen estos principios en la práctica? De entrada, Jorge Jesús Gómez Sanz, vicerrector de Tecnología y Sostenibilidad de la Universidad Complutense de Madrid, pone el foco en dos ámbitos concretos: el consumo eléctrico y la generación de residuos.
En lo que a electricidad se refiere, explica el profesor Gómez Sanz que, hoy en día, el ‘software’ ya no demanda sólo la electricidad de nuestros equipos (móviles, tablets, portátiles, televisores, etc.). También requiere consumo en otros componentes, como la existencia de redes de telecomunicaciones para transportar la información desde los ordenadores que proveen servicios —lo que conocemos como “la nube”— hasta sus destinatarios. “La combinación de estos elementos, sumado a potenciales millones de usuarios, hacen que cualquier fracción de vatios/hora ahorrada en un servicio, o en el ‘software’ usado para conectar con ellos, redunde en ahorros y menores emisiones al multiplicar por el número de veces que ese servicio se invoca”, señala.
Por otra parte, cuando se crea ‘software’ que solo puede funcionar en el ‘hardware’ más moderno, como hasta ahora, también se está siendo menos ecológico. “Se está estimulando el descarte de dispositivos más antiguos en favor de otros nuevos, generando así residuos electrónicos cuando no siempre es necesario. Se pueden aprovechar los dispositivos si el ‘software’ es más eficiente o si está diseñado para no tener demasiados requisitos”, añade.
Sin embargo, desarrollar ‘green software’ no es algo “universalizable”. Existe una tremenda variedad de desarrollos ‘software’ con diferentes objetivos, que pueden ser llevados a cabo siguiendo multitud de metodologías y finalmente implementados con muy diferentes tecnologías. “Por tanto, no hay una receta mágica y única para pasar de ‘software’ no verde a ‘software’ verde”, advierte la profesora Coral Calero, catedrática de Lenguajes y Sistemas Informáticos. De acuerdo con otros especialistas, existen distintos ‘frameworks’ de desarrollo: no siempre los más populares son los más eficientes en consumo de recursos.
Beneficios del ‘green software’ para la empresa
Pero lo importante no solo es definir nuevas metodologías de desarrollo más verdes, sino luego aplicarlas en el desarrollo de sistemas de la compañía y actualizar los sistemas más antiguos y menos eficientes. Como indica Coral Calero, es importante que estas prácticas “se adopten a nivel empresarial, ya que es fundamental que las mismas se incorporen dentro del proceso de desarrollo como parte de sus procesos de negocio”.
Resulta evidente que dicha transformación implica una importante inversión para las organizaciones, pero puede realizarse de forma gradual. “No hay que cambiar por completo el modelo de una vez cuando la empresa ya existe”, añade Calero. “Hay que plantearse los cambios de manera estructural. Desde los procesos de negocio, de forma incremental, controlada y valorando, en cada paso que se da, que los beneficios de consumo justifican los cambios a abordar. Y, por supuesto, buscar los cambios más adecuados a la empresa y al tipo de ‘software’ que aplica. Se puede empezar con pequeños cambios hasta poder llegar a los cambios más globales. Lo importante es comenzar y conseguir introducir el consumo energético en el desarrollo de las soluciones ‘software’, apostando por el ‘green software’.
Otro punto esencial antes de plantear este tipo de cambios —señalan otros expertos— es la necesidad de iniciar un cambio cultural entre los desarrolladores en el que la mejora de los indicadores de sostenibilidad del ‘software’ que desarrollan sea uno de los KPIs que mida el resultado de su trabajo, algo que hasta el momento nunca se ha considerado en la industria.
Los beneficios para la empresa no son pocos. Podrían agruparse en tres categorías:
1) Menores costos: al emplear sistemas más eficientes energéticamente —es decir, que utilizan menos energía—, disminuyen los gastos. En palabras de Contreras, “la implicación directa de una empresa que implemente prácticas de ‘green coding’ será la reducción de los costes operativos a largo plazo debido a la eficiencia energética, ya sea en su propio Data Center o en la Nube”. A nivel de costos también es relevante medir el impacto en la huella de carbono de la empresa y los costes de compensación de emisiones.
2) Arquitectura más sencilla: al tener menos interdependencias, el ‘software’ verde suele ser más simplista y directo, por lo que en algunos casos funciona más rápido y responde antes con los mínimos recursos de computación. “Que un programa reaccione rápido y no tarde segundos en devolver una respuesta —indica el profesor Gómez Sanz— es algo que cualquier persona apreciaría positivamente. Y que el coste asociado a la provisión del servicio sea mínimo también, es algo que interesa a toda empresa”. Si bien otros expertos matizan que muchas de las prácticas de ‘green coding’ van en la línea de buscar la forma de ejecutar una tarea con menos recursos pero no necesariamente más rápido.
3) Mejora de la reputación de marca: muchos consumidores e inversores apoyan a empresas que son respetuosas con el medioambiente. “Otro gran beneficio indirecto —dice Contreras— será la mejora de la imagen de marca al reflejar el compromiso con la sostenibilidad medioambiental. Esta imagen de empresa comprometida, permitirá la atracción y retención de talento comprometido con la responsabilidad social y ambiental, que redundará a su vez en una mayor calidad del ‘green software’ desarrollado”.