Green software practices are largely in the hands of organizations, but there are steps individual developers can take to help the environment.
Founded in May 2021, the Green Software Foundation is a non-profit organization formed under the Linux Foundation and backed by tech giants Accenture, GitHub, Microsoft and Thoughtworks. The foundation is focused on sustainable software that can help fight climate change, Thoughtworks North America CEO Chris Murphy said during a keynote address at this week’s Green Software Foundation Global Summit in New York. Two ways to enable that solution are by developing greener software with sustainability built in, he said, and changing the software culture so that sustainability becomes a core priority.
“I feel like we are at a pivotal moment here in society as we see this increasing digitization of every industry and every company in the world,” Murphy said. “We have the opportunity – and I would say the obligation – to ensure that digitization is sustainable.”
“This whole conversation is important because it’s all enabled by software,” said Abhijit Sunil, an analyst at Forrester Research. In other words, software is still eating the world, he said.
Green software movement gaining traction
A 2021 Forrester report warned that technology can no longer ignore the imperative of environmental sustainability. In the past, going green was more about money than the planet, the report says, but climate change awareness has reversed that thinking.
“Although the impact of climate change on consumption and data production has not yet received the same spotlight as in the steel and plastics industries, this issue will gain importance in the coming decade,” says the Forrester report.
Until recently, the conversation about green software was mostly in academia, Forrester’s Sunil said, but it’s becoming a talking point for big IT service providers.
For example, the companies involved in the Software Foundation are working on code reusability guidelines, Sunil said, to maximize code reuse and optimize code power consumption.
Simon Mingay, research vice president at Gartner, explained that the main reason the green software movement has been slow to gain momentum is the complexity involved in coordinating the moving parts of an organization — enterprise and solution architectures to operations and procurement teams. In addition to measuring energy, resources and greenhouse gas emissions of the combined parts, companies must also consider other optimization points such as productivity and costs.
Sunil and Mingay agree that while there are many moving parts in the green software movement, individual developers have important roles to play.
“software efficiency is the one key phrase that keeps popping up with everyone I speak to,” Sunil said. Optimizing efficiency in code development is the key contribution developers can make to sustainability, he said.
Practical tips for software efficiency
Every developer’s journey to sustainable technology begins with a company’s guiding principles, said Emily Sommer, software engineer at Etsy, during a summit panel discussion.
The Forrester report agrees that an internal value chain, where sustainable attitudes are embedded in the workforce and sustainability goals are clear top-down, can help improve a company’s long-term energy profile.
That doesn’t mean developers should wait for their company to step onto the sustainability record. There are small changes that an individual developer can make to their workflow, Sommer said, such as designing a way to automatically clean up a system.
“If you can identify it, you can get rid of it,” she said.
On a larger scale, duplicating data in a data silo is a surefire way to overstretch resources, Sommer said. She advised developers to ensure a good design review process is in place to gather feedback and develop a sustainability-focused hive mind.
For developers working with mobile or web development, the first stop should be to reduce polling network calls, said Will Spielberg, engineering manager at Spotify. Likewise, adjusting metadata or packages can reduce the size of the data, he said.
Will SpielbergTechnical Director, Spotify
Spotify has monitors in place to measure carbon efficiency for all levels in the organization, down to the individual developer, Spielberg said.
“Maybe that’s the first thing you could do, because if you can’t monitor it, if you can’t measure it, don’t change anything,” Spielberg said.
Green projects under construction
Developers interested in measuring the carbon footprint of their software should familiarize themselves with the Software Carbon Intensity (SCI) Specification, said Dan Lewis-Toakley, MD Senior Developer Consultant at Thoughtworks in a summit workshop.
An SCI score can be generated for any software application, from small projects to enterprise-scale applications, he said, using the following formula:
SCI = ((E * I) + M) per R
- E= Energy consumed by a software system
- I = Location-related marginal CO2 emissions
- M = Embodied emissions of a software system
- R= Functional Unit (e.g. carbon per additional user, API call or ML job)
The equation is under development, but the Alpha version shown above is available on GitHub, along with detailed instructions on how to calculate the various components of the formula.
The Green Software Foundation is also working on a carbon-conscious open-source software development kit that should be available soon, Lewis-Toakley said. The tool will be integrated into a build pipeline, allowing carbon-conscious applications to be automatically deployed in optimal clean energy environments, he said.
Other areas the foundation is exploring include optimizing storage and caching techniques and leveraging the Content Discovery Network, or CDN, to get data closer to where it’s needed, Forrester’s Sunil said. The problem is multifaceted, he added, but every small step towards reducing emissions helps solve the climate change problem.