~lioploum/en

How to Kill a Decentralised Network (such as the Fediverse)

Details
Message ID
<168751401806.8.9743226611358574715.144705435@ploum.eu>
DKIM signature
missing
Download raw message
HOW TO KILL A DECENTRALISED NETWORK (SUCH AS THE FEDIVERSE)
by Ploum on 2023-06-23

https://ploum.net/2023-06-23-how-to-kill-decentralised-networks.html

Year is 2023. The whole Internet is under the control of the GAFAM 
empire. All? No. Because a few small villages are resisting the 
oppression. And some of those villages started to agregate, forming the 
"Fediverse".

With debates around Twitter and Reddit, the Fediverse started to gain 
fame and attention. People started to use it for real. The empire 
started to notice.

Capitalists Against Competition
===============================

As Peter Thiel, one of Facebook’s prominent investor, put it: 
"Competition is for losers." Yep, those pseudo "market is always right" 
people don’t want a market when they are in it. They want a monopoly. 
Since its inception, Facebook have been very careful to kill every 
competition. The easiest way of doing it being by buying companies that 
could, one day, become competitors. Instagram, WhatsApp to name a few, 
were bought only because their product attracted users and could cast a 
shadow on Facebook.

But the Fediverse cannot be bought. The Fediverse is an informal group 
of servers discussing through a protocol (ActivityPub). Those servers 
may even run different software (Mastodon is the most famous but you 
could also have Pleroma, Pixelfed, Peertube, WriteFreely, Lemmy and many 
others).

You cannot buy a decentralised network!

But there’s another way: make it irrelevant. That’s exactly what Google 
did with XMPP.

How Google joined the XMPP federation
=====================================

At the end of the 20th century, instant messengers (IM) were all the 
rage. One of the first very successful ones was ICQ, quickly followed by 
MSN messenger. MSN Messenger was the Tiktok of the time: a world where 
teenagers could spend hours and days without adults.

As MSN was part of Microsoft, Google wanted to compete and offered 
Google Talk in 2005, including it in the Gmail interface. Remember that, 
at the time, there was no smartphone and very little web app. 
Applications had to be installed on the computer and Gmail web interface 
was groundbreaking. MSN was even at some point bundled with Microsoft 
Windows and it was really hard to remove it. Building Google chat with 
the Gmail web interface was a way to be even closer to the customers 
than a built-in software in the operating system.

While Google and Microsoft were fighting for hegemony, free software 
geeks were trying to build decentralised instant messaging. Like email, 
XMPP was a federated protocol: multiple servers could talk together 
through a protocol and each user would connect to one particular server 
through a client. That user could then communicate with any user on any 
server using any client. Which is still how ActivityPub and thus the 
Fediverse work.

In 2006, Google talk became XMPP compatible. Google was seriously 
considering XMPP. In 2008, while I was at work, my phone rang. On the 
line, someone told me: "Hi, it’s Google and we want to hire you." I made 
several calls and it turned out that they found me through the XMPP-dev 
list and were looking for XMPP servers sysadmins.

So Google was really embracing the federation. How cool was that? It 
meant that, suddenly, every single Gmail user became an XMPP user. This 
could only be good for XMPP, right? I was ecstatic.

How Google killed XMPP
======================

Of course, reality was a bit less shiny. First of all, despites 
collaborating to develop the XMPP standard, Google was doing its own 
closed implementation that nobody could review. It turns out they were 
not always respecting the protocol they were developing. They were not 
implementing everything. This forced XMPP development to be slowed down, 
to adapt. Nice new features were not implemented or not used in XMPP 
clients because they were not compatible with Google Talk (avatars took 
an awful long time to come to XMPP). Federation was sometimes broken: 
for hours or days, there would not be communications possible between 
Google and regular XMPP servers. The XMPP community became watchers and 
debuggers of Google’s servers, posting irregularities and downtime (I 
did it several times, which is probably what prompted the job offer).

And because there were far more Google talk users than "true XMPP" 
users, there was little room for "not caring about Google talk users". 
Newcomers discovering XMPP and not being Google talk users themselves 
had very frustrating experience because most of their contact were 
Google Talk users. They thought they could communicate easily with them 
but it was basically a degraded version of what they had while using 
Google talk itself. A typical XMPP roster was mainly composed of Google 
Talk users with a few geeks.

In 2013, Google realised that most XMPP interactions were between Google 
Talk users anyway. They didn’t care about respecting a protocol they 
were not 100% in control. So they pulled the plug and announced they 
would not be federated anymore. And started a long quest to create a 
messenger, starting with Hangout (which was followed by Allo, Duo. I 
lost count after that).

As expected, no Google user bated an eye. In fact, none of them 
realised. At worst, some of their contacts became offline. That was all. 
But for the XMPP federation, it was like the majority of users suddenly 
disappeared. Even XMPP die hard fanatics, like your servitor, had to 
create Google accounts to keep contact with friends. Remember: for them, 
we were simply offline. It was our fault.

