XMPP

From LibrePlanet
Revision as of 20:28, 24 January 2018 by Adfeno (talk | contribs) (Added JMP's list of suggested XMPP servers)
Jump to: navigation, search

XMPP en en


What is it?

It's an open standard for federated instant communications which by default allows people to send text messages, but has extensions to do things such as: video/audio conferences, group chats, end-to-end encryption, group chat history and news services. It also allows people to to have "bridges" between XMPP and some instant communications techniques.

Why should you use it?

Simple arguments

"open standard" 
basically, means:
  • there is more than one group of people who define how it works;
  • the decisions can be read by anyone because everything is documented;
  • chances are that even you can join given group and influence the decisions.
"federated" 
everyone can communicate and interact fully with each other that has a contact point/address which complies with the XMPP standard.

In other words, you can create a XMPP account with any provider that offers such service and from there on you can be sure that you will be able to contact other people who use XMPP provided you respect the service provider's agreement.

Socially, federated (and also the distributed) open standards change the "reference point" of society's way of expressing their methods of communication[1]. Exactly like email, while in email you don't ask if someone has a ExampleA.com account and instead ask if they have an email, for XMPP you also don't ask if said person has a ExampleB.com account. Also, just like email, if you don't like the service made by the provider, you can change providers and continue communicating with your contacts after telling them about it, and they don't need to make yet another account.

If you have the interest and skills, you can also act as a XMPP service provider, either for yourself, your family, a given group of people, payers (all of these types are closed registration) and for the general public with or without limitations (open registration).
Humans are social beings, but some people misuse this need 
the vague, closed, non-standardized and centralized nature of some popular communication technologies make socialization harder for other people.
Various client software 
XMPP has various software that can be used as clients. Browse the Free Software Directory[2] for a partial list of client and server software for general computers and F-Droid[3] for a list of client software for mobile devices.
Various service providers 
some with additional features and extensions. This guide won't give recommendations of service providers because doing so in federated communications isn't good[4][5], but there is a list of public service providers at [6][7][8].
Extensible 
While the basic feature of text messaging is always available for online users, the XMPP standard has extensions (abbreviated as "XEP", plural: "XEPs"). With extensions, it's possible to: chat in groups, have end-to-end encrypted messages, participate in client-to-client video or audio calls, recover chat history even after being absent from a group, receive important news and share files directly with someone or relying on the service provider to store the file temporarily (and automatically give a link to it).
  • Each extension has an official number or an official friendly name. Some extensions only need to be supported and enabled in the client software, while other extensions need both client software and service provider to enable them, there are also those which only need service provider intervention.

Curiosities

  • WhatsApp uses a variant of XMPP, called FunXMPP. However, no known "bridge" exists between real XMPP and WhatsApp. Morever, it must be noted that no further evaluation was made on possible legal issues of implementing such "bridge" or if the communication can happen without having to make another XMPP account. In all cases, indirect usage of WhatsApp and FunXMPP makes more people use non-free/non-libre software, even if one tells people to do so "but make sure to do X...", because people won't remember.

Advanced arguments

Economics

  • In the contemporary economic studies, it has been proven[9][10] that "public goods" made from knowledge and information, and which are put under control structures made for non-public goods, result in a "gridlock" effect where people who want to join in are afraid to because of a possible litigation, and those which are already in are afraid of leaving due to the possibility of losing the progress made.
    • "public good" 
      in economics sense, not public management. Things which are non-rivalrous and non-excludable.

Others

  • The main goal of such gridlocks and centralization seems to be tied with tracking[11], behavior collection and psychological manipulation[12]. With only a few big centralizers and with more people being discouraged from self-hosting or self-providing services either to particular people or to the general public, it becomes very easy to do the things described in start of this paragraph. But with more players, and no standard for interaction between people affected by the players, then communication becomes almost impossible without having to make various accounts.

How to use it?

  1. Compare and select a service provider. Make sure to check if their terms of service aren't bad for you or the others.
    • Don't expect for the perfect solution.
    Advanced user 
    make sure that the provider has all the extensions you want enabled.
  2. Register an account there. Most service providers allow you to do so using the client software.
  3. Compare and select the client software. Use free/libre software.
    Advanced user 
    make sure that the software has all the extensions you want, and that you get them all enabled.
  4. Spread the importance of free/libre software and of XMPP! Invite other people! ;)

Why not recommend other XMPP non-compliant instant communication solutions?

  • From [13] one can draw the consideration that there is need for things that work in a reasonable basic level, which are stable, standardized and get the basic job done even in the most limited environment. From the same reference, there is no longer time to recommend an incomplete solution and say that it will get better as "we" thinker with it and that people should just "massively use it already". This is not to say that the development of other solutions must be abandoned. What should be done is instead to recommend already stable solutions to the general public, and leave the unstable ones to people who really get interested on helping out.