Anuncio do FlatPack – próxima geração de aplicações para Linux

ACanonical anunciou recentemente que o formato snap pode se tornar universal para todas as distribuições. O snap é um novo tipo de pacotes que nos permite logo2instalar programas de maneira muito simples, sem ter de procurar as dependências. Esses formatos, originalmente voltados para o Ubuntu, estão ganhando espaço no universo Linux. Contudo, o Flatpak – novo sistema de empacotamento e implantação de aplicativos desktop para Linux – pode se tornar o padrão mais popular por conta da sua abordagem; “segurança em primeiro lugar”. Em resumo, o Flatpak permite instalar as aplicações no sistema Linux, incluindo todas as bibliotecas necessárias (resolvendo problemas de dependências), de forma isolada do sistema e com tamanho reduzido, comparado ao snap.

O histórico de desenvolvimento e divulgação de aplicações nos sistemas Linux está sendo amplamente discutido. A criação dos gerenciadores de pacotes (APT e DNF, por exemplo) estão entrando em choque com as novas propostas de empacatomanto de aplicações Linux, vide snap, Flatpak e AppImage.

Para os idealizadores desses projetos, o cenário atual das aplicações Linux é problemático e afeta a flexibilidade de uso e desenvolvimento; já que para cada distro ou sistema Linux é preciso configurar bibliotecas e componentes peculiares para fazê-la funcionar. Além disso, eles consideram uma desvantagem o fato de que todo software a ser instalado requer uma conexão com à internet – pois no caso de um PC sem esse acesso, o processo de instalação fica dificultado.

Por exemplo: caso não use uma distro Linux LTS, você estará limitado a usar a versão mais nova da aplicação oferecida naquele repositório da versão usada – muitas das vezes desatualizada. E, se caso queira usar a mesma aplicação em distros diferentes, será precisa baixá-la do repositório oficial de cada uma delas; e isso não garante que será usada a mesma versão. Em outras palavras, quando se desenvolve uma aplicação para Linux é colocado na pauta em qual distro esse programa irá rodar; e não é visado o Linux como um todo –“desenvolvendo aplicação para Fedora 19 e 20; e não para o Linux…” – Linus Torvalds.

Assim, o objetivo principal, em comum, desses projetos (snap, AppImage e Flatpak) é oferecer flexibilidade e dinamismo na distribuição de softwares no Linux. Gerenciadores de pacotes, como APT e DNF, instalam formatos empacotados (.deb, por exemplo) que dependem de diversos outros pacotes, bem como bibliotecas. O formato Flatpak (e os outros), contém todos os arquivos necessários, onde os pacotes .deb (por exemplo) não englobam todas as dependências para os outros pacotes. Consequentemente, o formato Flatapk conterá arquivos de instalação maiores. Por outro lado, você não terá problema se remover uma aplicação no formato Flatapk; pois nenhum outro será afetado por dependências, por exemplo.

FLATPAK

O Flatpak é ideia de Alexander Larsson, principal engenheiro de software da Red Hat. Larsson tem trabalhado em ambiente desktop Linux durante 18 anos. Além disso, possui uma experiência considerável na área de empacotamento de aplicativos.

Flatpak, conhecido, anteriormente durante seu desenvolvimento, como xdg-app, fornece a capacidade de um aplicativo – empacotado nesse formato – ser instalado e executado com facilidade; e de forma consistente em muitas distribuições Linux diferentes. Além da segurança inerente ao formato, o formatoFlatpak tem a capacidade de oferecer isolamento do sistema operacional e de outras aplicações; garantindo maior segurança.

Ele permite criar um aplicativo (empacotar) uma vez e depois implantá-lo em todas as distribuições Linux. Ele usa tecnologias semelhantes aos containers em ambientes servidor, mas com foco no ambiente desktop. Essa arquitetura permite executar aplicações Linux independente da distribuição usada.

Em outras palavras, você poderá usar um programa no Fedora e no Ubuntu a partir de um mesmo arquivo – sem a necessidade de instalação de bibliotecas compartilhadas ou complementos peculiares de cada sistema.

Para tornar isso possível, a tecnologia usada por atrás do snap e Flatpak é similar ao que chamamos decontainers (“recipientes”) no mundo Linux para servidores – vide Docker. Assim, o objetivo é fazer com que aplicações Linux se tornem universal nas mais variadas distribuições Linux. E, obviamente, torná-las mais seguras!

Em resumo, tecnicamente, o Flatpak faz uso do OSTree, que pode ser descrito como “GIT para grandes binários”.  Isto fornece grande parte das funcionalidades para hospedar os repositórios de software. Tornando o Flatpak extremamente eficiente, pois aplicações e bibliotecas que são instalados são deduplicadas, economizando espaço em disco. Um dos aspectos que fazem com que o Flatpak ocupe menos espaço do que o snap ?

Já para garantir o isolamento (“sandboxing”), o Flatpak faz uso do utilitário Bubblewrap, bem como várias características do kernel do Linux (como cgroups e namespaces), o que ajuda a torná-lo “portátil” para diversas distribuições Linux.

Uma gama crescente de aplicações já estão disponíveis no formaro Flatpak, bem como LibreOffice, GIMP,Inkscape, MyPaint, Darktable, e um grande número de aplicações compatíveis com o GNOME. Além disso, oFlatpak é compatível com as normas, oferecendo suporte para a especificação Open Initiative Container.

“FAÇA UM VEZ E RODE EM QUALQUER LUGAR”

AnuncioFlatpak

Estocolmo, Suécia, em 21 de junho de 2016; a equipe de desenvolvimento do Flatpak anunciou oficialmente seu framework de aplicações desktop para Linux. O Flatpak está disponível nas principais distribuições Linux.

Como o snap, do Ubuntu, os desenvolvedores do Flatpak estão otimistas quanto ao rumo das aplicações Linux, que podem se tornar o novo formato de empacotamento para as aplicações Linux.

Foco na Segurança

“Aplicativos Flatpak estão em área restrita (‘sandboxing’). Com esse isolamento, as únicas coisas que o aplicativo pode ‘ver’ são seus próprios arquivos e um conjunto limitado de bibliotecas e interfaces do sistema operacional. Isso efetivamente isola aplicativos uns dos outros, bem como do sistema host e torna muito mais difícil para aplicações de roubar dados do usuário ou explorar um ao outro “, disse no anúncio.

O sistema de janelas X11, amplamente utilizado, ainda é “inerentemente inseguro”, limitando a capacidade de aplicações sandbox na maioria dos sistemas atuais; destacado no anúncio. Mas isso tende a mudar! Por enquanto, o Flatpak funciona em sistemas que utilizam o X11.

Entretanto, o surgimento de um novo servidor gráfico, chamado Wayland, abre caminho para um modelo de segurança muito mais completo para as distribuições Linux! No Ubuntu, os problemas de segurança do X11 devem ser resolvidos pela adoção do servidor gráfico, em desenvolvimento, chamado Mir. O snap pode ser executado em ambos, Mir e X11, mas vai ter mais segurança quando usado sobre o Mir.

Além do mais, conforme nota do site Arstechnica.com, aplicativos Flatpak também não podem “ver” arquivos, processos e dispositivos de hardware do sistema hospedeiro (“host”). Opcionalmente, eles podem ser impedidos de acesso à rede.

Mais detalhes técnicos sobre a segurança do Flatpak estão disponíveis aqui.

Fonte Fonte