Say hello to V1 of the BoaviztAPI

BoaviztAPI is an Open-Source project supported by the Boavizta working group. The project provides as a REST API the data and methods to assess the environmental impacts of digital equipment and cloud services. Here are the main objectives.

Evaluate the impacts based on technical characteristics: By providing a description of the equipment used as well as its usage conditions, the API is able to generate footprint factors. This is similar to a database of dynamic factors.

Layered architecture: The API follows a bottom-up approach. When possible, the equipment impacts are evaluated based on the cumulative impacts of their components. In the future, we aim to evaluate the impacts of digital systems and services based on the impacts of the equipment implemented.

Multi-criteria: To take into account the diversity of environmental impacts induced by digital technologies, the API is not limited to the evaluation of greenhouse gas emissions. 19 impact criteria are available, such as pollution, the use of resources and energy, and even land use. Due to the lack of public multi-criteria environmental footprint factors, all of the assets evaluated do not implement all of these criteria. For example, only 3 are available for servers.

Over the whole life cycle: The environmental impacts of digital technologies are not limited to the use phase and energy consumption of hardware. The main life cycle stages are evaluated by the API (extraction of raw materials, manufacture, use). The distribution and end-of-life phases are assessed where possible.

Simple or detailed interface to choose from: Extensive inventory data is used by the API as part of the evaluation. However, since most users do not have all of this data, the API is able to complete the missing attributes, according to different strategies:

  • Dynamic completion based on other data. (e.g. CPU name)
  • Data from the archetype, a pre-registered piece of equipment or component that is defined in the query, allowing to fulfill missing data.
  • Default data.

To take into account the uncertainty generated by the completion of missing data, we set minimum and maximum limits on all inventory and impact data.

Transparency: Transparency is a key element in the creation of commons at Boavizta, especially in the growing context of digital technologies’ environmental assessments. In order to guarantee a high level of transparency, we document as much as possible the methodologie followed and send the data back to the users- in particular the completed data.

New features

The first versions of the API made it possible to create an MVP to test the usefulness of the a tool. With the release of v1, we hope to offer a more complete and more robust project that can be used in a variety of use cases and encourage collaboration. Among the major new features, we can cite:

In order to offer a more robust version 1, many major modifications (breaking changes) have been introduced. So, if you were using former versions, you will have to modify some of your API requests. Do not hesitate to look at the release note in detail, open issues on GitHub to discuss it or even contribute to improving the documentation.

Boavizta’s tool approach

Open-Source

Why?

The members of Boavizta are, before being digital professionals, citizens aware of the risks and consequences of exceeding planetary limits and the growing role of digital technology in this regard. Several reasons motivate us to only produce and encourage open solutions and methods:

  • The democratization of the complex subject of environmental impacts linked to digital technologies.
  • Scaling up, in terms of understanding these impacts in organizations and their ability to reduce them.
  • Better collaboration and therefore better quality of the tools and methods offered.
  • Respect for all people (including us) who could be subject to new regulations in the future, motivated by environmental impact assessments. An evaluation, whether in the form of a study, a control table, or a figure shared in communication campaigns, is a political object. It has the potential to influence private or public policies. In our opinion, the people and societies affected by these policies must have a right to review the way in which these evaluations are constructed, to be able to criticize and question them.
  • International sharing and collaboration, which we believe is essential for agreements to be reached on evaluation standards that are as reliable and transparent as possible.

The AGPL license

The AGPL or GNU Affero General Public License is an open source license intended to require services accessible via the network to publish their source code. This license appeared in a context where many online commercial services were built on free software, but do not provide any remuneration in any form to the maintainers of these projects. This license is said to be free and copyleft.

“Free” means that the author grants all the rights or part of the rights conferred on him by copyright, leaving at least four rights considered fundamental to users:

  • use of the work;
  • study of the work to understand how it works or adapt it to its needs;
  • modification or incorporation of the work into a derivative work;
  • redistribution of the work, that is to say its distribution to other users, including commercially.

“Copyleft” means that these rights are granted, to the extent that this same authorization remains preserved. The goal is to prevent the original work from being modified, then this new work not allowing the same rights to its users.

The BoaviztAPI is licensed under AGPL-3.0. Which means that any person or organization, giving access to people other than their collaborators to a self-hosted version of the API, whether modified or not, integrated into another tool or not, is in the obligation to communicate to its users a link to the source code of the active version of the API. Through this license, it is for us both to promote the work of contributors, to encourage users to contribute but above all to avoid modified use of the non-auditable API.

State of the art

The process/methodological discussion

We try to bring the methods and calculations implemented in the API as close as possible to the state of the art of research on the subject. To do this, methodological discussions often arise from the publication of a scientific article, which seems to bring a significant improvement for the evaluation of a given digital element (environmental impacts of a semiconductor, a screen, or of a specific component, for example). Discussions generally begin within the association, on our chat tool. Once an evaluation scope seems addressable thanks to these new discoveries, we generally open an issue on the BoaviztAPI Github project, by adding an “Enhancement” tag.

From there, the discussions are open publicly and anyone, member or not of the association, can take part in the reflection and suggest a way of implementing this methodology.

A person who is not a member of the association can also suggest implementing a new calculation method, by directly opening an issue on the Github project.

Microservices

The API plays a central role in the Boavizta ecosystem. It is the methodological framework and the calculation engine, which can be used in many contexts. It is the BoaviztAPI which provides the impact evaluations available via Datavizta. It is also the component responsible for impact assessment in the cloud-scanner project, which makes it possible to assess the impacts of resources consumed in an AWS account. Boagent is another example of using the API, intended for physical servers. This tool scans the hardware characteristics of a server and provides an impact assessment based on the BoaviztAPI. Cloud-scanner and Boagent are projects that embed the API as a software component. It is therefore necessary to update the version of the API used and deployed with the project, to benefit from its advances (and it is up to the contributors of these projects to adapt the tool to benefit from changes in the API to users).

The BoaviztAPI is capable of evaluating the impact of manufacturing equipment, but also of its use (given that the user provides usage hypotheses). The method used to do this is constantly evolving, but we came to the conclusion that a more structured project, using primary data collection, was necessary to improve it. The WIP Energizta project aims to power the API with better models for estimating the energy consumption of a machine in the future.

boaviztAPI

© Boavizta