GreenFediverse: Difference between revisions

From Hackers Against Climate Change
Jump to navigation Jump to search
No edit summary
(2022 update)
Line 1: Line 1:
[[File:Greenfediverse.png|thumb]]
==What is the GreenFediverse?==
==What is the GreenFediverse?==



Revision as of 13:38, 11 February 2022

What is the GreenFediverse?

GreenFediverse is an open project to empower the Fediverse to run on servers with renewable energy and creating awareness for a sustainable development of it. GreenFediverse provides a critical list about servers and their renewable energy consumption status in a Green Instances List

A brief history

Why not being the first decentralised social network that runs on renewable energy? Sounds utopian, but we do it anyway!

The project emerged from discussions in Fediverse in 2019. The discussions focused on digitization, climate change, the environmental sustainability of social networks, data centers and their energy consumption. It all started in March 2019 with the mastodon-account GreenFediverse. In the beginning the community around the project created some manually edited lists: old instances list and a green webhoster list. In 2020 @attac_hl worked on the technical realization of a new green instances list and combined the databases from Mastostats and the GreenWebFoundation. In 2021 @aligyie, created a green webhost ranking. Since the beginning, the project has been managed by @moagee. Moagee and a friend are currently developing the list, researching and filling the database.

Why are we doing this?

We, as users of the federated universe called "Fediverse" are aware that our self-hosted instances run on servers with different types of energy consumption. The global energy demand for our data centers will continue to increase despite the fact that they will be more efficient. One of the core questions are: what kind of energy will we use in the future? Should we favor certain data centers and services? Green web hosting will be one of the many key factors in addressing the climate crisis and environmental degradation on our planet. We face huge challenges on our way there. On the one hand, there is a great lack of transparency, including increasing greenwashing tendencies. We also face the complexity of the energy market and its unpredictable dynamics. Are there again bad players on the market? How can we find out which energy suppliers offer us real green energy without greenwashing?

With our research we try to get a first but not complete overview about webhosting provider. This data set include Fediverse instances which are using renewable energy for their servers. We want to take a closer look at our digital infrastructure to make the ecological footprint we leave in the digital space more visible. With this step we try to combine ecology and technical aspects, to make them more visible and aware for everyone - our main goal is to create awareness for an ecologically sustainable development of our digital space including the Fediverse. We are aware that it is not possible to obtain or produce green energy everywhere on our planet. We do not want to blame anyone for not using green energy. But we may want to name such companies that are complicit in the destruction of the planet. We are aware that the production of the hardware that our server uses takes place in conditions that involve the exploitation of humans and nature. Therefore, the questions are not only limited to the use of energy, but must also be extended to the dimensions of social and human rights aspects. Unfortunately, these dimensions are always disregarded, which is why we would like to strongly advocate that this topic should be viewed from a multi-perspective lens. Naming poor conditions and inequalities is only a small step, but what kind of action follows from it for those responsible? Building open knowledge can lead to more conscious decisions in our actions.

So, let's build a data base!

and see how it works:

By the way: you can help with programming and merging the APIs, and building the open databases through research. Building the database means critical research and building open knowledge about the energy use of server operators. In both cases, always check the repository first to see what tasks are currently available, what issues are open, and where we are in the process.

How it works

1. Collision of open databases: There are two open databases we work with

Database 1: The GreenWebFoundation's open database, the "Green Web API" (github) works in such a way that it outputs the "green" status of a website. This is done by the GreenWebFoundation first using various machine-verifiable methods to determine the domain names, IP addresses or the autonomous system number. In addition, the GreenWebFoundation has built an independent certificate database, where operators of websites or web hosts, which can not be automated-machine recorded, can register - take a look at the registration-process. There, a "proof" in the form of a certificate can then be provided, i.e. a badge can be acquired. These registered servers and services can then be labeled, i.e. provided with the information that they operate with renewable energy or not. Website addresses can be queried in the front end via a "Green Web Check" search mask or via the API. Whether a "green" entry exists here, the API then outputs a status result with "green" or "gray". More information about the functionality of this API can be found here. "The Green Web Foundation is a recognized not-for-profit organization registered in the Netherlands, that is run by a small group of dedicated volunteers located in Germany and The Netherlands." "Our strategy is simple: we use the existing protocols of the internet to understand where infrastructure is run, when we speak to the people running it to see how they power it. We then make these answers easy to look up, providing free online tools, APIs and open datasets, and helping people incorporate this information into their own services and analysis."[citation]

