GreenFediverse

==What is the GreenFediverse?==
GreenFediverse is an open project to empower the 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 03/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 moagee's idea of a new green instances list and combined the databases from Mastostats and The GreenWebFoundation for the first time. In 2021 @aligyie, created a green webhost ranking which is still in use. In 05/2022 the fediverse instances database changed again, from the-federation.info to nodes.fediverse.party provided by Minoru, and then to fediverse.observer which allows us to obtain an almost complete list of the fediverse. Since the beginning, the project has been coordinated by @moagee. There are still different people from the fediverse community working on the project or researching and filling the database with additional information.
==Why are we doing this?==
We, as users of the federated universe called "" 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. 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 yet possible to generate 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. There may be some data center operators who claim to use renewable energy, but in the same breath support the fossil fuel industry with other technologies - here we say: not with us!
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, resource extraction and the manufacture of the hardware with its individual components are often disregarded. For this reason in particular, we would like to strongly advocate that this issue must be considered from a multi-perspective. Poor working conditions and exploitation of children are part of the non-transparent global supply chain.
What political measures follow from these violations against people and nature?
Here we would like to put pressure on data centers, but also appeal to politicians to deal with the issue more intensively. On the one hand, our societies could impose legal requirements on the operators (which are not again based only on the operators' voluntary commitment).
We should establish scientifically standardized methods of measuring CO² emissions that include the various Scope 1-3 emission levels - which apply to all, and from which mandatory targets and measures result.
Building open knowledge can lead to more conscious decisions in our everyday actions. 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, especially fossil.
So, let's build a Green Instances List and see how it works:
==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 what kind of energy they use. The other levels are subject to a more complex system we cannot provide 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 (API): 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] Here's a interesting talk by Chris Adams of the GWF.
Database 2: Another database we use is the one from fediverse.observer. Using the API, which is open, we get a list of all connected and crawled 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 here on codeberg then executes the command to green check all collected fediverse 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 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 is collected by the community.
For this purpose @aligyie already made research about webhoster 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.
== Fediverse instance registration ==
If you can't find your instance in our list, you should visit fediverse.observer and register your instance, because we fetch all instances via their API database. If you are registered there, but The GreenWebFoundation won't give you a result for your instance (server), then you should visit The GreenWebFoundation Administration Site and register your instance there. Here you can add the data center and hosting provider you use. See also their support site.
== Interested to help with coding or research? ==
You can help build the list and work with the APIs, or building our open database 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.
When you decide to help, you can create an account on Codeberg.org for working with us in our repository. You can also get in touch with us on mastodon or in our room on matrix.
== Support & Contribution ==
You can buy us a ☕ on ko-fi
For those who participate in our project, we have created this LIST OF CONTRIBUTORS! 💚
You can also support and donate to the projects we work with:
* chaos.social (mastodon account)
*Codeberg.org (infrastructure, repository)
* PaulaToThePeople and joinFediverseWiki (infrastructure wiki)
* The GreenWebFoundation (green web check database)
* fediverse.observer (fediverse instances database)
Note: please check out by yourself how to support 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. See our repository for more information.
__NOEDITSECTION__
__INDEX__