Fediverse

85 readers
1 users here now

Questions discussion, about activitypub and all fediverse social media such as, mastodon, plemora, and lemmy to name a few.

founded 2 years ago
MODERATORS
1
 
 

cross-posted from: https://slrpnk.net/post/24727683

The fediverse w/the activitypub API sell itself as being decentralised, but it’s actually just neutral. It merely enables decentralised forums to coexist with centralised venues. The Lemmy implementation in particular does nothing to proactively promote decentralisation or counter concentrations of power.

When the software is not designed to steer toward decentralisation, centralisation persists because the network effect is left uncountered. The current stats prove that a mass majority of users and their activity are subject to the concentrated power of a few, which ultimately singularly falls under the power, oversight, and competency of the biggest walled garden in the world: Cloudflare Inc, in the US.

Calling Lemmy “neutral” is overly generous, in fact. When the stock Lemmy web client is queried for communities, it prioritises the giant centralised communities in top rankings of the search results. It’s no better than Google, where Cloudflare also dominates the top slots in web search results. This exacerbates the network effect by cattle-herding people toward increased centralisation.

Lemmy ranks decentralised communities at the bottom. And in some cases the ranking is so low that it’s out of reach when cross-posting. The cross-post mechanism forces a search for the target community, and that search does not support entry of the address of the community that includes the domain. When the list is so long it exceeds the pulldown window length, it’s out of reach.

Yes, we know centralisation is not their deliberate goal. Lemmy developers fear that newcoming novices would unwittingly post in a ghost town without strategically cross-posting and then become immediately discouraged by minimal engagement, and from there bounce back to Twitter or wherever they came from. But it must be realised that the mass nannied steering they have resorted to has cultivated centralisation that defeats the founding purpose of the fedi.

2
 
 

The state of the fedi superficially parallels what Eric S. Raymond articulated in the 1990s on software construction. There are two models for digital community building within the fediverse. The intent was a decentralised bazaar whereby power is well dispersed, with no single entity excessively wielding disproportionate power. Activitypub was designed to enable the bazaar model to exist, but it neglects to curtail the antithetical model that anarchy-minded folks want to escape: the cathedral.

The hope and expectation was simply that builders of giant monolithic cathedrals would have no interest in the fedi; that they would want their empire to take the conventional path of walling themselves off. Fedi founders did not envision ambitions for power would emerge within the fedi. Who would have predicted that Facebook would decide to compromise its garden walls in exchange for influence over a quite small population? Or that Cloudflare’s centralized walled garden would be exploited to supercharge disproportionate growth by node operators intent on using the network effect to concentrate power? These kinds of technofeudal actors have traditionally vied for absolute power without attempting to cannabalise and occupy a fair structure to then coexist with.

Fedi founders thought the federate/defederate option would sufficiently control for actors who would work against the vision of the bazaar. This blunt tool relies heavily on the demographic of relative pseudo anarchists being larger than it is.

I think it was Kensanata (Alex Schröder) who notably stressed what I regard as a true dichotomy, the sentiment of which was something to the effect of:

you can simply go where the people are, or you can go where the platform and tech is well-designed.¹

The former are utilitarians and the latter are deontologists who find other people (though far fewer) that share the same understanding and appreciation of structures that feature resistance to tyranny. The separation is comparable to anarchists (at heart) seeking out a small freedom-rich niche away from the ivory tower cathedral.

The bazaar (decentralised) segment of the fedi comes at the cost of utility, as principles of digital ethics trump the instant gratification of a large audience. The sacrifice is not in vain. It’s made with an expectation that wisdom will spread and sustain. Though it seems clear that the cathedral will always exist and perhaps always enjoy dominance of the majority who serve it (are pawned by it).

