Both generic and specialized tools can help achieve green software goals
A green software tool can be any tool that measures or implements energy efficiency, hardware efficiency, or carbon awareness in software applications. Specialist tools reduce emissions by design, whereas generic tools may reduce emissions as a byproduct of non-environmental goals.
The advantages of specialized tools are that they optimize energy and hardware efficiency while facilitating the use of renewable electricity and provide frameworks for translating such gains into environmental metrics. Specialist green software tooling, such as carbon awareness, are crucial in reducing digital emissions. Their disadvantage is that they are often very new, not always tested at scale, lacking in complexity, and more difficult to find.
The advantage of generic tools is that they tend to be more mature, discoverable, and easier to integrate and scale. However, their environmental contributions may not always be apparent. Technologists must have the environmental domain knowledge to know which parts of their generic tooling can be harnessed to measure carbon emissions or achieve other environmental gains. Even then, additional work or research is required to translate their impact into environmental metrics.
To see the difference between the two types of tools, consider the specialist green software tool, designed primarily to profile the carbon footprint of code by profiling code performance and translating performance gains into environmental metrics such as CO2 emissions.
A generic performance profiling tool that has been designed to improve the performance of an application without any environmental design goals will yield the same base level information. Prior knowledge that performance improvements will likely reduce digital emissions means adopting a generic performance profiling tool may suffice. With that said, understanding the potential significance of CO2 reductions, or tracking progress toward net zero objectives does require additional work without a specialized tool.
Given the huge availability and adoption of generic tooling, and the growing number of specialist green software tools, the most effective strategy for achieving environmental gains from software applications is to use a combination of the two: (i) mapping generic tooling against environmental goals, followed by (ii) using specialist green software tools to achieve maximum environmental observability, measurability, and benefits.