asim.dev

Doing for Sustainability, What Open Source Did for Software

LF OSS 2024 · Vienna, Austria

by Asim Hussain · 31 August 2024

talk tech green
Doing for Sustainability, What Open Source Did for Software
▶ Watch on YouTube ↗

This is my attempt, after years staring at one question — how do you reduce the environmental impact of software? — to say the answer out loud. It’s a talk about power, about measurement, and about a tool we’re building in the open called Impact Framework. It opens with an Aztec war club, which tells you something about the mood.

AI-generated summary of my talk

Jump into the talk

  1. 0:00 An Aztec war club, and measurement as life and death
  2. 2:01 The Green Software Foundation and the SCI
  3. 5:06 A talk about power and measurement
  4. 8:07 Power: concentration versus dilution
  5. 12:13 The metric system, born of the French Revolution
  6. 15:16 Where 'carbon footprint' really came from
  7. 17:20 Impact Framework: observations, impacts, pipelines
  8. 21:22 Changing the world with a YAML file — the demo
  9. 28:34 Reading the build-driven emissions spike
  10. 38:39 Watchers, SCIDB, and the first 10

A war club, and why this is life and death

The first slide is a macuahuitl — an Aztec close-quarter weapon, a slab of wood lined with obsidian, volcanic glass that chips to an edge sharper than a steel razor. The Aztecs were a trading empire on an island that couldn’t grow or hunt enough, so they made a promise: come and trade, we’ll keep it safe and fair. If you thought a stallholder was cheating you, you called over the Aztec police — warriors who carried standardised weights on their belts and checked on the spot. If the trader was cheating, the club came out. If they weren’t, it came out for you.

I tell that story for two reasons. One, it’s a great story. Two, we so often fluff over the reality of sustainability — it’s life and death — and this is a perfect tale about measurement, and about measurement being power.

Power: who concentrates it, who dilutes it

I’m the executive director of the Green Software Foundation, which I co-founded over three years ago — we’ve grown from 8 to 68 members and we’re part of the Linux Foundation family. Our vision is a future where software has zero harmful environmental impacts, and our most mature standard is the SCI, the Software Carbon Intensity specification: carbon per something. It reached consensus across our members, then went through ISO and was approved late last year.

But the real talk is about power — not power as in electricity, power as in power. I define it simply: the ability to influence people and events. It’s not good or bad; what you do with it is good for some and bad for others. I think in terms of two forces — one that concentrates power into as few hands as possible, and one that dilutes it into as many as possible. Sustainability, to me, is the fight against the concentration and for the dilution. I look at technologies and ask where they land: democracy dilutes power, the internet dilutes power, open source dilutes power. I’ve sat across from execs the moment they realised an open source project had scuppered their plans — they can’t stop it, someone will just fork it. The sustainability space today looks a lot like the closed-source ecosystem of decades ago. And the lever to dilute power here, believe it or not, is measurement.

Where “carbon footprint” actually came from

Measurement has been a tool of power for thousands of years — there’s a quote I love about units being “tools of subjugation” that keep the world making sense only as long as the power behind them stays in place. The metric system is the counter-example: people were fed up with King Louis XVI’s nobility cheating them with rigged weights, that anger helped trigger the French Revolution, and out of it came a system “for the people and by the people” — a metre pegged to the circumference of the earth so it couldn’t be fixed.

Then: where does the term “carbon footprint” come from? It was popularised by BP in 2004. Under pressure over global warming, they hired a PR firm, and the answer was a carbon footprint calculator — not to measure BP’s footprint, but to measure yours. Seventy companies linked to most of global emissions, and the framing became your fault. I sit and meditate on this move. It’s genius. They flipped the table with a single ad campaign. The conclusion writes itself: measurement is the chessboard on which the game of power is played, and if you don’t know that, you’re the one being played.

Impact Framework: turning observations into impacts

So the best counter-move I can see is open, transparent carbon reporting that anyone can run on anyone else — and that’s Impact Framework, a tool we build with the Foundation community. Nothing out there is quite like it, so it’s hard to explain. It’s two things: a custom calculator for environmental impacts, and a file format for communicating them.

The core idea: most organisations either haven’t calculated their impacts or can’t apportion them to you usefully. So instead you start from observations — data you can actually see about a running system, like website visits or CPU utilisation — and you induce them into impacts like carbon, water, or an SCI score. The induction happens through small bits of code we call model plugins. Earlier tools were monoliths — take it or leave it. The community wanted flexibility, so we went micro-plugin: you pick and choose the models you need and chain them like a Linux pipeline — cat the observations, pipe to a command, pipe to the next, print the result — swapping any stage out as easily as a shell command.

The whole computation is described in a YAML manifest, and the results land back in the same file. In the demo I scroll through our own website’s SCI calculation — total emissions of 2.4 kilos for August, an SCI of about 0.13 grams per visit. But the headline number is nearly useless. Every action you can take only emerges when you get granular: temporal granularity over a month, structural granularity down to each component — end-user browsing, network, servers, even the emissions from just storing our code on GitHub.

Reading the spike, and the first 10 Watchers

The granularity pays off live. The per-visit number wobbles, and I spot a little peak around mid-August. I drill in: it’s the server. Drill again: it’s Netlify. Drill again: five builds that day versus one the day before. There it is — I did more builds. That’s the point of getting granular; the action falls out of the data. And because the manifest is just a file, you can download it, disagree with one of Joseph’s coefficients (he’s our R&D lead, a climate scientist with years in the Arctic), rerun it locally, and open a pull request: “Joseph, I think you’re wrong, here’s why, here are my numbers.” Not a row on Twitter — a conversation backed by receipts. The community even built a plugin that estimates premature deaths from your software’s emissions, with the papers cited to back the coefficients.

This is the part I half-admire about BP: remember, they built a calculator to measure your emissions — we’ve built one so you can measure theirs. How do you like them apples. My saying for it: if you’re fully transparent, you can’t be accused of greenwashing — only of being wrong.

To make it real we need Watchers — people skilled at turning observations into impacts, writing these manifest files. It’s genuinely hard, a real expertise, and there aren’t many who can do it yet. So the call to action is the first 10 Watchers: people we’ll train, whose job in return is to score the top 100 open source projects and publish those SCI files in an open repo we’re calling SCIDB. Open source is the right starting place — it’s already open, no secrecy to fight. My dream is bigger still: every software product sold with a label and an SCI score, pointing to a manifest with the evidence, the way food carries a nutrition label. Disagree? Fork the file and tell me I’m wrong.

This is the open, transparent measurement I gesture at the end of Smashing Hour: the Four M’s of green software — here’s where I take the argument all the way down.