There is a noteworthy contrast from Raymond’s C&B essay. Raymond likens the bazaar to “selfish agents” attributed to “utilitarian” Linux hackers under the idea that Linus harnesses their egos collectively (“egoboo”). Whereas in the fediverse of community builders, it is the selfish agents unwilling to compromise time and convenience who fill the cathedrals, baited by heavily populated communities.

Raves and Burning Man started off small and great; rich in culture, before rapid growth diluted the subculture and commercialisation did what it does. The natural response is to “take it underground” to try to restore the original greatness.

The fedi has passed that inflection point. We have LW serfs popping into */c/privacy communities to heckle whoever they perceive as “paranoid”, or worse, deliver a lecture on privacy (from Cloudflare). There is a profound and somewhat ironic number of CF cathedral folks making way into digital rights types of communities, not seeing the starkness of which would be comparable to Donald Trump appearing at a reggae festival, or an AOL user in the 1990s stepping into an engineering usenet newsgroup.

So here’s a fun search result:

🌩 lemmy.world🌩|decentralization
🌩 kbin.earth🌩|decentralize
⚠lemmy.ml/c/decentralized

There are just 3 communities specifically for decentralisation chatter and they are all on centralised hosts. It’s actually useful that they exist in those places from an outreach standpoint. But it’s likely being overly generous to assume they exist for outreach to those who need to be reached.

Anyway, going forward we need tools and datasets with metrics. The metrics currently serve the utilitarian who simply looks for the most exposure of their content without regard to the ethics underpinning decentralisation. Metrics that serve the bazaar would have to measure degree of power centralisation.

¹ paraphrased - not an exact quote

3
 
 

(The pic is sample output for an arbitrary query on “vegan vege pesc”. Irrelevant side note: there is no free-world venue for pescatarians.. just one in L/W that scrolled off the screen)

CF

The federation is not wholly decentralised, obviously, when giant centralised fiefdoms like Facebook “Threads”™ and Cloudflare hook in their technofeudal variety of oppressive infra and abuse their power.

Each post submission begins with finding a relevant venue for the content and it must be consistent with my sense of ethics. Cloudflare is automatically nixed because it’s inherently centralised in a walled garden (regardless of the user count for any given node). CF is a non-starter for an open, free, and fair society (fair implying power balance, equality, transparency, etc).

My script queries the catalog of communities for relevant venues. It still prints the Cloudflare walled garden because it’s useful to see what names match my regex queries, which sometimes helps form a better query. It’s the only thing #LemmyWorld is good for (a shit-ton of community names with redundant variations of the same subject matter). Those results are in red, tagged with a thundercloud (🌩 ), and printed first (because when they scroll off the terminal I don’t typically care to scroll up to see them).

non-CF

CF is not the only issue. Some non-CF nodes are centralized due to uncontrolled growth to disproportionately large sizes. I don’t cancel them hard-and-fast like CF nodes, but they get treated with low “last resort” favorability. They have the warning symbol (⚠) and are in yellow.

Is my math decent?

My script began by filtering on total user count. Then I realised dead or dormant users probably should not count because such users don’t really contribute to a node’s disproportionate power over a population. It’s active users that matter. But if the number of active users in a day are filtered on, that’s too dynamic for deciding where my post can live for a month or however long it is relevant. So I took the users_active_half_year count. Is that sensible?

What constitutes an “active” user, simply logging in, or commenting?

The line is drawn at 2 standard deviations above the average -- after tossing outliers. Nodes with less than 5 active users in ½ a year are likely 1-person nodes which do not influence the average. The average is around 320 active ½yr users per node. The standard deviation is ~702 users. My statistical competence is rusty for sure, but I’m a bit bothered by a standard deviation that’s more than double the mean. Seems like a variation so wild it should perhaps be disregarded. Nonetheless, I opted to flag nodes that exceed ~1724 users_active_half_year.

The pseudocode looks like this:

