XMPP.pt

From LibrePlanet
Jump to: navigation, search

XMPP pt pt


O que é?

XMPP é um padrão aberto para comunicação instantânea que por padrão permite trocar mensagens, e possui extensões para funcionalidades como: conferência de áudio/vídeo, conversa em grupo, criptografia ponta-a-ponta, histórico de conversas em grupo e serviço de notícias. Ele também permite fazer "pontes" entre XMPP e algumas outras redes de comunicação instantânea.

Por que devo usá-lo?

Argumentos simples

Pular para: Como usar?

"padrão aberto" 
basicamente, significa que:
  • existe mais de um grupo de pessoas que define seu funcionamento;
  • as decisões podem ser lidas por qualquer pessoa pois tudo é documentado;
  • há chances de até mesmo você se unir a tal grupo e influenciar as decisões.
"federado" 
todos podem se comunicar e interagir completamente uns com os outros que possuem um ponto/endereço de contato em conformidade com o padrão XMPP.

Em outras palavras, você pode criar uma conta XMPP com qualquer provedor que ofereça tal serviço e a partir dali poderá contatar outras pessoas que usam XMPP desde que você respeite o acordo do provedor do serviço.

Socialmente, padrões abertos federados (e também os distribuídos) mudam o "ponto de referência" da forma com que a sociedade expressa seus métodos de comunicação[1]. Um exemplo de rede aberta e federada é correio eletrônico (e-mail). Você não pergunta se alguém tem uma conta em ExamploA.com, mas sim se a pessoa tem uma conta de correio eletrônico. Quem tem conta de correio eletrônico em ExemploB.com consegue se comunicar com quem tenha conta de correio eletrônico em ExamploA.com. O mesmo ocorre com XMPP. Além disso, se você não gostar do serviço feito pelo provedor de uma rede federada, pode mudar de fornecedor e continuar se comunicando com seus contatos após lhes informar o novo endereço; eles não precisam fazer ainda mais uma conta.

Se você tem o interesse e a habilidade, podes também agir como um provedor de serviço XMPP, seja de registro fechado (para você mesmo, sua família, um determinado grupo de pessoas, ou pagantes) ou de registro aberto (para o público geral com ou sem limitações).
Humanos são seres sociais, mas algumas pessoas fazem mal uso dessa necessidade 
a natureza vaga, fechada, não padronizada e centralizada de algumas técnicas de comunicação populares fazem da socialização algo mais difícil para outras pessoas.
Vários aplicativos/software/programas cliente 
XMPP possui vários aplicativos que podem ser usados como clientes. Navegue pelo Free Software Directory[2] para uma lista parcial de programas cliente e servidor para computadores em geral e F-Droid[3] para uma lista de aplicativos clientes para dispositivos móveis.
Vários provedores de serviço 
alguns deles com recursos e extensões adicionais. Este guia não dará recomendações específicas sobre quais provedores de serviço devem ser usados pois tal ato não é saudável nas comunicações federadas[4].
Extensível 
Além dos recursos básicos de mensagens de texto sempre disponíveis, o padrão XMPP possui extensões (abreviadas como "XEP", plural: "XEPs"). Elas possibilitam: falar em grupos; criptografia ponta-a-ponta; chamadas de vídeo ou áudio de cliente-a-cliente; resgatar o histórico das conversas de um grupo mesmo após ausência temporária; receber notícias importantes; e compartilhar arquivos diretamente com alguém ou por meio do provedor de serviço, que armazena temporariamente o arquivo e automaticamente gera uma URL (endereço web) para tal.

Cada extensão possui um número oficial ou um nome amigável oficial. Algumas extensões dependem de suporte específico do aplicativo cliente, outras extensões precisam de suporte específico tanto do cliente quanto do provedor de serviço, enquanto outras precisam apenas de suporte do provedor de serviço.