While XMPP still exist and is a very active community, it never 
recovered from this blow. Too high expectation with Google adoption led 
to a huge disappointment and a silent fall into oblivion. XMPP became 
niche. So niche that when group chats became all the rage (Slack, 
Discord), the free software community reinvented it (Matrix) to compete 
while group chats were already possible with XMPP. (Disclaimer: I’ve 
never studied the Matrix protocol so I have no idea how it technically 
compares with XMPP. I simply believe that it solves the same problem and 
compete in the same space as XMPP).

Would XMPP be different today if Google never joined it or was never 
considered as part of it? Nobody could say. But I’m convinced that it 
would have grown slower and, maybe, healthier. That it would be bigger 
and more important than it is today. That it would be the default 
decentralised communication platform. One thing is sure: if Google had 
not joined, XMPP would not be worse than it is today.

It was not the first: the Microsoft Playbook
============================================

What Google did to XMPP was not new. In fact, in 1998, Microsoft 
engineer Vinod Vallopllil explicitly wrote a text titled "Blunting OSS 
attacks" where he suggested to "de-commoditize protocols & applications 
[…]. By extending these protocols and developing new protocols, we can 
deny OSS project’s entry into the market."

Microsoft put that theory in practice with the release of Windows 2000 
which offered support for the Kerberos security protocol. But that 
protocol was extended. The specifications of those extensions could be 
freely downloaded but required to accept a license which forbid you to 
implement those extensions. As soon as you clicked "OK", you could not 
work on any open source version of Kerberos. The goal was explicitly to 
kill any competing networking project such as Samba.

This anecdote was told Glyn Moody in his book "Rebel Code" and 
demonstrates that killing open source and decentralised projects are 
really conscious objectives. It never happens randomly and is never 
caused by bad luck.

Microsoft used a similar tactic to ensure dominance in the office market 
with Microsoft Office using proprietary formats (a file format could be 
seen as a protocol to exchange data). When alternatives (OpenOffice then 
LibreOffice) became good enough at opening doc/xls/ppt formats, 
Microsoft released a new format that they called "open and 
standardised". The format was, on purpose, very complicated (20.000 
pages of specifications!) and, most importantly, wrong. Yes, some bugs 
were introduced in the specification meaning that a software 
implementing the full OOXML format would behave differently than 
Microsoft Office.

Those bugs, together with political lobbying, were one of the reasons 
that pushed the city of Munich to revert its Linux migration. So yes, 
the strategy works well.  Today, docx, xlsx and pptx are still the norms 
because of that. Source: I was there, indirectly paid by the city of 
Munich to make LibreOffice OOXML’s rendering closer to Microsoft’s 
instead of following the specifications.

Meta and the Fediverse
======================

People who don’t know history are doomed to repeat it. Which is exactly 
what is happening with Meta and the Fediverse.

There are rumours that Meta would become "Fediverse compatible". You 
could follow people on Instagram from your Mastodon account.

I don’t know if those rumours have a grain of truth, if it is even 
possible for Meta to consider it. But there’s one thing my own 
experience with XMPP and OOXML taught me: if Meta joins the Fediverse, 
Meta will be the only one winning. In fact, reactions show that they are 
already winning: the Fediverse is split between blocking Meta or not. If 
that happens, this would mean a fragmented, frustrating two-tier 
fediverse with little appeal for newcomers.

I know we all dream of having all our friends and family on the 
Fediverse so we can avoid proprietary networks completely. But the 
Fediverse is not looking for market dominance or profit. The Fediverse 
is not looking for growth. It is offering a place for freedom. People 
joining the Fediverse are those looking for freedom. If people are not 
ready or are not looking for freedom, that’s fine. They have the right 
to stay on proprietary platforms. We should not force them into the 
Fediverse. We should not try to include as many people as we can at all 
cost. We should be honest and ensure people join the Fediverse because 
they share some of the values behind it.

By competing against Meta in the brainless growth-at-all-cost ideology, 
we are certain to lose. They are the master of that game. They are 
trying to bring everyone in their field, to make people compete against 
them using the weapons they are selling.

Fediverse can only win by keeping its ground, by speaking about freedom, 
morals, ethics, values. By starting open, non-commercial and non-spied 
discussions. By acknowledging that the goal is not to win. Not to 
embrace. The goal is to stay a tool. A tool dedicated to offer a place 
of freedom for connected human beings. Something that no commercial 
entity will ever offer.

Picture by David Revoy
https://framapiaf.org/@davidrevoy/110583258129951932



--- 
To unsubscribe, send an email to ~lioploum/en+unsubscribe@lists.sr.ht
Reply to thread Export thread (mbox)