Existem elementos proprietários do servidor Snap? É possível executar a distribuição baseada em Snap independentemente da Canonical?
Não gosto bastante do Snap por vários motivos (uma das coisas que mais gosto no Linux é que posso instalar/desinstalar coisas com o apt-get
, snap
não tem nem decência de fornecer ajuda direta no snap upgrade
).
Mas a coisa mais preocupante que ouvi é que o Snap possui elementos proprietários, tornando-o totalmente controlado pela Canonical.
Veja por exemplo https://www.techrepublic.com/article/why-canonical-views-the-snap-ecosystem-as-a-compelling-distribution-agnostic-solution/
Martin Wimpress, gerente de engenharia da Snapcraft na Canonical na época:
A loja Snap é proprietária
o lado do servidor (o bit 'app store' da equação) é de código fechado, e a Canonical se recusa a dizer a alguém como executar sua própria 'app store' (...)
(e também descreve como a Canonical estava mentindo sobre o Snap)
Mas as infoboxes em https://en.wikipedia.org/wiki/Snap_(package_manager) listam licenças de código aberto.
O que está acontecendo? Eles lançaram a loja Snap como código aberto? Ou o artigo da Wikipedia está incompleto/danificado pelos funcionários da Canonical?
Estou bastante preocupado, especialmente porque o Ubuntu começou a tornar basicamente impossível evitar o Snap no Ubuntu. Por outro lado, eu preferiria ter boas razões para mudar a distribuição do Linux, não apenas com base em posts desatualizados.
As ferramentas reais de gerenciamento de pacotes para Snaps - snapd e family - são de código aberto. É isso que torna o sistema de gerenciamento de pacotes Snap de código aberto e a Canonical não está mentindo sobre isso.
É verdade que o snapd é codificado para usar os servidores da Canonical para obter snaps e os metadados associados a eles. E a fonte dos servidores back-end não está disponível até onde eu saiba. Várias outras partes (por exemplo, o site snapcraft.io , o próprio aplicativo da loja Snap, etc.) são de código aberto. Quero dizer, você poderia servir arquivos deb de um servidor IIS, mas isso não tornaria o sistema de gerenciamento de pacotes apt uma fonte fechada, faria?
Você pode fazer o snapd funcionar com outro back-end? Tecnicamente, você pode ler a fonte do snapd, descobrir o protocolo (o que não deve ser difícil - acho que o código é bastante legível), implementar seu próprio back-end e criar um snapd com um patch para trocar os URLs de back-end. No entanto, ninguém parece ter feito isso até agora, e a Canonical não publicou uma implementação de referência.
A Snap Store é executada e controlada pela Canonical e não é de código aberto. O resto do Snap é de código aberto, ou seja, o daemon e o software principal. O quão ameaçador isso é depende do seu ponto de vista e tem sido objeto de muita discussão. POR EXEMPLO
Como um novato em Linux, acabei de pesquisar problemas de snap depois de descobrir que o gerenciador de programa (LM) não lista nenhum pacote de snap. O que descobri foi que adotar uma abordagem de linha firme pode cortar a dependência da Snap Store, mas a substitui por outro problema - no meu caso, faltando ou recebendo pacotes desatualizados instalados usando o gerenciador de pacotes Linux Mint:
nodepad-plus-plus
pacote de snap funcional para o Notepad++ (disponível nativamente no Windows) simplesmente não foi listado. Uma versão Linux (notepadqq) pode ser instalada - e eu instalei - mas não substitui o uso do original.É aqui que o pragmatismo e a expectativa de vida entram em jogo: pessoalmente, habilitei o snaps para instalar o
notepad-plus-plus
, com o qual tenho décadas de experiência e considero um "obrigatório", mas pesquisaria extensivamente antes de instalar o snap simplesmente porque posso. FWIW Não tenho certeza se a instalação do nó a partir de binários executando a GUI do gerenciador de arquivos como root foi uma boa ideia, mas fez o trabalho.TL;DR
Sim, a loja Snap é controlada pela Canonical. Se isso é motivo suficiente para forçar um afastamento do Ubuntu é uma questão de opinião e crenças pessoais, e depende muito de como e por que você seleciona e usa pacotes snap em geral.