Abaixo uma lista de algumas XEPs comuns e suas funcionalidades:
  • XEP-0077 (In-Band Registration): Permite criar conta no provedor de serviço usando o próprio software cliente.
  • XEP-0215 (External Service Discovery, STUN/TURN): Ajuda a fazer chamadas de áudio/vídeo ao simplificar comunicações.
  • XEP-0045 (Multi-User Chat): Para se conectar com a maioria das salas de conversa.
  • XEP-0191 (Blocking Command): Bloqueia contatos indesejáveis.
  • XEP-0313 (Message Archive Management): Sincroniza mensagens que recebeste quando não estavas on-line, com todos os seus aplicativos/clientes, não apenas um.
  • XEP-0280 (Message Carbons): Sincroniza mensagens enviadas.
  • XEP-0363 (HTTP File Upload): Use o servidor para enviar qualquer arquivo (dentro do tamanho máximo permitido pelo provedor do serviço), o qual fica disponível pelo período de tempo especificado pelo servidor.
  • XEP-0384 (OMEMO Encryption): Criptografia ponta-a-ponta.
  • XEP-0352 (Client State Indication): Otimiza o consumo de energia quando um aplicativo/cliente não está on-line.
  • XEP-0357 (Push Notifications): Entrega informações eficientemente para aplicativos/clientes em dispositivos móveis.
  • XEP-0048 (Bookmark Storage): Guarda as salas de conversas favoritas e permite lhes dar nomes curtos e configurar se seus clientes devem conectar automaticamente a estas quando você ficar on-line.
  • XEP-0163 (Personal Eventing Protocol): Necessário para guardar suas salas de conversa favoritas e em geral para criptografia OMEMO.

Curiosidades

  • WhatsApp usa uma variante do XMPP chamada de FunXMPP. Porém, nenhuma "ponte" existe entre XMPP padrão e WhatsApp. Adicionalmente, nenhuma outra avaliação foi feita para saber se existem problemas legais ao implementar tal "ponte" ou se a comunicação pode ocorrer sem precisar fazer outra conta XMPP. Em todos os casos, o uso indireto de WhatsApp e FunXMPP faz mais pessoas usarem software não livre, mesmo se alguém disser às pessoas para fazê-lo "mas ter certeza de fazer X...", pois as pessoas não se lembrarão.

Argumentos avançados

Pular para: Como usar?

Economia

  • Nos estudos de economia contemporânea, foi provado[5][6] que "bens públicos" feitos do conhecimento e da informação, e que são colocados sob estruturas de controle feitas para bens não publicos, resultam em um efeito que trava o conjunto todo ("gridlock" effect) onde as pessoas que querem se unir têm medo de um possível litígio, e aqueles que já entraram estão com medo de sair por causa da possibilidade de perderem o progresso feito.
    • "bem público" 
      no sentido econômico, não relacionado à gestão pública. Coisas que não são rivais e não excludentes.

Outros

  • O objetivo principal destes travadores do conjunto (gridlocks) e da centralização parece estar ligado com o rastreamento[4], a coleta de comportamentos e manipulação psicológica[7]. Com apenas alguns centralizadores grandes e com mais pessoas sendo desencorajadas de hospedarem ou providenciarem seus próprios serviços seja para pessoas em particular ou ao público em geral, torna-se mais fácil fazer o mencionado no início deste parágrafo. Porém com mais jogadores, e nenhum padrão para interação entre as pessoas afetadas por eles, então a comunicação torna-se quase impossível sem ter que fazer várias contas.

