XMPP.pt
Contents
O que é?
Um padrão aberto para comunicação instantânea que por padrão permite que as pessoas enviem mensagens, porém possui extensões para fazer coisas como: conferências de vídeo/áudio, conversas em grupo, criptografia de ponta-a-ponta, histórico de conversas em grupo e serviço de notícias. Ele também permite que as pessoas tenham "pontes" entre XMPP e algumas técnicas de comunicação instantânea.
Por que devo usar ele?
Argumentos simples
- "padrão aberto"
- basicamente, significa que:
- existe mais de um grupo de pessoas que define como ele funciona;
- 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 que está 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 podes ter certeza que poderás 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]. Exatamente como o e-mail, enquanto no e-mail você não pergunta se alguém tem uma conta em ExamploA.com mas sim se a pessoa tem um e-mail, para o XMPP você também não pergunta se tal pessoa tem uma conta em ExamploB.com. Além disso, similar ao e-mail, se você não gostar do serviço feito pelo provedor, podes mudar de fornecedor e continuar comunicando com seus contatos depois de ter dito a eles sobre isso, e 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 para você mesmo, sua família, um determinado grupo de pessoas, pagantes (todos estes tipos são de registro fechado) e para o público geral com ou sem limitações (registro aberto).
- Humanos são seres sociais, mas algumas pessoas fazem mal uso desta 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 software 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
- Enquanto que os recursos básicos de mensagens de texto estão sempre disponíveis para usuários online, o padrão XMPP possui extensões (abreviadas como "XEP", plural: "XEPs"). Com as extensões, é possível: falar em grupos, ter mensagens criptografadas ponta-a-ponta, participar em chamadas de vídeo ou áudio de cliente-a-cliente, resgatar o histórico das conversas mesmo depois de estar ausente de um determinado grupo, receber notícias importantes e compartilhar arquivos diretamente com alguém ou dependendo do provedor de serviço para armazenar o arquivo temporariamente (e enviar um link para tal automaticamente).
- Cada extensão possui um número oficial ou um nome amigável oficial. Algumas extensões precisam apenas serem suportadas e habilitadas no software cliente, enquanto que outras extensões precisam que ambos o cliente e o provedor de serviço habilitem-nas, existem ainda aquelas que precisam apenas da intervenção do provedor de serviço.
- Eis uma lista de algumas XEPs comuns e o que elas permitem ao cliente ou servidor fazerem:
- XEP-0077 (In-Band Registration): Permite que os software cliente criem as contas.
- 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 tipo de arquivo, desde que esteja dentro do tamanho máximo permitido pelo provedor do serviço, o qual vai ficar disponível por um tempo especificado pelo servidor.
- XEP-0384 (OMEMO Encryption): Criptografia de 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 mesmo para aplicativos/clientes em dispositivos móveis.
- XEP-0048 (Bookmark Storage): Guarda as salas de conversas favoritas e permite dar a estas 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
- O WhatsApp usa uma variante do XMPP, chamada de FunXMPP. Porém, nenhuma "ponte" existe entre o XMPP real e WhatsApp. Adicionalmente, deve-se notar que 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 do WhatsApp e do FunXMPP faz mais pessoas usar 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
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?
- 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.
- Registre uma conta com o provedor selecionado. Alguns provedores que suportam XEP-0077 permitem que você faça isso usando o software cliente.
- 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.
- Adicione sua conta ao seu cliente:
- No Gajim:
- Se o assistente de configuração de contas não aparecer, vá na janela principal do Gajim, clique "Editar", "Contas", e depois em "Adicionar".
- Informe ao assistente se você tem uma conta XMPP ou não.
- Preencha os detalhes da autenticação.
- No Conversations:
- 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.
- Preencha os detalhes da autenticação.
- Informe ao assistente se você tem uma conta XMPP ou não.
- No Gajim:
- Se quiser se juntar a uma sala de conversas existente:
- No Gajim:
- Vá na janela principal do Gajim, clique em "Ações", "Entrar em uma conferência", e em "Ingressar em uma nova conferência".
- Preencha os campos da seguinte forma:
- Apelido: Seu apelido quando dentro da sala de conversas. Pode ter espaços.
- Sala: Parte do endereço que está na esquerda do símbolo do arroba.
- Servidor: Direita do símbolo do arroba.
- Senha: Geralmente deixado em branco, exceto se um membro da sala dizer o contrário.
- 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.
- 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:
- 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.
- Preencha os campos como segue:
- Sua conta: Geralmente há apenas uma conta.
- Endereço XMPP: O endereço da sala, na forma de nome-da-sala@servidor-da-sala.
- 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.
- No Gajim:
- Se quiser juntar-se a uma sala que foi adicionada aos favoritos:
- No Gajim:
- Vá na janela principal do Gajim, clique em "Ações", "Entrar em uma conferência", e selecione a sala.
- No Conversations:
- 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.
- No Gajim:
- 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
- ↑ NOCUN, Katharina. A new kid on the block: conditions for a successful market entry of decentralized social networks. 2015. CC BY 4.0.
- ↑ [1].
- ↑ 3.03.1 [2].
- ↑ 4.04.1 GERWITZ, Mike. The surreptitious assault on privacy, security, and freedom. 2017. CC BY-SA 4.0.
- ↑ DE ROSNAY, Melanie Dulong; DE MARTIN, Juan Carlos. The digital public domain: foundations for an open culture. 2012. CC BY 3.0.
- ↑ 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.
- ↑ BENKLER, Yochai. Degrees of freedom, dimensions of power. 2017. CC BY-SA 3.0 US (prova).
- ↑ MOGLEN, Eben. The free software movement in the age of Trump. 2017. CC BY-SA 4.0.