[messaging] Matrix.. is Federation at odds with Privacy?

Matthew Hodgson matthew at matrix.org
Thu Apr 16 17:02:46 PDT 2015

On 16/04/2015 18:15, carlo von lynX wrote:
> Let me address just one key thought here:
> On Thu, Apr 16, 2015 at 03:36:23PM +0100, Matthew Hodgson wrote:
>> Expecting that users should jump directly into a new
>> total-privacy-secure ecosystem with little
>> interoperability/federation with current technologies feels
>> well-intentioned but impractical.
> Then why is this what actually happens all the time?

Fair point: if you package up secureshare/gnunet or whatever into a 
sufficiently user-friendly glossy package with some nice differentiating 
features, seed and market it effectively, then you might get a migration 
like {AOL,MSN,ICQ} -> Skype, or Skype->FB, etc.

My point was more that expecting *all* users to jump into a *single* new 
total-privacy-secure ecosystem is impractical.  Which means federation 
may still be useful as a way to defragment the overall picture (at the 
expense of compromising privacy when you federate with a legacy network).

> Why do people start over and over again with completely
> new platforms such as Instagram, Telegram or Twitter?
> Each time bringing their entire core group of friends along?
> Because if it's just a question of installing an app and
> get started, and the whole things actually does a job for
> you.. whatever the job in question.. then they will just do it.
> And of course they still use the old stuff.. to talk to
> their parents or mail to their teachers at school.. but
> the last thing on Earth they want is INTEROPERABILITY!

I agree that users have been migrating between systems based on whatever 
has the most shiny features/marketing/friends for some use cases. 
However, you can't just bundle all communication patterns into a single 
category.  If you think about scenarios where human A wants to talk to 
human B (ignoring group chat), you have examples like:

* Friends socialising together
* Family staying in touch
* Lovers sharing private moments
* Folks exchanging information within an organisation
* Folks collaborating on some kind of task within an org
* Folks exchanging information between organisations (e.g. this)
* Folks collaborating on some kind of task between orgs

Each of these has a different bias towards or against federation or 

For friends staying in touch, I genuinely believe that many users get 
frustrated between having to juggle 5 or more different messaging apps 
of differing quality.  It's not such a pain point that there's rioting 
in the streets, but it's more of a "slowly boiled frog" problem - it's 
just an ambient inconvenience that keeps slowly rising so you don't 
realise just how inconvenient it is.  If you could only mail Gmail users 
from Gmail and Hotmail users from Hotmail, users would squeal with pain. 
  So why accept it for IM/VoIP?

> Like having their parents check on them on their new
> secure sexting chat system!!!
> Who on Earth wants that!??

Say that there's a lovely app for secure chat - be it TextSecure, 
SecureShare, Telegram or whatever.  You love using it as a user: it has 
a really snappy UI; it has nice features like a PIN lock and secret 
chats; you trust its crypto, it works on all your platforms; etc.  You 
happen to have used it for sexting.  But WHY should you not also be able 
to use it to converse with other people too (short of forcing them to 
install it as well)?!

If you don't want your sexting antics to overlap with conversations with 
your parents, then simply create multiple accounts/personas.

> I don't know why computer scientists insist on their private
> vision of elegance of federation or interoperability when in
> reality the REAL audience out there DOESN'T GIVE A ****!!!!!

We're not remotely pursuing federation for a private vision of elegance. 
  I think a 'pure' decentralised architecture like GNUnet, Tox or Matrix 
(without federation) is a million times more elegant than bridging 
together hundreds of different networks with a fleet of various gateways 
(as per Matrix + federation).

The rationale is that end-users /are/ starting to suffer inconvenience 
from their communication being fragmented - and users should be able to 
choose what client they use to communicate via, and what services they 
trust with their data, without being locked into specific vendors and 
having their communication fragmented all over the shop.  Whilst the 
average guy might not realise this is a problem, we believe that once 
the problem is solved they'll never want to go back.

Meanwhile there are use cases like workplace communication where users 
*definitely* want all their comms in a single tool of your own choice, 
rather than fragmented all over the place.

> So what exactly is Matrix doing? Giving the entire WebRTC
> community a sense of togetherness until the next Faceboogle
> takes over WebRTC and turns it into a de-facto closed system
> because all my friends are on it, so I won't be using your
> little webserver to call them...?

Well, Hangouts & FB Messenger are both WebRTC-based these days, so I 
don't have to wait for a new Faceboogle :)

Matrix simply defines an easy HTTP API for storing & synchronising 
communication history in a tamper-resistent decentralised manner.  And 
we obviously are trying to bridge in as many conversations as we can.

Honestly, if it means only that my workplace IRC server can collaborate 
easily with the corporate Lync and Jabber servers, I'd consider it a 
win.  If it means that random WebRTC sites get easy access to calling in 
& out of the PSTN, that'd be nice too.  If it means that Google adopt it 
and I can easily conference between users in Hangouts, Lync, and a nice 
FOSS WebRTC app, then that's even better.  If it means my wife can use 
Hangouts on Android, but I can video-call her from FaceTime on my iPhone 
without both being forced unwillingly into using Skype, then even better.

These are the sort of use-cases we're aiming for.

> Yet another federation
> project that leads people into the arms of a soon to become
> silo?

No, we're just trying to link as many silos together such that they 
don't become silos any more: bridging as many smaller and emerging comms 
solutions as we can such that the resulting glob has some hope of being 
an more open alternative to The Big Guys.

> Matrix is a great solution, but I can't see the fitting
> problem!
> By the way, the comparison with Esperanto is impractical
> because Esperanto sucks.

My point was more that *any* constructed language is never going to 
conquer the world, no matter how easy to learn and elegant it is, purely 
due to the social and cultural constraints.  Pretty much the only way to 
make everyone learn your language is to have gone and invaded the 
majority of them, unfortunately.

So hoping that the whole world will switch to GNUnet is equally 
unlikely, short of a genuine miracle of social engineering (I guess the 
equivalent would be a virus which went through replacing everyone's 
Skype/FB/etc with SecureShare ;D)  Therefore we will still end up with a 
whole fleet of different silos of communication, and as time goes on, 
those silos are only multiplying in number (especially with 
intrinsically fragmented technologies like WebRTC complicating 
everything).  So, my argument is we need to fix both problems: providing 
options for folks to use which are resilient to pervasive 
surveillance... as well as provide a modern way to link the islands 
together for those users & islands who care about this.

And even if Matrix doesn't end up being used for federation, it's still 
a pretty useful decentralised persistent messaging bus :)


Matthew Hodgson

More information about the Messaging mailing list