Climate-friendly software practices are largely in the hands of organizations, but there are steps individual developers can take to benefit the environment.
The foundation focuses on sustainable software that can help tackle climate change, said Chris Murphy, CEO of Thoughtworks North America, during a keynote at this week's Green Software Foundation Global Summit in New York City. Two ways to make this solution possible are to build greener software with sustainability built in, he said, and to change the culture of software so that sustainability becomes a core priority.
"I feel that we're at a pivotal moment here in society as we see this increasing digitization of every industry, of every organization in the world," Murphy said. "We've got an opportunity -- and, I would argue, an obligation -- to ensure that digitization is occurring in a sustainable way."
"This whole conversation is important because everything is 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 mandate for environmental sustainability. In the past, "green" was more about money than about the planet, the report said, but climate change awareness has reversed that thinking.
"Although the effects of climate change on consuming and creating data aren't yet under the same spotlight as they are in the steel and plastics industries, this issue will gain prominence in the coming decade," the Forrester report said.
Until recently, the conversation about green software had mostly resided in academia, Sunil said, but it's becoming a topic of conversation for major IT services players. For example, the companies involved in the Green Software Foundation are working on guidelines for code reusability, he said, to maximize code reuse and optimize code's energy consumption.
Simon Mingay, a research vice president at Gartner, explained that the main reason why the green software movement has been slow to gain traction is the complexity involved with coordinating a company's moving parts, which range from enterprise and solution architectures to operations and sourcing teams. In addition to measuring energy, resources and greenhouse gas emissions from the combined parts, companies must also consider other point optimizations, such as productivity and cost.
Sunil and Mingay agree that although there are many moving parts to the green software movement, individual developers have an important role to play.
"Software efficiency is the one key term that keeps coming up with everybody I speak with," Sunil said. Optimization of efficiency in code development is the key contribution that developers can make toward sustainability, he said.
Practical tips for software efficiency
Every developer's journey toward sustainable tech starts 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 within the workforce and sustainability goals are clear from the top down can help improve a company's long-term energy profile.
That doesn't mean developers should wait until their company steps up to the sustainability plate. There are small changes individual developers can make to their workflow, Sommer said, like 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, doubling in a data silo is a sure way to overuse resources, Sommer said. She advised that developers ensure a good design review process is in place to get feedback and generate a hive mind geared toward sustainability.
Will SpielbergEngineering manager, Spotify
For developers working with mobile or web development, the first step should be to reduce polling network calls, said Will Spielberg, engineering manager at Spotify, during the summit. In the same vein, customizing metadata or packets can reduce the size of the data.
Spotify has monitors in place to measure carbon efficiency for all levels in the organization, right down to the individual developer, Spielberg said.
"Maybe that's the No. 1 thing that you could do, because if you can't monitor it, if you can't measure it, you're not changing anything," he said.
Green projects under construction
Developers who are interested in measuring their software's carbon footprint should become familiar with the Software Carbon Intensity (SCI) specification, said Dan Lewis-Toakley, a senior developer consultant at Thoughtworks, in a summit workshop.
An SCI score can be created for any software application, from small projects to enterprise-scale applications, he said, with the following formula:
SCI = ((E * I) + M) per R
- E = energy consumed by a software system
- I = location-based marginal carbon emissions
- M = embodied emissions of a software system
- R = functional unit (e.g., carbon per additional user, API call or machine learning job)
The equation is under development, but version Alpha, 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 an open source Carbon Aware SDK, which should be available soon, Lewis-Toakley said. The tool will integrate into a build pipeline, enabling carbon-aware applications to be automatically deployed in optimal clean energy environments, he said.
Other areas the foundation is exploring are optimizing storage and caching techniques, and leveraging content discovery networks so that data is closer to where it is needed, Forrester's Sunil said. The problem is multifaceted, he added, but every small step toward emission reduction contributes to solving the climate change problem.