Database 2: Another database we use is that of the-federation, (they are also on Socialhome and github). Using the API, which is also open, we get a list of all connected and here registered instances of the Fediverse. A single instance offer us more information with the "/nodeinfo/2.0", (e.g. https://chaos.social/nodeinfo/2.0). Here we get, for example, what kind of "software" (Mastodon, PeerTube, etc.) is used on an instance.

Then the magic begins: The Data-Collider:

Then we let these two databases collide with each other. The script we wrote, which you can find on codeberg then executes the command to green check all instances and provide the information we want to get in our list. The result is our Green Instances List.

2. Research: building a open knowledge database

While building up our own database we would like to get more knowledge by critical research and make it available to everyone. This relates very specifically to knowledge about the energy use of server operators. Through our script we already receive a first status of all registered Fediverse instances from the GreenWebFoundation. However, since we had to realize that not all companies and server operators are transparent with a statement about the use of renewable energy and partly even do greenwashing, we would like to complement this status with a qualitative and transparent research. This information collected by the community is for each server operator, technically all domain names, AS numbers or IP addresses are collected and added to the list.

For this purpose nieebel already collected a lot of information and put it together in a selfmade ranking. After research and investigation, we will have a lot of information that we systematically add to the database. We collect these infos about single hosting services and data centers and their use of renewable energy in separate .md - files. In these text files the collective research is structured and written in text, we will offer links to information pages and certificate-files.

So we have several options to work with:

"additional infos" means we make our research transparent in a structured way. For every webhoster we create a separate .md file. You should use this stylesheet and take a look at the entries we already filled. It should look like this:<syntaxhighlight>

    • Hosting Provider:**
    • Published green energy certificate::**
    • Critical green energy and sustainability notes:**
  • About the data center:*
  • About the energy:*
    • Further research:**
    • Other notes:**

</syntaxhighlight>

For example, if we did an investigation for Hetzner's data center, then the .md file: "hetzner.md" will refer to all of Hetzner's servers. But not just the file is enough, we have to connect the file to the database. We can do this in the table.js where we put the name we get from the Green Instances List for Hetzner, (the exact name is very important, otherwise it will not work), so correctly: "Hetzner Online AG". Then the complete entry in the table.js looks like this:<syntaxhighlight> "Hetzner Online AG": "hetzner", </syntaxhighlight>Currently it looks like this:<syntaxhighlight> const ADDITIONAL_INFO_LIST = {

   "Hostsharing eG": "hostsharing",
   "Hetzner Online AG": "hetzner",
   "Greenhost": "greenhost",
   "Ungliech": "ungleich",
   "Teuto.net": "teuto",
   "1984 Hosting Company": "1984Hosting",
   "BIT": "bit",
   "FAELIX": "faelix",
   "FlokiNET": "flokinet"

</syntaxhighlight>"rejectlist" means that a downgrade of a "green" status comes into play here. Servers marked as "rejected" are those that, according to our research, contradict the status of the GreenWebFoundation. Here we also work with seperate .md files. Same as above, we have to set the entry we want to reject in the table.js. Currently it looks like this:<syntaxhighlight> const REJECT_LIST = {

   "Amazon EU (Ireland)": "amazon",
   "Amazon EU (Frankfurt)": "amazon",
   "Amazon US West": "amazon",
   "Amazon Montreal": "amazon",
   "Cloudflare": "cloudflare",
   "Google Inc.": "google",
   "CJ2 Hosting BV": "cj2"
   "FAELIX": "faelix"

</syntaxhighlight>The quality and validity of our collected information is crucial for the rejection of a status. An evaluation in this sense is always very difficult to perform. Whether a data center is environmentally sustainable can be attempted to operationalize, and there are official methods for doing so, such as power usage effectiveness (PUE), but it is not a valid energy efficiency indicator for data centers. PUE only provides information about the energy efficiency of the data center infrastructure (air conditioning, power supply, etc.), if this is specified by the data center at all, we can also collect this information. Currently, we have no other way of quantifying quality. In the future there will probably be a methodology called KPI4DCE.

Server operators who claim to use renewable energies, but at the same time and by other means invest in fossil energies, cannot in our view make an ecologically sustainable contribution and are destroying their acquired status themselves - we do this in order to bring more reality, transparency and quality into play. In simpler terms, we unfortunately have to remain suspicious of all the greenwashing and marketing promises. Finally, we refrain from an exact and hardly realizable rating, because a lot of factors have to be considered and cannot be read out technically yet. But what we can do is document our research process transparently. We have written down our experiences in a best practices guide.

"acceptlist" means that we set a gray status to a green status by ourself. We just need to put our wished entry (instances adress like "chaos.social") to the instances.md. Currently it looks like this:<syntaxhighlight> social.vikings.net music.selea.se video.selea.se synapse.selea.se blogs.linux.pizza blogi.arjoranta.fi </syntaxhighlight>But don't forget to add and document your research to the "additional-info" section, otherwise someone will set your green status back to gray, because there is no transparent research and proof. If a instance (server/data center) is marked as gray, this means that there were no result from TheGreenWebFoundation API, technically it is a "0". When a instance is green, technically a "+1" was coming from the GWF. Btw, there is no -1 for a not green status, just "+1" and "0". At the moment, only single instances (not the entire webhoster) can be set to green. If you can't find your instance, you should visit https://the-federation.info/info and register your instance, because we fetch all instances via their API database. If you are registered there, but the TheGreenWebFoundation won't give you a result for your instance, then the accept-list is the way.

Interested to help with research? Learn how to get started!

Then take a look at our issue: "List of potential "green" webhoster where an investigation is still open" in our repository to learn how to get started.

Maybe our collected information can thus lead to a more conscious decision when choosing a server - in the hope that in the future no one will use servers that are powered by harmful energy.

You can use and implement the script as you like - feel free to experiment with it.

GreenFediverse is and will be a non-commercial and open project!

Let's fight greenwashing 💚✊