[PSL-Brasil] WhatsApp nem pensar, mas Telegram também não: Actor

Adonay Felipe Nogueira adfeno em openmailbox.org
Quinta Dezembro 10 10:43:43 BRST 2015


Sou obrigado a concordar com o Filipe Saraiva quanto ao problema de
fragmentação do XMPP.

Creio que o principal problema é o fato de que, apesar dos protocolos
de extensão ao XMPP (abreviadas como XEP) estarem publicamente
documentados e inclusive já terem sido implementados nos
programas-servidores do XMPP, os provedores dos serviços XMPP muitas
vezes se deparam com a impossibilidade de atualizar o
programas-servidor que estão usando para a última versão, seja por
terem a percepção de que ao fazerem "bundling" de software, estarão
livres do "inferno das dependências", fazendo seu tão venerado "bundle"
ficar exposto a futuras vulnerabilidades ou perda de funcionalidades;
seja por de fato quererem atualizar o programa-servidor, nem que seja
via compilação, mas não podem fazê-lo pelo fato de que a atualização tem
uma dependência de compilação ou de execução que não existe no
repositório do sistema usado pelo fornecedor do serviço; ou por terem
compilado por conta própria sua própria cópia do programa-servidor há
muito tempo atrás, e agora se deparam com a indisponibilidade de tempo
ou pacotes para fazê-lo novamente.

Penso que as situações descritas no parágrafo anterior se aplicam a
outros casos mais genéricos. Note porém, que eu ao escrever o parágrafo
anterior, não "perdoei" nem mesmo aqueles que "compilam tudo e esquecem
dos outros". Continue lendo para saber o motivo pelo qual toquei neste
assunto até então desconexo com o tópico principal.

A instalação ou a compilação de programas de computador são ações que
podem variar de acordo com o ambiente de execução delas, e além disso,
elas geralmente apresentam dependências de compilação e de execução
necessárias, logicamente, para que os programas compilem ou possam ser
executados. Então, qualquer alteração no ambiente ou na dependência
pode implicar em várias reações. O problema está justamente nestas
reações, que podem gerar situações complicadas como ter que remover teu
ambiente gráfico inteiro pelo simples fato de um editor de texto
depender da última versão da biblioteca Python 3, que apesar de estar
facilmente disponível para você no repositório do sistema operacional
que você usa, conflita com a versão 2 da biblioteca,
da qual teu ambiente gráfico depende. Logicamente, a situação que criei
aqui é apenas um exemplo, e raramente teremos estes problemas
especificamente com Python.

Compilar tudo manualmente também não resolve muitas coisas, visto que o
tempo gasto é maior, você precisa ficar lembrando onde baixar os
códigos fonte, precisa estar preparado para repetir a mesma coisa,
precisa estar preparado para reler documentação (ou pior, adivinhar)
para poder compilar cada programa de um jeito específico (cmake, make,
alguma-outra-coisa-make... e por ai vai, sem falar nas opções de
compilação), sem falar também que o problema central do "inforno de
dependências" ainda existe, a não ser que você lembre de deixar pelo
menos duas versões antigas do programa compilado guardadas e se lembre
de "forçar" os programas que dependem das versões mais antigas a usarem
estas e não o comando que geralmente aponta para a versão atualmente em
uso (seria, por exemplo, como o ato de fazer o programa usar
"/bin/bash-4.3-7ubuntu1/bash" e não "/bin/bash", este que apontaria
geralmente para a versão mais atual instalada).

Nota adicional: Penso que estes problemas poderiam ser resolvidos mais
facilmente se os fornecedores de serviços usassem um gerenciador de
pacotes funcional como o Guix (ou que usassem a distribuição GNU+Linux
livre que usa ele por padrão, o GNU+Linux-libre GuixSD). Atualmente
estou usando GNU+Linux-libre Trisquel 7, mas quero encontrar tempo
para instalar e usar a GuixSD. Tentei instalar ela há um mês aqui, mas
o "substituto" do kernel que peguei da "fazenda de compilações
automáticas" deles resultou em pânicos/falhas logo na inicialização, e
eu não havia aprendido a configurar o carregador de
inicialização de sistemas (o famoso GRUB) no GuixSD (visto que não se
pode configurar o carregador diretamente, segundo a documentação do
projeto GuixSD, pois o GRUB altera pastas passíveis de serem
esquecidas quando o sistema desliga ou de serem revertidas quando o
sistema atualiza), o que quase me fez perder inclusive o acesso ao
sistema que estou usando. Logicamente que, tentarei testar o GuixSD
novamente, e dentro do possível, detalhar a eles qualquer falha que
aconteça durante tal reteste, basta apenas eu arranjar tempo para fazer
tais coisas.


More information about the psl-brasil mailing list