Mensageiros livres

software livre Jan 26, 2020

Por muitos anos, o espaço dos mensageiros foi praticamente dominado pelo Skype. Já no mundo do software livre, o cliente multiprotocolo Pidgin reinou soberano por anos a fio. Contudo, o surgimento dos dispositivos móveis deu lugar ao WhatsApp e a uma multiplicidade de outros mensageiros mais adaptados a celulares e smartfones. Hoje, muitos projetos de software livre estão na corrida para criar um protocolo livre e seguro que seja amigável a celulares ao ponto de poder substituir o já ultrapassado XMPP, inclusive em ambientes corporativos.

Wire (GPL3): com foco na privacidade, o Wire não deixa nada a dever para outros mensageiros mais conhecidos. Suas features incluem criptografia de ponta-a-ponta, transferência de arquivos, chamadas de voz e vídeo (inclusive em grupo), clientes nativos para iOS e Android. Suas bibliotecas criptográficas são escritas em Rust enquanto que o servidor é quase todo em Haskell. https://wire.com

Tox (GPL3): se a maior parte dos projetos dessa área seguem a arquitetura cliente-servidor, o projeto Tox decidiu ousar ao implementar um protocolo P2P (peer-to-peer) onde os nós se comunicam diretamente, dispensando o uso de servidores. Apesar da criptografia utilizada por ele ainda estar em estágio experimental, o protocolo já dá suporte a todas as features modernas que se espera de um mensageiro, contando ainda com várias opções de clientes para as mais diversas plataformas. https://tox.chat

Ring (GPL3): o Ring adotou uma postura intermediária entre o Wire e o Tox, pois apesar de possuir um daemon, conta com conexão e descoberta de clientes por peer-2-peer através do protocolo OpenDHT. Além disso, o projeto reaproveitou muitas das tecnologias já disponíveis para sistemas Linux, como as bibliotecas LibAV, FFMPEG, GNU TLS e o protocolo SIP para criar um mensageiro seguro e completo no que diz respeito aos recursos disponibilizados. Apesar disso possui clientes para todas as principais plataformas móveis e desktop, incluindo Windows. https://ring.cx

Edit: este último alterou o nome do projeto de Ring para Jami desde que o texto foi publicado.

Riot (Apache2): o Riot, por sua vez, optou por utilizar uma arquitetura federada oriunda do projeto Matrix (https://matrix.org) e que funciona de forma semelhante ao e-mail, onde qualquer um pode subir um servidor que terá vários clientes conectados a ele; entretanto os servidores se comunicam entre si, permitindo o envio de mensagens entre clientes conectados a diferentes servidores. https://riot.im

Signal (AGPL3): o Signal talvez seja o aplicativo mais conhecido desta lista, pois costumava vir instalado por padrão no Cyanogem Mod, o famoso (porém discontinuado) sistema alternativo para celulares Android. Seu diferencial é a integração nativa com torpedos SMS de forma transparente: caso o destinatário da mensagem também tenha o Signal instalado, a mensagem será enviada pela Internet. Caso contrário, ele utilizará mensagens de texto SMS. Seu servidor também está disponível e encontra-se escrito em Java. https://signal.org

Publicado na minha coluna "Código Aberto" da edição 26 da revista iMasters