GreenFediverse

Revision as of 11:48, 5 May 2022 by GreenFediverse (talk | contribs) (text-corrections)

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 decentralized 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

Our concern is therefore to find out whether data centers operate in an ecologically sustainable manner. We must be aware that there are different scopes when measuring data center emissions. We differ here between Scope 1-3 emissions. Even in some data center reports, information on Scope 1-3 emissions can already be found today. However, this tracking of produced emissions from corporate processes is only at the beginning of its implementation and is often not standardized in its systematics.

With our project, we can at first only determine Scope 1 emissions, where we investigate the question of whether a data center uses and purchases renewable energy for its services. At this level, it is easier to determine a company's emissions because data centers often provide information on how they use their electricity. The other levels are subject to a more complex system. Here, the methodology is often not a uniform one, but companies voluntarily lean toward defined categories. At the level of Scope 2-3 emissions, cooling, water consumption or the manufacture of servers are determined, i.e. all emissions along the entire supply chain. In addition, we should be aware that the scope 3 emissions level, which is yet to be determined, often accounts for more than 80-90% of the actual emissions, i.e. the largest part. Scope 3 emissions are therefore often emissions from other companies, i.e. suppliers. In the overall picture, this therefore means that complete transparency is necessary and must be established in order to actually make all emissions visible at all levels. From this, a real statement would then be derived as to whether a data center is really operated in an ecologically sustainable manner. This full coverage lies in the future.

What we have:

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 self-made ranking. After research and investigation, we will have a lot of information that we systematically add to the database. We collect these information about single hosting services and data centers and their use of renewable energy in separate .md or .html - files. In these text files the collective research is structured and written in text, where 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 style-sheet and take a look at the entries we already filled. It should look like this:

**Hosting Provider:**

**Published green energy certificate::**

**Critical green energy and sustainability notes:**

*About the data center:*

*About the energy:*

**Further research:**

**Other notes:**

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:

"Hetzner Online AG": "hetzner",

Currently it looks like this:

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"

"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 separate .md files. Same as above, we have to set the entry we want to reject in the table.js. Currently it looks like this:

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"

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 address like "chaos.social") to the instances.md. Currently it looks like this:

social.vikings.net
music.selea.se
video.selea.se
synapse.selea.se
blogs.linux.pizza
blogi.arjoranta.fi

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 The GreenWebFoundation API, technically it is a "0". When a instance is green, technically a "+1" was coming from the GWF. By the way, 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 The GreenWebFoundation won't give you a result for your instance, then the accept-list is the way.

Register Fediverse Instances

In order for your Fediverse instance to be displayed in our GreenInstancesList, it must first be registered at The-Federation.info.

"How do I get my node listed? For registering your node with this site, go tohttps://the-federation.info/register/<yournode.tld>. After some seconds, you will be redirected to the created node page. If this doesn't happen, something went wrong when checking the node for data. Please contact us using the GitHub issue tracker."

First you should check to see if your instance is showing up in our GreenInstancesList. To do this, you can open the search in your browser with Control+F and then search for your instance.

You should know that we use and connect two databases. In the next step we will then check all these registered instances with the Green Web Checker API of The GreenWebFoundation. Here you can also check your instance individually via the Green Web Checker input mask.

If you run your own server at home, with your own hardware and with a renewable energy certificate, you can register your website (your instance address) at The GreenWebFoundation self-registration member portal. Many instances are already covered here by the large data centers, so it may be that if your instance lies on a large data center, this is already displayed.

There are also instances that are completely run locally at home with solar modules. 💚

In this case, you should also register your instance with The-Federation.info first. If your instance then appears in our GreenInstancesList, you can try to submit a proof through the GreenWebFoundation. We do not have any experience with this.

But you can then register your instance with us. First create an account at Codeberg.org for the access to our repository (it is a non-profit association from Berlin, you can follow them here).

Then you have to make a few entries:

1. in the acceptlist in the instances.json. This will mark your instance as "green".

2. if you want to add further information, i.e. "additional infos" for a certificate or explanation, then you should make an entry in the table.js, under "const ADDITIONAL_INFO_LIST = {"

3. you also have to create your own additional-info file in this folder. Please make sure that the filenames match everywhere.

4. you can add yourself as a webhoster in our overview.

We have already described this in more detail, as you can see above.

Some instances also disguise their location, the reasons can vary. "It could be blocking access to NodeInfo, or its address could be unreachable from the crawler’s host (as is the case with Tor and I2P addresses)."[1]. This means that it is technically no longer possible to determine the exact data center. This is then displayed in our list as "unknown".

Interested to help with coding or research?

Then create an account on Codeberg.org for working with us in our repository or get in touch with us on Mastodon or in our room on matrix.

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.

Support

You can support and donate to the projects we work with:

Note: Please check out by yourself how to donate to these projects.

Let's green the Fediverse! 💚✊

GreenFediverse

License

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