meta/investment_analysis/README.md
cinereal 1eb0937c62
update questions
Signed-off-by: cinereal <cinereal@riseup.net>
2025-09-13 14:23:12 +02:00

171 lines
10 KiB
Markdown

<!--
> Get insight in the total global investments of the Fediverse (OID)
> To get an overview of the total investment of capital, human resources and other valuables, we will research the usage of these in the (visible) Fediverse globally. A report of this will be released.
> Release a report on the estimated collective current investment on fediverse technology:
> Look at qualifiers like:
>- Used system resources (CPU, storage, networking)
>- Amount of software developers actively working on Fediverse software products
>- Amount of system administration engineers actively working on Fediverse software products
>- Amount of moderation and governance people
-->
# An estimate of investments in the Fediverse
## Introduction
To provide an estimate of the investments made into the Fediverse, defined[^1] as a decentralized interoperable network of social media sites, apps, and services built on the ActivityPub protocol, is a daunting task, owing due to:
1. a lack of research (in our experience) on this topic thus far;
1. the vast number of services part of the Fediverse[^2];
1. the Fediverse's decentralised nature;
1. involvement of voluntary contributions;
1. the third-party nature of some of the integrations.
Nonetheless, we have taken upon ourselves the task to provide a first glimpse on this subject. Given the Fediverse's interoperability empowers users, a better overview on the resources in this technology helps clarify its momentum for key decision-makers interested in adopting, investing in and interfacing with this technology. We further hope our work will contribute and ignite more serious research into this topic.
In this document we describe our assessment of the investments made in the Fediverse. We start with describing our methodology for gathering data on the Fediverse and share information on the services, platforms and software applications we have deemed relevant to include.
## Methodology
In order to better scope our research, we will address the mentioned challenges by:
1. given the lack of research on this topic so far, gathering missing data by contacting representatives of the respective projects;
1. to account for the vast number of services part of the Fediverse, focusing on the major services[^3] part of the Fediverse, in this case the software with at least 10,000 active monthly users as per Fediverse Observer[^2], in total accounting for over 95% of the active users across Fediverse services, i.e.:
* Threads
* Mastodon
* Pixelfed
* NodeBB
* Lemmy
* Peertube
* Loops
* Wordpress
* WriteFreely
1. to account for the Fediverse's decentralised nature, extrapolating for each service to their overall number of (visible[^4]) instances from their flagship instances;
1. to account for the involvement of voluntary contributions, separately citing internal versus overall contributors active on the projects, and extrapolating from the former to estimate the latter;
1. to account for the third-party nature of some of the integrations, explicitly distinguishing these in our overview.
### NodeInfo
Fediversity instances tend to expose data using the NodeInfo protocol (<https://nodeinfo.diaspora.software/>). Data exposed this way is gathered in <https://fediverse.observer/>, which we use as our source for metrics:
* estimated number of installations
* estimated number of users
* estimated number of monthly active users
<!-- TODO: distinguish active user data by whether instances enable user sign-up -->
### Human resources
#### Developers
The amount of active developers we estimate as users:
* as identified by unique emails
* who are not bots, as measured by whether their name contains 'bot',
* who contributed at least **5** commits to the default Git branch at the main forge/fork
* over the past year.
We obtain this metric by running a Nushell query[^6] on the project's respective Git repositories.
Based on project estimations on internal engineers involved measured in FTE, we further estimate the total amount of development involved by extrapolating from these FTE figures to include external contributors based on their relative number of commits --- thereby for the purpose of this estimate presuming similar time and effort required for external versus internal commits.
### Questionnaire
In order to gather statistics for applications' official/flagship instances to extrapolate from, we have set up a questionnaire based on relevant metrics, set up using a LimeSurvey instance hosted by ProcoliX.
Note that this also includes questions on users with moderation privileges, as ActivityPub unfortunately exposes no structured data yet, although this is an outstanding feature request[^5].
### Questions
### Project questions
Questions for this section were as follows:
1. Which Fediverse application are you currently maintaining?
1. Do you run any (official) instance(s) of your application?
1. How many people are actively working on the project in the development of the software?
1. How many people are actively involved in the governance of the software project?
1. How much financial investment has been committed to the project so far? For example through donations, self-funding, grants (e.g., NLnet), or premium plans.
1. How much financial investment has the project received so far? For example through donations, self-funding, grants (e.g., NLnet), or premium plans?
1. How much financial investment is currently committed to the project periodically? For example through donations, self-funded, grants (e.g. NLNet), premium plans.
### Official instance(s)
Note that this set of questions will show only in case the earlier question 'Do you run any (official) instance(s) of your application?' is answered positively.
This section was accordingly accompanied with the following comment:
> (In case you manage multiple official instances, ideally structure your responses by instance.)
Questions for this section were as follows:
1. What (official) instance(s) do you manage?
1. How many people are actively working on the project in **governance and moderation** (if applicable) of the official instance(s)?
1. How many people are actively working on the project in system administration of the official instance(s)?
1. What network resources are used by the official instance(s), measured in terms of minimum, maximum, and average MiB/s in/out?
1. What is the RAM usage of the official instance(s), e.g., minimum, maximum, and average in GB?
1. What costs are incurred in running the flagship instance(s), and how are these split between hosting costs and human resources?
1. What resources does the official instance(s) use in terms of CPU? For instance: Minimum/average/peak percentage of (the number of) CPU cores used? CPU model used
1. How much storage does the official instance(s) use, measured in terms of minimum, maximum, or average GB?
## Accompanying introduction
> Hi there,
> On behalf of Fediversity, I'm gathering info on [investments in the Fediverse ecosystem](https://git.fediversity.eu/Fediversity/meta/src/branch/main/investment_analysis), a report on which we will publish on our website <fediversity.eu>. As the structured information available on this topic for instances in the wild is fairly limited, for part of the questions on this I am hoping to make estimations by extrapolating from info on the flagship instances.
> We hope a better overview on the resources in the Fediverse may help clarify its momentum for key decision-makers interested in adopting, investing in and interfacing with this technology.
> Would you maybe have info for me for your application? Questions touch on:
> 1. people active on the project
> 1. resources used for the official instance(s)
> 1. financial investments in the project
> Thanks in advance for helping out - as well as for making the Fediverse great!
## A closer look at the Fediverse platforms
| Project | Installations | monthly active users |
|-|-|-|
| mastodon | 8033 | 736878 |
| pixelfed | 501 | 126065 |
| nodebb | 43 | 52399 |
| lemmy | 407 | 41341 |
| peertube | 962 | 25804 |
| loops | 1 | 26548 |
| wordpress | 2863 | 11510 |
| writefreely | 492 | 11188 |
## Estimating investments in the Fediverse
We will add results here as we collect and process them.
## Time spent
TODO
## Notes
[^1]: Kissane, E., & Kazemi, D. (2024, September 4). Findings Report: Governance on Fediverse Microblogging Servers. https://fediverse-governance.github.io/#brief-glossary
[^2]: https://fediverse.observer/allsoftwares
[^3]: Note that this focus would exclude work on protocols such as W3C's work on the ActivityPub protocol, as well as on non-core repositories, and ancilliary software whose development is run by others than by the lead developers of the mentioned services, such as bridges, cross-posters, third-party clients, browser extensions, instance indices, etc.
[^4]: Visibility, for our purposes meaning exposing metadata using the NodeInfo protocol, for Mastodon, the Fediverse service with the highest amount of active users, notably excludes an instance with more active users than its biggest visible instance <https://mastodon.social/>, namely Donald Trump's Truth Social.
[^5]: This feature requested may be tracked at: https://github.com/swicg/activitypub-trust-and-safety/issues/25
[^6]: The used query here is: `git log --pretty=%h»¦«%s»¦«%aN»¦«%aE»¦«%aD | lines | split column "»¦«" commit subject name email date | upsert date {|d| $d.date | into datetime} | where ($it.date > ((date now) - 365day)) | where not ($it.name has 'bot') | group-by name | transpose | upsert column1 {|c| $c.column1 | length} | sort-by column1 | rename name commits | where ($it.commits >= 5) | reverse | length`
## References
* https://en.wikipedia.org/wiki/Fediverse
* https://fedidb.org/
* https://mastodon-analytics.com/
* https://www.thinkimpact.com/mastodon-statistics/
* https://fediverse.observer/
* https://the-federation.info/
* https://fediverse.party
* https://socialhub.activitypub.rocks/t/fep-f1d5-nodeinfo-in-fediverse-software/1190
* https://codeberg.org/fediverse
* https://hachyderm.io/@esk/113793277371908181
## Changes
Older versions of this directory lived here: https://git.fediversity.eu/Fediversity/meta/src/commit/0006758ab7d12c2914f915813815bea89208fc6d/Fediverse-investments-an-estimation.md