You can’t see it, hear it, taste it, feel it or smell it, but software is all around us. It supports modern civilization even as it consumes more energy, wealth and time than necessary and emits a significant amount of carbon dioxide into the atmosphere. The software industry and the code it delivers must be much more efficient in order to reduce emissions attributable to programs running in data centers and over transmission networks. Two approaches to software development are presented SpectrumThe April 2024 issue can help us achieve this.
In “Why Bloat Is Still Software’s Biggest Vulnerability,” Bert Hubert pays tribute to famed computer scientist and Pascal inventor Niklaus Wirth, whose influential essay “A Plea for Lean Software” appeared in IEEE Computer 1995. Wirth’s essay built on the methodology he first devised Spectrum associate editor Robert N. Charette, who adapted Toyota’s manufacturing system for software development in the early 1990s.
Hubert points out that bloated code offers huge attack surfaces for bad actors. Malicious hacks and ransomware attacks, not to mention common software glitches, are now like the weather: partly cloudy with a 50 percent chance of your app crashing or your personal information circulating on the Dark Web. In the past, limited computing resources forced developers to write lean code. Now, with much more robust resources at hand, coders are writing millions of lines of code for relatively simple applications that call on hundreds of libraries of what Hubert says are “of unknown origin.”
“There’s already a large segment of the software development ecosystem that cares about this space—they just didn’t know what to do.” —Asim Hussain, Green Web Foundation
Among other things, he advocates legislation in line with what the European Union is trying to implement: “NIS2 for important services; Cyber Resilience Act for almost all commercial software and electronic devices; and a renewed Product Liability Directive which also extends to software.” Hubert, a software developer himself, takes a simple step: his 3-megabyte image-sharing program Trifecta does the same job as other programs using hundreds of megabytes of code.
Lean software should, in theory, be green software. In other words, it should work so efficiently that it reduces the amount of energy used in data centers and transmission networks. Overall, the IT and communications sectors are estimated to account for 2 to 4 percent of global greenhouse gas emissions, and could reach 14 percent by 2040, according to a 2018 study. And that study came out before the explosion of artificial intelligence applications, whose insatiable hunger for computing resources and the power needed to power algorithms is exacerbating an already complicated problem.
Fortunately, several groups are working on solutions, including the Green Web Foundation. GWF was founded nearly 20 years ago to figure out how the Internet is powered, and now has the goal of a fossil fuel-free Internet by 2030.
There are three main ways to achieve that goal, according to foundation president and CEO Asim Hussain: use less energy, use fewer physical resources, and use energy more judiciously—for example, by making your applications run more when wind and solar power are available. and less when there are none.
“There’s already a large segment of the software development ecosystem that cares about this space — they just didn’t know what to do,” Hussain said Spectrum associate editor Rina Diane Caballar. Now they do, thanks to Caballara’s extensive reporting and the practical how-to guide she included in We Must Decarbonize Software. Developers have tools to make software simpler and more environmentally friendly. Now it is up to them, and as we have seen in the EU, up to their legislators, to make a sustainable and safe code a top priority. Software doesn’t have to be bad.
Articles from your site
Related articles around the web