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
WE NEED MORE OF RICHARD STALLMAN, NOT LESS
by Ploum on 2023-06-19
https://ploum.net/2023-06-19-more-rms.html
The Free Software movement has been mostly killed by the corporate Open
Source. The Free Software Foundation (FSF) and its founder, Richard
Stallman (RMS), have been decried for the last twenty years, including
by my 25-year-old self, as being outdated and inadequate.
Drew DeValut’s FSF is dying
https://drewdevault.com/2023/04/11/2023-04-11-The-FSF-is-dying.html
Free Software is not enough by j3s
https://j3s.sh/thought/drones-run-linux-free-software-isnt-enough.html
Viznut asking if permacomputing should be the successor of Free Software
https://venera.social/display/85a863ed-1064-8cb8-f689-e51559784396
Myself arguing for RMS replacement in 2006
https://ploum.net/97-it-s-a-long-way-to-the-top/index.html
I’ve spent the last 6 years teaching Free Software and Open Source at
École Polytechnique de Louvain, being forced to investigate the subject
and the history more than I anticipated in order to answer students’
questions. I’ve read many historical books on the subject, including
RMS’s biography and many older writings.
And something struck me.
RMS was right since the very beginning. Every warning, every prophecy
realised. And, worst of all, he had the solution since the start. The
problem is not RMS or FSF. The problem is us. The problem is that we
didn’t listen.
The solution has always been there: copyleft
============================================
In the early eighties, RMS realised that software was transformed from
"a way to use a machine" to a product or a commodity. He foresaw that
this would put an end to collective intelligence and to knowledge
sharing. He also foresaw that if we were not the master of our software,
we would quickly become the slave of the machines controlled by soulless
corporations. He told us that story again and again.
Forty years later, we must admit he was prescient. Every word he said
still rings true. Very few celebrated forward thinkers were as right as
RMS. Yet, we don’t like his message. We don’t like how he tells it. We
don’t like him. As politicians understood quickly, we care more about
appearance and feel-good communication than about the truth or
addressing the root cause.
RMS theorised the need for the "four freedoms of software".
- The right to use the software at your discretion
- The right to study the software
- The right to modify the software
- The right to share the software, including the modified version
How to guarantee those freedoms ? RMS invented copyleft. A solution he
implemented in the GPL license. The idea of copyleft is that you cannot
restrain the rights of the users. Copyleft is the equivalent of the
famous « Il est interdit d’interdire » (it is forbidden to forbid).
In insight, the solution was and still is right.
Copyleft is a very deep concept. It is about creating and maintaining
commons. Commons resources that everybody could access freely, resources
that would be maintained by the community at large. Commons are
frightening to capitalist businesses as, by essence, capitalist
businesses try to privatise everything, to transform everything into a
commodity. Commons are a non-commodity, a non-product.
Capitalist businesses were, obviously, against copyleft. And still are.
Steve Ballmer famously called the GPL a "cancer". RMS was and still is
pictured as a dangerous maniac, a fanatic propagating the cancer.
Bruce Perens and Eric Raymond tried to find a middle ground and launched
the "Open Source" movement. Retrospectively, Open Source was a hack. It
was originally seen as a simple rebranding of "Free Software", arguing
that "free" could be understood as "without price or value" in English.
RMS quickly pointed, rightly, that the lack of "freedom" means that
people will forget about the concept. Again, he was right. But everybody
considered that "Free Software" and "Open Source" were the same because
they both focused on the four freedoms. That RMS was nitpicking.
RMS biggest mistake
===================
There was one weakness in RMS theory: copyleft was not part of the four
freedoms he theorised. Business-compatible licenses like BSD/MIT or even
public domain are "Free Software" because they respect the four
freedoms.
But they can be privatised.
And that’s the whole point. For the last 30 years, businesses and
proponents of Open Source, including Linus Torvalds, have been decrying
the GPL because of the essential right of "doing business" aka
"privatising the common".
They succeeded so much that the essential mission of the FSF to
guarantee the common was seen as "useless" or, worse, "reactionary".
What was the work of the FSF? The most important thing is that they
proof-bombed the GPL against weaknesses found later. They literally
patched vulnerabilities. First the GPLv3, to fight "Tivoisation" and
then AGPL, to counteract proprietary online services running on free
software but taking away freedom of users.
But all this work was ridiculed. Microsoft, through Github, Google and
Apple pushed for MIT/BSD licensed software as the open source standard.
This allowed them to use open source components within their proprietary
closed products. They managed to make thousands of free software
developers work freely for them. And they even received praise because,
sometimes, they would hire one of those developers (like it was a
"favour" to the community while it is simply business-wise to hire smart
people working on critical components of your infrastructure instead of
letting them work for free). The whole Google Summer of Code, for which
I was a mentor multiple years, is just a cheap way to get unpaid
volunteers mentor their future free or cheap workforce.
Our freedoms were taken away by proprietary software which is mostly
coded by ourselves. For free. We spent our free time developing,
debugging, testing software before handing them to corporations that we
rever, hoping to maybe get a job offer or a small sponsorship from them.
Without Non-copyleft Open Source, there would be no proprietary MacOS,
OSX nor Android. There would be no Facebook, no Amazon. We created all
the components of Frankenstein’s creature and handed them to the evil
professor.
More commons
============
The sad state of computing today makes computer people angry. We see
that young student are taught "computer" with Word and PowerPoint, that
young hackers are mostly happy with rooting Android phones or blindly
using the API of a trendy JS framework. That Linux distributions are
only used by computer science students in virtualised containers. We
live in the dystopia future RMS warned us about.
Which, paradoxically, means that RMS failed. He was a Cassandra.
Intuitively, we think we should change him, we should replace the FSF,
we should have new paradigms which are taking into account ecology and
other ethical stances.
We don’t realise that the solution is there, in front of us for 40
years: copyleft.
Copyleft as in "Forbidding privatising the commons".
We need to rebuild the commons. When industries are polluting the
atmosphere or the oceans, they are, in fact, privatising the commons
("considering a common good as their private trash"). When an industry
receives millions in public subsidies then make a patent, that industry
is privatising the common. When Google is putting the Linux kernel in a
phone that cannot be modified easily, Google is privatising the common.
Why do we need expensive electric cars? Because the automotive industry
has been on a century-long mission to kill public transport or the sole
idea of going on foot, to destroy the commons.
We need to defend our commons. Like RMS did 40 years ago. We don’t want
to get rid of RMS, we need more of his core philosophy. We were
brainwashed into thinking that he was an extremist just like we are
brainwashed to think that taking care of the poor is socialist
extremism. In lots of occidental countries, political positions seen as
"centre" twenty years ago are now seen as "extreme left" because the
left of twenty years ago was called extremist. RMS suffered the same
fate and we should not fall for it.
Fighting back
=============
What could I do? Well, the first little step I can do myself is to
release every future software I develop under the AGPL license. To put
my blog under a CC By-SA license. I encourage you to copyleft all the
things!
We need a fifth rule. An obligation to maintain the common to prevent
the software of being privatised. This is the fifth line that RMS
grasped intuitively but, unfortunately for us, he forgot to put in his
four freedoms theory. The world would probably be a very different place
if he had written the five rules of software forty years ago.
But if the best time to do it was forty years ago, the second-best
moment is right now. So here are
The four freedoms and one obligation of free software
=====================================================
- The right to use the software at your own discretion
- The right to study the software
- The right to modify the software
- The right to redistribute the software, including with modifications
- The obligation to keep those four rights, effectively keeping the
software in the commons.
We need to realise that any software without that last obligation will,
sooner or later, become an oppression tool against ourselves. And that
maintaining the commons is not only about software. It’s about
everything we are as a society and everything we are losing against
individual greed. Ultimately, our planet is our only common resource. We
should defend it from becoming a commodity.
Copyleft was considered a cancer. But a cancer to what? To the
capitalist consumerism killing the planet? Then I will proudly side with
on the cancer side.
Disclaimer: I’m aware that Richard Stallman had some questionable or
inadequate behaviours. I’m not defending those nor the man himself. I’m
not defending blindly following that particular human (nor any
particular human). I’m defending a philosophy, not the philosopher. I
pretend that his historical vision and his original ideas are still
adequate today. Maybe more than ever.
Picture of RMS by Frank Karlitschek
https://commons.wikimedia.org/wiki/File:Richard_Stallman_(124442297).jpeg