Recentemente, as Distribuições Linux vem cada vez mais apoiando a ideia de se possuir um formato padrão de pacotes, uma vez que isso facilita a vida dos usuários assim como a dos desenvolvedores. No RoadMap (mapa de metas) do Pop!_OS, está listado uma grande novidade que provavelmente chegará com a versão 20.04 ou posterior: a inclusão e integração de Flatpaks.
Suporte para Flatpak
Com o ecossistema Open Source dependendo/confiando cada vez mais no Flatpak como modelo de distribuição de aplicativos para Desktops Linux, é importante trazer esse suporte ao Pop! _OS imediatamente. Isto implica:
- Ter o Flatpak instalado por padrão, com o repositório do Flathub;
- Adicionar suporte a repositório Flatpak no Repoman, nossa ferramenta de gerenciamento de repositórios apt;
- Garantir que o Pop! _OS Repo seja listado como prioridade no Repoman;
- Atualizar o Pop! _Shop para trazer o suporte nativo a Flatpaks;
- Corrigir a exibição das fontes de aplicativos para que o repositório do Pop! tenha maior prioridade.
Como os desenvolvedores do Pop! disseram no texto, o Flatpak se tornou o modelo mais querido por parte dos desenvolvedores das Distros Linux e quiça por seus usuários, sendo adotado abertamente por várias Distribuições, como o Fedora, Mint, Elementary, OpenSUSE e Zorin. Já sua contraparte, os Snaps, vem conquistando com razão os servidores, porém fora o Ubuntu, Snaps vem recebendo apoio quase nulo em Desktops, com exceção do Manjaro, que por seguir uma filosofia atrelada ao conceito de pacotes universais, acabou adotando os Snaps assim como Flatpaks e AppImages.
Levando em consideração que nem mesmo as Distros que são baseadas no Ubuntu pretendem usar Snaps, acho que podemos dizer qual foi o formato escolhido pelo ecossistema Linux para Desktops, certo? Contudo, eu me perguntei a razão disso e aposto que vocês também devem possuir essa dúvida, logo eu acredito que uma explicação seja importante para que possamos entender que a aversão a Snaps dos desenvolvedores não é birra como alguns podem imaginar.
Pacotes Snaps foram criados pela Canonical, empresa responsável pelo Ubuntu, e essa tecnologia é fortemente codificada para que seja usada apenas a Snap Store e o server-side(lado do servidor) é código fechado (proprietário). É possível que outra central de Snaps seja utilizada? Sim, mas para que isso seja possível, os desenvolvedores precisariam criar tudo do zero, uma vez que ninguém sabe como funciona o server-side da Snapcraft da Canonical.
Já a tecnologia Flatpak é completamente de código aberto, descentralizada e foi criada para solucionar um problema existente nos Desktops, enquanto os Snaps foram criados para servidores e apenas depois foram “adotados” para Desktops. “Qual é a diferença na prática?”, vocês me perguntam. Quando você instala um pacote Snap, você está instalando cada pedaço para que o programa desejado seja rodado e isso inclui absolutamente todas as bibliotecas utilizadas em um ambiente bem isolado, um sonho para qualquer mantenedor de servidor e eu digo isso por ser um, porém tal tecnologia no cenário de Desktops acaba se tornando ineficiente e descartável até, pois ela se propõe a fazer algo que vai além do que é realmente necessário para Desktops. Utilizar Snaps em Desktops é como se você estivesse dando um remédio de elefante para um gato, enquanto a tecnologia Flatpak utiliza a dosagem certa, apenas com o que é realmente necessária para a execução do programa, uma vez que o isolamento e a criação de um ambiente exclusivo para o programa não é uma necessidade assim como é no caso dos Snaps.
Por fim, quero deixar claro que esse não é o fim dos Snaps assim como alguns podem erroneamente dizer, os Snaps são o futuro digo eu, mas eles são o futuro dos servidores e não dos Desktops, pois acredito eu que o reino dos Desktops está caminhando para ser dos Flatpaks. A verdade é que Flatpaks e Snaps são monstros diferentes e sinceramente, eu não gosto de compará-los, pois eles nem mesmo competem pelo mesmo posto, e, ao meu ver, essa ideia de disputa surgiu com o erro da Canonical em tentar trazer Snaps para Desktops e não me entendam mal, esse erro não foi de todo mal, porque Snaps ajudaram a fomentar a ideia de se possuir um pacote universal, então vamos aproveitar esse tempo de mudança, porque eu sinto que nós estamos evoluindo mais rápido do que imaginávamos.