avg=$(sqlite3 "$db" 'select round(avg([counts.users_active_half_year])) from node_tbl where tags not like "%cloudflare%" and [counts.users_active_half_year] > 4')
variance=$(sqlite3 "$db" 'select avg(([counts.users_active_half_year] - subtbl.aua) * ([counts.users_active_half_year] - subtbl.aua)) as var from node_tbl, (select avg([counts.users_active_half_year]) as aua from node_tbl where tags not like "%cloudflare%" and [counts.users_active_half_year] > 4) as subtbl where tags not like "%cloudflare%" and [counts.users_active_half_year] > 4;')

sqlite3 "$db" "select case when baseurl in (select baseurl from node_tbl where [counts.users_active_half_year] > $avg+sqrt($variance)*2) then '$yellow⚠' else '$cyan' end||baseurl||'$reset',name from community_tbl where (name like '%${1}%' or desc like '%${1}%') and baseurl not in (select baseurl from node_tbl where tags like '%cloudflare%') order by baseurl,name"

Code is ugly because sqlite does not have a stdev builtin function.

My other thought is to cut slack for closed nodes because at least they are expected to shrink. To list the possible figures to filter on, this is a record for lemmy.ml (the biggest non-Cloudflare node):

record for lemmy.mlurl = https://lemmy.ml/ baseurl = lemmy.ml name = Lemmy desc = A community of privacy and FOSS enthusiasts, run by Lemmy’s developers downvotes = 1 nsfw = 1 create_admin = 0 private = 0 fed = 1 version = 0.19.12 open = 1 usage.users.total = 54790 usage.users.activeHalfyear = 4201 usage.users.activeMonth = 2125 usage.localPosts = 167331 usage.localComments = 818559 counts.site_id = 1 counts.users = 54790 counts.posts = 167331 counts.comments = 818559 counts.communities = 4608 counts.users_active_day = 947 counts.users_active_week = 1496 counts.users_active_month = 2125 counts.users_active_half_year = 4201 icon = https://lemmy.ml/pictrs/image/fa6d9660-4f1f-4e90-ac73-b897216db6f3.png banner = langs = ["all"] date = 2019-04-20T18:53:54.608882Z published = 1555786434000 time = 1751974533970 score = uptime.domain = lemmy.ml uptime.latency = 0.034 uptime.countryname = France uptime.uptime_alltime = 99.04 uptime.date_created = uptime.date_updated = 2021-10-29 15:09:21 uptime.date_laststats = 2025-04-11 21:03:25 uptime.score = 100 uptime.status = 1 isSuspicious = 0 metrics.usersTotal = 54790 metrics.usersMonth = 2125 metrics.usersWeek = 1496 metrics.totalActivity = 985890 metrics.localPosts = 167331 metrics.localComments = 818559 metrics.averageUsers = 50720.8825256975 metrics.biggestJump = 225 metrics.averagePerMinute = 0.02475 metrics.userActivityScore = 0.055574151274483 metrics.activityUserScore = 17.9939770031028 metrics.userActiveMonthScore = 25.7835294117647 tags = [] susReason = [] trust.lastCrawled = 1751974533970 trust.baseurl = lemmy.ml trust.metrics.usersTotal = 54790 trust.metrics.usersMonth = 2125 trust.metrics.usersWeek = 1496 trust.metrics.totalActivity = 985890 trust.metrics.localPosts = 167331 trust.metrics.localComments = 818559 trust.metrics.averageUsers = 50720.8825256975 trust.metrics.biggestJump = 225 trust.metrics.averagePerMinute = 0.02475 trust.metrics.userActivityScore = 0.055574151274483 trust.metrics.activityUserScore = 17.9939770031028 trust.metrics.userActiveMonthScore = 25.7835294117647 trust.users = 54790 trust.name = Lemmy trust.base = lemmy.ml trust.actor_id = https://lemmy.ml/ trust.tags = [] trust.guarantor = fediseer.com trust.endorsements = 17 trust.score = 598.1875 trust.reasons = [] blocks.incoming = 0 blocks.outgoing = 0 blocked = []

