O Elementary OS adotará o Flatpak para o AppCenter em breve. O anúncio foi feito pelo desenvolvedor da distribuição que é considerada uma das mais bonitas no universo Linux.
Depois de vários anos (!) observando, explorando e interagindo com vários formatos de empacotamento mais recentes, estamos empolgados em anunciar que o elementary se unirá ao maior movimento open source independente e adotará o Flatpak for AppCenter e nosso ecossistema de desenvolvedores de terceiros, diz o comunicado oficial. O Flatpak certamente cresceu e amadureceu muito desde meados de 2015, e estamos animados em trabalhar junto com a comunidade por trás dele ainda mais.
Flatpak, não Flathub
É importante destacar essa diferença que eles alertam no anúncio da adoção do Flatpak. Portanto, eles vão adotar o formato de empacotamento e não ao Flathub (um único repositório de aplicativos baseado em Flatpak).
Embora o Flathub seja um ótimo lugar para obter aplicativos multiplataforma populares, ainda queremos que o AppCenter seja o melhor local para obter aplicativos desenvolvidos especialmente para o sistema operacional elementary.
Os desenvolvedores garantem que mudar para o Flatpak não significa abandonar o foco em aplicativos nativos. Assim, é mantida a permissão para os desenvolvedores sejam recompensados com downloads pagos. Da mesma forma, continua a existir o Painel de Controle do AppCenter on-line, onde cada aplicativo é cuidadosamente testado, revisado e corrigido antes sendo publicado para usuários no AppCenter.
Forneceremos nosso próprio repositório Flatpak hospedado e com curadoria para o AppCenter, assim como oferecemos nosso próprio repositório Debian hospedado e com curadoria.
O motivo da mudança
A embalagem clássica do Debian apesar de excelente vem apresentando, segundo eles, problemas de segurança. Além disso, alegam que os formatos de empacotamento modernos têm recursos interessantes como downloads paralelos e atualizações delta. Isso torna, para eles, a instalação e atualização de aplicativos mais rápida e confiável.
O recurso principal que esses formatos modernos oferecem é o sandbox: a ideia de limitar o acesso de um aplicativo ao seu sistema operacional. O uso de sandboxing é essencial para melhorar a segurança e a privacidade no sistema operacional básico e é muito menos direto fazer com o pacote Debian. Por outro lado, os formatos de empacotamento modernos são criados com o sandbox em mente desde o início, e a aplicação de um sandbox nesses aplicativos é algo que podemos fazer mais facilmente no nível da plataforma. Como mencionamos em um post anterior no blog, já estamos fazendo etapas para se preparar para um futuro de aplicativo em área restrita.
Por que não outro formato?
Por que não Snaps? A pergunta está no anúncio oficial e é respondida da seguinte forma.
Se você não sabe, o Snap é um novo formato de embalagem e repositório centralizado de aplicativos da Canonical, a empresa por trás do Ubuntu. Eles fizeram um pouco de barulho com um anúncio em junho de 2016. Na verdade, estamos trabalhando com pessoas da Canonical desde então para investigar e entender melhor o Snaps, e até mesmo nos juntamos ao Snap Technical Oversight Board. Embora tenhamos grande respeito pela Canonical e seu trabalho na Snap, decidimos, como comunidade e organização, que a Flatpak se alinha melhor com nossas metas de algumas maneiras:
-
Design descentralizado
Isso é extremamente importante para nós. Todo o design do Flatpak permite que uma organização como o elementar hospede, cuide e mantenha nosso próprio repositório. Nós decidimos exatamente o que entra no nosso repositório Flatpak; similar ao nosso repositório Debian hoje, mas com todas as vantagens da embalagem moderna. Não estamos enviando dados do usuário – nem mesmo um simples ping do usuário ou um endereço IP – para terceiros, e podemos garantir que toda a infraestrutura seja construída e mantida com a privacidade do usuário em primeiro plano. Ao mesmo tempo, se os usuários, OEMs ou organizações assim escolherem, eles poderiam adicionar um repositório Flatpak separado para suas necessidades específicas.
-
Mais alinhado com os arquivos.
Partes subjacentes dos pacotes do Elementary, como GTK e AppStream, estão muito sincronizadas com o desenvolvimento do Flatpak. Por exemplo, os recursos modernos do GTK estão sendo construídos para um futuro do Flatpak, e o Flatpak é desenvolvido com o GTK em mente desde o início. Já estamos muito engajados com muitas das mesmas pessoas trabalhando onde as tecnologias se sobrepõem e interagem umas com as outras.
-
Consenso de desenvolvedores de aplicativos independentes.
Nós sempre nos envolvemos e trabalhamos com a nossa comunidade de desenvolvedores independentes que escrevem aplicativos para o AppCenter e para o elementary OS. O consenso é que o Flatpak tem sido mais fácil de se trabalhar.
Outros formatos, como o AppImage, não lidam com o sandbox. Portanto, nunca foram realmente considerados para usar o AppCenter e o elementary OS.
Todos esses fatores combinados fizeram do Flatpak a escolha certa para o AppCenter e para o elementary OS. É importante lembrar, no entanto, que essa decisão é sobre o futuro do AppCenter e a experiência inovadora do SO elementary. Os usuários são sempre livres para usar os formatos que escolherem, embora sempre recomendemos que eles busquem aprender e entender os riscos de transferir aplicativos ou usar formatos sem sandbox.
Como isso afetará os usuários?
Segundo a equipe da distro, a transição para o Flatpak será ideal para os usuários. Eles ainda verão os aplicativos de qualidade criados para o sistema operacional no AppCenter. Também poderão pagar o que desejam para eles, e baixarão e instalarão de maneira aparentemente similar. Há algumas vantagens como downloads e atualizações muito mais rápidos (graças aos downloads baseados em diff).
Embora o GNOME Software agora ofereça atualizações automáticas, este não é um recurso do próprio Flatpak e a adoção do Flatpak não implica a implementação de atualizações automáticas. Isso não significa que versões futuras do AppCenter não possam oferecer esse recurso, mas isso também não significa que você deve perder o controle de quando deseja executar atualizações como resultado dessa transição.
Como isso afetará os desenvolvedores?
Não há alterações no processo de envio do AppCenter. Ainda continuam aceitando e analisando aplicativos da mesma maneira. No futuro, começarão os testes no processo de envio e distribuição baseado em Flatpak com comunidade de desenvolvedores de terceiros.
Enquanto isso, certifique-se de que seu aplicativo esteja seguindo as práticas recomendadas publicadas em developer.elementary.io e os Requisitos de envio do AppCenter para a transição mais fácil.
Outra coisa interessante a considerar é o uso dos canais de atualização Flatpak “beta” ou “edge”. Assim, podemos ajudar os desenvolvedores a enviar versões de teste de futuras atualizações. Vimos muitos trabalhos interessantes acontecendo no que diz respeito ao fornecimento de Flatpaks como parte do processo de CI também. No geral, nossa comunidade de desenvolvedores se beneficiará de maneiras mais fáceis e seguras de visualizar o software em desenvolvimento.
Resumo
Por enquanto, duas coisas básicas precisam acontecer para o elementary OS suportar o Flatpak:
- O próprio AppCenter precisa suportar o Flatpak como um back-end. Isso significa uma boa quantidade de refatoração. O backend atual não suporta o uso de pacotes Flatpak e Debian ao mesmo tempo. Isso diz respeito a atualizações de aplicativos e de sistemas, respectivamente. David Hewitt já começou a trabalhar aqui e fez muito progresso! O AppCenter deve suportar repositórios Flatpak em breve.
- O AppCenter Dashboard precisa ser capaz de criar aplicativos Flatpak e gerenciar repositórios Flatpak. O trabalho sobre isso ainda não começou, mas ferramentas como Flat-manager devem fazer a maior parte do trabalho pesado aqui.
Também estamos discutindo o envio de uma versão mais atualizada do Flatpak do que os repositórios oficiais do Ubuntu. Assim, novos recursos e correções CVE virão mais rapidamente do que do Ubuntu. Não está claro se esperamos tornar o Flatpak o padrão do AppCenter em futuras atualizações do Juno, encerra o comunicado.