I'm a software engineer, and lately I've been thinking whether it's possible to delineate the environmental impact of a software product - say a web service, a website, an app for your phone, etc.

It takes resources to create it:

  • Developers, who use the company facilities while working on the software.
  • Equipment - laptops, desktops, monitors, whatever else

It takes resources to run it:

  • Cloud-based software runs in a datacenter, and enjoys the economy of scale a datacenter provides
  • More traditional software runs on dedicated servers you have to manage yourself.
  • A more inefficient algorithm may require more CPU cycles than an equivalent, but more efficient, algorithm
  • Depending on longevity, this software may be running in the datacenter, or on people's phones, for many years

It also takes resources to deprecate/decommission software. Taken together, I wonder if there's a way to apply Life-Cycle Assessment (LCA) methodology to software products akin to how it's done to more traditional "physical" products. So much of our modern life runs on software that I suspect it's not going to end up being very cheap, when taken on its global scale.

Is anyone aware of efforts (or even theoretical studies) of applying LCA to software?


  • I am not seeing this a sustainability question but I don't authority to VTC. Some software must be run in house. How can you compare a data center to a phone? – paparazzo Sep 24 '18 at 21:23
  • 1
    @paparazzo The way this becomes a sustainability question is when you begin comparing different methodologies for creating software, as well as different efficiency characteristics of the created software. My guess is that software that takes less effort to create and maintain, and uses computing resources efficiently, has a smaller environmental impact than less efficient and more "bloated" alternatives. I wonder if it's possible to do that comparison, the way you can compare a diesel car to an electric car from an LCA perspective. – RuslanD Sep 24 '18 at 23:28

You can easily conduct an LCA for a software product. What is probably most important is your underlying database though as I suppose you do not want to get engaged in primary collection. You can use open source software like http://openlca.org/. There, are also basic tutorials available for free on the website. The basic principle of an LCA is always the same you just have to use other data input.

  • 1
    Welcome to Sustainable Living! I wonder if there are already life cycle inventories for software development processes? I think there's a good chance that you'll have to do everything from scratch, and in that case you'd better strike the word 'easily' from your answer. – THelper Nov 21 '18 at 16:05
  • Hi Jonas, are you saying that either you, or someone else, has already done an LCA for a software product? If so, could you please send me some links? As @THelper mentioned, unless there already are lifecycle inventories for software products, one would have to do everything from scratch. – RuslanD Nov 21 '18 at 19:38

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.