Some communities missing from the Lemmyverse DB - why?

Anyone know why some slrpnk.net communities are in the Lemmyverse DB, and some are not? E.g. why is !nolawns@slrpnk.net missing, despite many others from the same node that are included?

More importantly, what’s the fix apart from crawling all the nodes (which would probably be unwelcome)? Is there another open DB apart from Lemmyverse? There is fediverse.space and fediverse.observer, but they don’t appear to be sharing their data.

4
5
6
 
 

Kinda a bit of a rant. But God fuckin dam lol I swear it's like playing wakamole blocking communities. I'm starting to think maybe I should block users to and see if that helps.

I block news, politics, anime, fury shit, games, constantly. It's like I'll block 5 of these communities a day and 15 more pop up. What is the deal? Are ppl just constantly making community after community to purposely shove it my face or what?

Yes, I know stick to subscribed. But the issue with that is all the communities I'm subscribed to are dead. There's no new posts. So I go to all to find communities I'll like but that are also active.

What the fuck is up with this? Why are people sexually obsessed with politics on here? I'm so tired of seeing it. Here's my interpretation of what I see on the daily:

  • Political News
  • Politcal Perspectives
  • World News
  • Political Memes
  • Fight The Right (I just made that up but that's actually a good name for a community lol)
  • Anarchism
  • Socialism
  • Socialism Unfiltered
  • Hot Naked Anime Chick's
  • Political Chat
  • Climate Change For Justice
  • Ultimate Climate Change Agenda
  • Political Climate Change UK
  • Socialist Unite
  • Unite Socialist
  • Ultimate Socialism Unfiltered
  • Linux Memes
  • Anime Porn
  • Lets Talk Politics
  • Hot Naked Political Climate Change Socialist Anti Capitalism Furry Anime Titties

Man fuck. I don't want to see any of that lol It's like this constantly everyday. None of that shit is fun or entertaining. I'm not here for fucking politics dude. Are there any fucking cool and fun communities that don't have anything to do with fucking politics?

7
 
 

Channels brought to life

The Channels app lets you browse and post to Channels with content from the Fediverse, Bluesky, RSS and the open social web.

8
9
 
 

Welp

https://www.sav.com/auctions/details/7073489/hexbear.net

Edit: https://chapo.chat/ for the live action drama, sort by new posts.

Edit edit: https://chapo.chat/post/4468531

10
 
 

I DIDNT CREATE IT, SOMENE ON REDDIT DID. THE FOLLOWING IS WHAT THEY WROTE ON THE POST

I have been really in to the Fediverse and started messing around with ActivityPub on a few projects. I made a really a really simple bridge using a Reddit Bot that when initiated, Posts the comment or post to Lemmy, and the bot responds on Reddit with a link to the Lemmy post. I'm now working on comments from Lemmy back to Reddit.

It's up and running here if you want to play around with it r/LemmyLink

Link

11
12
13
14
 
 

I don't really care about the politics about all of it. But Lemmy will definitely miss out not federating with threads.

Which, from what I've seen, the lemmy protocol doesn't even know how to federate with threads even if it wanted to. 🤣 That's why I don't get the panic about it.

Anyway, threads actually has mostly if not all, text posts. With ppl asking questions, Microblogging shit (which i don't care for), or for opinions on things.

I have to give them props for the amount of activity. You could even (if federation is possible) 'barrow '... the threads user base for a while, make lemmy more popular, then cut off federation if you wanted.

Idk it's not a big deal to me, this is just a rant I guess.

Good day

15
16
17
18
19
20
21
 
 

I’m new to peertube. Before I upload a video that depletes a chuck of my bandwidth limit, I would first like to know if it’s possible to post a video on peertube and then /from peertube/ create a thread in the relevant Lemmy community or Kbin magazine. Or do I have to use a separate Lemmy or kbin account for that?

22
23
24
25
view more: next ›