Parece sacanagem. E é mesmo. A partir da versão 21.10, que sai agora em outubro, a Canonical vai distribuir, em acordo com a Mozilla, o Firefox como SNAP por padrão, na instalação.

Para quem não conhece, o SNAP é uma praga que a Canonical desenvolveu para facilitar o empacotamento de programas para o Ubuntu. Com o SNAP, em vez de bibliotecas partilhadas, todas as bibliotecas necessárias ao funcionamento do programa são instalados em um sandbox, uma caixa isolada do sistema.

O raciocínio por trás dessa solução é que, ao empacotar todas as dependências no instalador, caem por terra incompatibilidades de dependências entre programas e, em particular, o travamento de um programa já instalado em função da atualização de uma biblioteca compartilhada introduzida pelo novo pacote.

Hmmm, boa ideia. Sabe quantas vezes em em 15 anos de Ubuntu, tive esse problema, inclusive usando PPAs? Nenhuma. Zero. O Nirvana absoluto.

É claro que os pacotes SNAP são muitíssimo maiores que os programas compartilhados. Se você tiver cinco SNAPs que usam o FFMPEG, por exemplo, são cinco cópias do FFMPEG no sistema, em vez de uma só compartilhada pelos cinco, quando instalados do repositório.

O que os desenvolvedores alegam é que tamanho não é mais uma preocupação, face os HDDs modernos.

Para a Canonical também é uma vontade, porque a responsabilidade pelo empacotamento e distribuição fica exclusivamente nas mãos do desenvolvedor, a Mozilla, no exemplo, diminuindo a carga de trabalho das equipes da empresa.

Por isso que os empacotamentos em sandboxes têm se tornado populares, como flatpack, appimage e snap. Os appimages funcionam como programas portáteis, não sendo instalados no sistema. Por outro lado, em razão disso, a integração é menor e não há atualização automática. Já os flatpacks são instalados, mas como funcionam em sandboxes, não afetam o sistema, mesmo que sejam instáveis, são maiores e requerem uma Internet melhor para serem instalados. O snap, da Canonical, funciona como o flatpack: são sandboxes que carreiam as dependências e não afetam o sistema, no entanto, algumas bibliotecas essenciais estão no núcleo do sistema e são compartilhadas por vários snaps. É o caso do FFMPEG mencionado acima. No entanto, os SNAPs seguem sendo lentos pra cacete, um problema ainda não resolvido pelos desenvolvedores, em que pese seus anos de desenvolvimento. De longe, o SNAP é a pior das três opções.

O que farei em outubro

Por ora, em vez de largar o Ubuntu, vou substituir o Firefox por SNAP pela versão do repositório, logo após a instalação. Enquanto isso for possível, seguirei usando o Ubuntu. Na hora em que não tiver mais versões dos programas nos repositórios, será o momento de abandonar o barco para outra distribuição.