Categories
ARCHIVES

The Need for Sustainable Software

In recent years, freelance developers and global corporations alike have begun to question and understand their role in environmental issues. The term “green software” has been circling the software industry, which relates to software design, development, and use with the intent to keep carbon emissions as low as possible. Software does not consume resources or pollute the environment on its own. What creates problems is the way that code is designed and then deployed to run on hardware. As software grows, so does the reliance on the machines to make it run. Moving into this inevitable future, we should make software an integral part of our sustainability efforts by taking carbon footprint into account and rethinking aspects of how the hardware and data centers that provide cloud-based services operate.

Granted, there is an obvious issue to this design movement: why focus on individuals? To hit the real perpetrators for digital carbon reduction, the public needs to look at big infrastructure. There are many ways for tech to be more sustainable, yet companies, not small developers, should be held accountable as they have a footprint exponentially greater than the average consumer. 

A Wired article tells the story of a Dutch programmer who decided to investigate how he could reduce his carbon output independently. The coder, named Danny van Kooten, is the author of a popular WordPress plug-in that helps website owners use the mailing-list service Mailchimp. Using his plug-in, visitors can sign up for a Mailchimp list directly via a form embedded on any site. However, every time someone visits a page, a server has to send part of van Kooten’s code to their browser. Sending data to a browser uses energy, and the less code you send, the less energy you use. Van Kooten decided to refactor his plug-in so it sent 20 kilobytes (KB) less data, making it more efficient. This is a tiny change, but since 2 million websites use his plug-in, the refactoring effect adds up. By van Kooten’s estimate, trimming the code reduced the world’s monthly CO₂ output by 59,000 kilograms, roughly the equivalent of flying from New York to Amsterdam and back 85 times. “The code thing has been by far the biggest thing I could do,” he marveled, “and it’s crazy, because it takes a lot less effort than not eating any meat.”

Even throwaway habits can add up to a mountain of carbon. Consider the social emails we shoots back and forth. A UK energy firm named Ovo examined email usage by using data from Lancaster University professor Mike Berners-Lee, who analyzes carbon footprints. They found that if every adult in the UK sent one less “thank you” email per day, it would cut 16 tons of carbon each year, equal to 22 round-trip flights between New York and London. Ovo also found that 49% of people often send thank you emails to correspondents “within talking distance.” We can lower our carbon output if we’d just take the headphones off for a minute. 

This story is just one example of a new wave of sustainable software design which is propelled by technologists measuring the energy budget of nearly every swipe and click in our information ecosystem. Because so much of our lives is brokered by software, these tiny tweaks can be transformative. What individuals can do is impressive, but the focus should be on big companies and new technologies.

One relevant example of an innovation currently under such spotlight is Blockchain, a system to digitally track financial transactions, most commonly used by a digital currency known as Bitcoin. Bitcoin mining is the process used to generate such Bitcoin by solving puzzles. It consists of computing systems equipped with specialized chips competing to solve mathematical puzzles and win tokens as a reward. For a short period of time after Bitcoin was first launched, it was painstakingly mined on desktop computers with regular central processing units (CPUs). Now, the cryptocurrency is generated using large mining rigs spread across many geographies. Bitcoin miners run mining systems that consume massive amounts of electricity to mine the cryptocurrency, and in regions where electricity is generated using fossil fuels, mining is considered detrimental to the environment. In 2019, researchers at the University of Cambridge estimated that the amount of energy necessary to maintain the Bitcoin network surpassed that of the entire nation of Switzerland. As a result, some Bitcoin miners have moved operations to places with renewable sources of energy. To reduce Bitcoin’s impact on climate change, many have started conversations about the environmental impact of software moving forward.

This spotlight shines on the communications technology sector as a whole. A 2020 report from the Harvard Business Review found that by 2040, the sector, which is comprised of businesses that sell goods from hardware and cloud services to ecommerce, is expected to account for 14% of the world’s carbon footprint—up from about 1.5% in 2007. According to a project mentioned in Harvard’s report, the hyper-development of software itself can be exponentially energy-intensive—training a certain artificial intelligence model to classify flowers with an accuracy of 96% required 964 joules of energy. The next 1.74% increase in accuracy however, required 2,815 joules of energy consumption and the last 0.08% incremental increase in accuracy took nearly 400% more energy than the first stage. The project found that “training a single AI model can emit as much carbon as five cars in their lifetimes,” confirming discussion among the scientific community that tech like decentralized currency and deep learning have a terrible carbon footprint.

As this example shows, training any neutral network models, like the recommendation algorithms used by Netflix and YouTube, can emit significant amounts of carbon. The fact that the development of such systems will only become more energy dependent in the future has been confirmed by many top firms in the market. This is why it is important now, more than ever, to start discussing their implications and ways to minimize software’s energy use by improving their efficiency. OpenAI, one of the largest non-profit artificial intelligence research laboratories, released a statement in May 2018 that the computational power required to run large training models has been increasing exponentially since 2021, with a 3.4 month doubling time. Moore’s Law, by comparison, claims that the number of transistors on a microchip has doubled about every two years as the cost of computers has halved since 1965. Machine learning is only one example of such power-hungry software. It’s seriously worth preparing for the implications of systems far outside today’s capabilities, and in this case massive corporations, not small developers, are the ones that need efficiency overhauls.

Even if small design tweaks don’t zero out the emissions of movies or Bitcoin, they are still worth consideration. It is good to shine a spotlight on the CO2 footprint of our daily software, and it makes the value of lower-energy code feel tangible. Imagine if websites ditched their tracking bloatware and ran badges boasting about their performance and lower carbon footprint. Software should be designed with sustainability in mind; this is a future we should push for.

Sources

Amodei, Dario. “AI and Compute.” OpenAI, 21 June 2021, openai.com/blog/ai-and-compute.

Murray, John. “Your Software’s Carbon Footprint – John Murray.” Medium, 21 Oct. 2019, medium.com/@john.m.murray786/your-softwares-carbon-footprint-98d6dc2ff6d6.

Podder, Sanjay. “How Green Is Your Software?” Harvard Business Review, Harvard Business Publishing, 18 Sept. 2020, hbr.org/2020/09/how-green-is-your-software.

Thompson, Clive. “How ‘Sustainable’ Web Design Can Help Fight Climate Change.” Wired, Condé Nast, 23 June 2020, www.wired.com/story/sustainable-software-design-climate-change.