Como usar?

  1. Compare e selecione um provedor de serviço, seja buscando por aqueles na cidade, estado, ou país onde você vive ou internacionais, para todos estes casos, considere:
    • Não espere pela solução perfeita.
    • O idioma falado pela administração para facilitar o entendimento das mensagens enviadas por eles.
    • Se o administrador vive no mesmo país que você, de modo que você possa facilmente ajudar seja com recursos financeiros, técnicos ou para outras pessoas perto de você a migrarem para o XMPP.
    • Verifique os termos do serviço, de modo que eles não sejam ruins para você ou para os outros
    • Importante: Devido ao fato do XMPP ser extensível, tenha certeza de que o provedor possui todas as the extensões que você quer habilitadas. Para fazer isso, verifique e contribua para https://compliance.conversations.im/, o catálogo colaborativo de testes feitos sobre como um provedor específico está em conformidade com as extensões mais comuns. Este passo é importante pois nem todos os provedores de serviços XMPP habilitam todos os recursos comumente esperados.
  1. Registre uma conta com o provedor selecionado. Alguns provedores que suportam XEP-0077 permitem que você faça isso usando o software cliente.
  2. Compare e selecione o software cliente. Use software livre:
    • Certifique-se que o software possui todos as extensões que você quer, e que você tenha todas elas habilitadas.
    • Para mais facilidade ao usuário, recomenda-se o uso do Gajim 1.3 ou superior no sistema operacional GNU ou no Windows, ou o Conversations (nome real: eu.siacs.conversations) no Android/dispositivo móvel, para o último caso, é recomendável instalar F-Droid[3] e a partir deste instalar Conversations.
  3. Adicione sua conta ao seu cliente:
    • No Gajim:
      1. Se o assistente de configuração de contas não aparecer, vá na janela principal do Gajim, clique "Editar", "Contas", e depois em "Adicionar".
      2. Informe ao assistente se você tem uma conta XMPP ou não.
      3. Preencha os detalhes da autenticação.
    • No Conversations:
      1. Se o assistente de configuração de contas não aparecer, toque na reticências vertical, em "Gerenciar contas", e depois no ícone da pessoa com um sinal de adição.
      2. Preencha os detalhes da autenticação.
      3. Informe ao assistente se você tem uma conta XMPP ou não.
  4. Se quiser se juntar a uma sala de conversas existente:
    • No Gajim:
      1. Vá na janela principal do Gajim, clique em "Ações", "Entrar em uma conferência", e em "Ingressar em uma nova conferência".
      2. Preencha os campos da seguinte forma:
        1. Apelido: Seu apelido quando dentro da sala de conversas. Pode ter espaços.
        2. Sala: Parte do endereço que está na esquerda do símbolo do arroba.
        3. Servidor: Direita do símbolo do arroba.
        4. Senha: Geralmente deixado em branco, exceto se um membro da sala dizer o contrário.
        5. Adicionar esta sala aos favoritos: Recomendável marcar se você quiser não precisar relembrar o enderęco exato da sala toda vez que quiser entrar nela.
        6. Juntar-se a esta sala automaticamente quando eu conectar: Recomendável marcar, mas ao contrário do WhatsApp, isso não é requerido por causa da opção anterior.
    • No Conversations:
      1. No canto inferior direito, toque no círculo com uma bolha, o círculo com um sinal de adição, depois no ícone perto de "Juntar-se a canal público" ou texto similar.
      2. Preencha os campos como segue:
        1. Sua conta: Geralmente há apenas uma conta.
        2. Endereço XMPP: O endereço da sala, na forma de nome-da-sala@servidor-da-sala.
        3. Adicionar aos favoritos: Recomendável marcar se você quiser não precisar relembrar o enderęco exato da sala toda vez que quiser entrar nela.
  5. Se quiser juntar-se a uma sala que foi adicionada aos favoritos:
    • No Gajim:
      1. Vá na janela principal do Gajim, clique em "Ações", "Entrar em uma conferência", e selecione a sala.
    • No Conversations:
      1. No canto inferior direito, toque no círculo com uma bolha, o círculo com um sinal de adição, "Favoritos", e na sala desejada.
  6. Espalhe a importância do software livre e do XMPP! Convide outras pessoas! ;)

Por que não recomendar outras soluções de comunicação instantânea desconformes com o XMPP?

  • A partir de Moglen (2017)[8] pode-se traçar uma consideração de que há a necessidade de coisas que funcionam de uma forma razoavelmente básica, que são estáveis, padronizadas e "entregam" o trabalho básico mesmo no ambiente mais limitado. Com a mesma referência, não há mais tempo para recomendar uma solução incompleta e dizer que ela melhorará ao passo que "nós" mexemos nela e que as pessoas deveriam apenas "usá-la massivamente já". Isso não quer dizer que o desenvolvimento de outras soluções deve ser abandonado. O que deveria ser feito é recomendar soluções já estáveis ao público em geral e deixar as instáveis para as pessoas que realmente se interessam em ajudar.

Referências

  1. NOCUN, Katharina. A new kid on the block: conditions for a successful market entry of decentralized social networks. 2015. CC BY 4.0.
  2. [1].
  3. 3.03.1 [2].
  4. 4.04.1 GERWITZ, Mike. The surreptitious assault on privacy, security, and freedom. 2017. CC BY-SA 4.0.
  5. DE ROSNAY, Melanie Dulong; DE MARTIN, Juan Carlos. The digital public domain: foundations for an open culture. 2012. CC BY 3.0.
  6. MANSELL, Robin; TREMBLAY, Gaëtan. Renewing the knowledge societies vision for peace and sustainable development. 2013. Licença informal permitindo o uso, a adaptação e a redistribuição, com adaptação sob termos similares.
  7. BENKLER, Yochai. Degrees of freedom, dimensions of power. 2017. CC BY-SA 3.0 US (prova).
  8. MOGLEN, Eben. The free software movement in the age of Trump. 2017. CC BY-SA 4.0.