Why the fediverse is stuck, Part II

Why the fediverse is stuck, Part II

I like starting debates, not because I like turmoils or to “annoy the leader”, and no, is not even a matter of purity. When I wrote this article: https://keinpfusch.net/why-the-fediverse-is-stuck/  my aim was “stop the hype, we are technical people: we work on hard facts”. And the hard fact is, sorry for the W3C, ActivityPub is not a well formed  standard.

I will explan this statement later, but first let me mention some article which starts debating the same issue I found, when I started to deal with this “standard”.

Incomplete Fediverse Implementations Hurt More Than They Help
Write.as has “some” support for ActivityPub. Meaning, it’s got the “Pub” part of PubSub partially right. Indeed, Fedizen can subscribe to…
Why the fediverse is stuck, Part II

( https://blog.mikka.md/incomplete-fediverse-implementations-hurt-more-than-they-help )

Let’s be clear about one thing: I do not always approve everything being said in a debate.  But the important thing is that the Hype has been broken, because only then will the priests of Truth, who are incensing the fediverse as if it were pure gold, stop dragging the fediverse into the usual Eugen Rocko cult.

What Mikka complains about is true.But it is limited to the specific case of blogging. That is, it is a very limited and unique use-case. That is why I do not believe in his solution, i.e. that of using a wordpress plugin. That would not solve the general problem, because the other applications would continue to have other problems. Besides, let’s face it, there is no shortage of better solutions to the blogging problem: if you want a bot that posts an RSS stream of your blog on the fediverse, there are dozens of them. I wrote one myself:

https://git.keinpfusch.net/loweel/zorg

This solution would at least be more general, because it would work with anything with an RSS feed, and not just WordPress. It is interesting how RSS is much better standardised and an RSS client almost never fails due to incompatibilities.


Before discussing ActivityPub, I would like to clarify my bias: I have been working in the telco world for a dozen years, before that I was in banking/insurance (but always as Network Admin) and before that I was building architectures called supercomputing.

Now, the point is that when you come from this business , a standard is a standard is a standard. SS7 is a set of standards, which then link to other standards such as those for voice (ITU, etc), and they all have one common feature: they are not interpretable, and when it turns out that an implementation detail is not clear, an ‘addendum’ comes along. Which can be annoying, but at least it reveals one thing: if we want a user in Calcutta to be able to talk to a user in Toronto, the telephone network MUST have no ambiguity among its standards.

And this urgency for well-formed standards also stems from the fact that calls are charged per traffic, so the standards must be well-formed enough to allow for contractual disputes as well, over figures that can be substantial.

From my perspective, ActivityPub is not a true standard in the sense that it is not well formed. I don’t find it relevant, in Mikka’s post, whether the text is displayed that way or another: phone standards don’t explain how a phone should look: they explain what it should DO.

And if a user of a telco in Brazil can’t call a user of a telco in Norway, the problem is not whether  the Norwegian phone has Viking horns, and how annoying they are: the problem is that you can’t hear the voice (well), or that it doesn’t rings.


Let me be clear: the fact that two people talk to each other and decide how to implement a standard, as happened between Eugen Rocko and “syuilo”, is not strange. Often producers come together to set standards, as happened in the past for DVD, Blueray, and others.

The problem is that with regard to ActivityPub there are no protocols to do this, and often not even all the relevant actors are invited. So in the end it turns out that a given thing is done in a certain way because Rocko and Syuilo have decided so, but Lain (from Pleroma) did not know, and other platforms like Friendica neither.

In this way I see three problems:

  1. Any procedure protocol is missing, and any random number of (relevant) stakeholders are invited.
  2. Once the decision is made, it does not become public through the W3C itself, no addendum is made to the public documentation.
  3. the platform that is more widespread will prevail: there is no  certainty that in the end the decision will be implemented.

We have heard this music many times. It is Microsoft’s music, or the music of “de facto standards”, or “commercial standards”. Music that Apple also played, and that Google also plays today, together with GAFAM.

And this is the reason why you cannot comment on a Youtube video from Facebook. From twitter you cannot comment on Facebook. And if it seems normal to you, ask yourself if you would accept that your phone could call a user from Datora Brazil, and one from China Mobile, but not one from Deutsche Telekom and Airtel India.

Imagine if your SIM could only call other SIMs of the same operator, but no other.


It is also time to discuss a problem: a public standard can be used by everyone. It is the example of the IETF and its RFCs. Everyone can use TCP. But in the case of de facto standard, it all depends on the owner. You can use a microsoft standard or not, depending on whether microsoft allows it or not.

In the fediverse, this is the case with the Mastodon API. Apparently they are public, in the sense that it is a public standard documented (badly) on his site. Nevertheless, while producing his own mobile client Rocko decided to add things, and it’s not entirely certain what they are. In this case, Rocko will always have the advantage over the “de facto standard”, and everyone else will be using an incomplete thing. It’s only a matter of time, and then a lot of software and a lot of “Mastodon API compatible” frontends will stop working.

Sooner or later, Mastodon will take the whole ecosystem for itself, exhausting other implementers who struggle to keep up with the evolutions of the “Mastodon API”.

So get ready for a fediverse made only of Mastodon. And pray that, once the competitors are kicked out, Rocko doesn’t decide to make money selling his software. It does not necessarily mean that it is always opensource; but once Rocko decides to put a price on it, in the absence of competitors, what will you do? Will you report him to Mrs Verstager? Best wishes.

Mastodon Behaves like a company who wants to be the Facebook of the Fediverse. Stop this now, or the price will be harder to pay later.


In the end, the whole problem boils down to the fact that if a standard is being discussed AFTER it has been defined, then the definition sucks, is ambiguous and / or insufficient.

It’s not a well-formed standard. Unlike SIP, XMPP, SMTP, RSS and others, it is impossible to develop a client or a server with the certainty that, just because you have met the standards, it will work.

I feel sorry for kids who develop “gotosocial”, because they are struggling with the fact that “Pleroma does this that way” and “Misskey does this another way”, and “instead Mastodon does a different thing”. And all their behaviors are “standard”, simply because the standard is not standard.

And this, in the computer world, is the perfect recipe for disaster.


And to put it bluntly, Eugen Rocko is also naive and conceited. As long as the Fediverse has four million users, he may be the bully who dominates everyone in the corral. But if The Fediverse happens to get bigger and interest arises, players who sit on a pile of cash will come along , with their own standards, (like when Whatsapp swept Jabber) and wipe him out. Without  public standards, who can stop this?

In this sense, Rocko is gambling that the fediverse will always remain marginal and uninteresting to big business. The day it did, Mastodon would be wiped out, (Mastodon is too marginal even to be bought, and too old to be a start-up): in the long term Mastodon  too would benefit from public standards , or at least a permanent panel to decide ActivityPub implementation.

But Rocko is too narcissistic to understand this. Lain is a fickle kid, and you don’t see platforms developed having in mind that you are not building ‘Tinder for cats’, but a global communication platform.

And this lack of professionalism and experience is what is causing more and more ‘incomplete’ platforms Mikka describes (better not to implement than to implement badly): it would be nice to meet more seniority, but as far as I can see, the fediverse is written by junior programmers.

We need professionals, or the Fediverse will keep stuck.


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *