Metadados do Software

Capturas de ecrã

O Software apresenta as capturas de ecrã das páginas de detalhes de uma aplicação. Tipicamente isto deve incluir capturas de ecrã de várias janelas/ caixas de diálogo da aplicação, para que o utilizador tenha um vislumbre rápido das funcionalidades, aparência, etc. da aplicação.

Quando é apresentada mais do que uma captura de ecrã no ficheiro de metainformação da aplicação, o Software apresentará as capturas de ecrã num carrossel.

Nos casos em que o ficheiro de metainformação da aplicação não contenha nenhuma captura de ecrã, será apresentado um ícone como o seguinte com a descrição Sem capturas de ecrã:

O ícone pode ter um aparência diferente caso esteja a utilizar um tema de ícones personalizado.

As capturas de ecrã podem tornar-se desatualizadas à medida que a IU da aplicação se modifica. Por isso, mesmo que o Software apresente capturas de ecrã para uma aplicação, é importante verificar se as mesmas se encontram atualizadas ou não.

É possível melhorar as informações da captura de ecrã da aplicação:

Barra de contexto da aplicação

No Software, a barra de contexto da aplicação é uma coleção de blocos na página de detalhes de uma aplicação, a qual apresenta os seguintes detalhes.

Isto apresenta a barra de contexto da aplicação para o Software:

Os blocos são apresentados pela ordem listada acima (a começar pelo bloco Armazenamento à esquerda).

Cada bloco possui os detalhes descritos abaixo:

Armazenamento

O Software apresenta um bloco de armazenamento na página de detalhes de uma aplicação. Caso a aplicação não se encontre instalada, isto apresenta o tamanho estimado da transferência necessário para a instalar. Caso a aplicação se encontre instalada, apresenta o espaço em disco utilizado pela aplicação.

Os tamanhos são calculados a partir dos dados fornecidos pelo backend do Software (tal como o flatpak ou o RPM) e não não especificados nos metadados fornecidos pela aplicação. Não há nada que possa fazer para alterar este bloco através da edição do ficheiro de metainformação da aplicação. Encontra-se listado aqui para fins de integridade.

Segurança

O Software apresenta um bloco de segurança na página de detalhes de uma aplicação. Isto resume a informação sobre se a aplicação pode ser considerada segura para instalação e execução, ou se é necessário ter cuidado antes de confiar nela.

Este bloco combina informação acerca das permissões que a aplicação solicita aquando da sua execução (tais como permissões para ler os seus ficheiros), com informação acerca de como a aplicação foi desenvolvida. As aplicações de software livre, onde o código-fonte é publicamente legível, podem ser mais seguras do que as proprietárias, uma vez que podem ser auditadas.

A caixa de diálogo que surge ao clicar sobre o bloco lista as diferentes permissões que a aplicação solicita, além de alguma informação acerca da sua licença e do tempo de execução.

É possível melhorar as informações de segurança:

Suporte a hardware

O Software apresenta um bloco de suporte a hardware na página de detalhes de uma aplicação. Isto combina informações acerca dos requisitos de hardware da aplicação, e os recursos de hardware do computador, com o objetivo de destacar incompatibilidades ou requisitos ausentes — ou para indicar que a aplicação deve funcionar corretamente sem incompatibilidades.

O código analisa o seguinte hardware. No futuro, pode ser suportado mais.

  • Se um touchpad, rato ou teclado está presente/é necessário

  • Se é necessário um comando para jogos

  • O tamanho mínimo e recomendado de exibição para o qual a aplicação pode ser dimensionada

Não é possível detetar com segurança se um comando para jogos se encontra presente, uma vez que geralmente são deixados desligados por não serem necessários na utilização normal do computador.

A caixa de diálogo que surge quando o bloco é clicado lista os diferentes requisitos de hardware da aplicação e se algum deles não foi respeitado.

É possível melhorar as informações de hardware:

Classificação etária

O Software apresenta um bloco de classificação etária na página de detalhes de uma aplicação. Isto apresenta informação acerca da faixa etária para a qual a aplicação deve ser considerada adequada, com base em diferentes tipos de conteúdo que a mesma declare possuir. Esta informação encontra-se resumida num formato semelhante ao dos certificados de classificação de filmes ou jogos do seu país.

Por exemplo, irá destacar se um jogo contém violência ou se uma aplicação possui publicidade incorporada.

A caixa de diálogo que surge quando o bloco é clicado lista os diferentes tipos de conteúdo da aplicação e a sua gravidade.

É possível melhorar as informações de classificação etária

Licença

O Software apresenta um bloco que indica se uma aplicação é software livre ou se a sua licença é proprietária, especial ou desconhecida. Este bloco inclui informação mais detalhada acerca da licença do projeto. Lista igualmente alguns dos benefícios do software livre. Saiba mais

Por vezes, a informação da licença de uma aplicação não se encontra correta, pelo que uma aplicação de software livre pode surgir como sendo "proprietária". Pelo mesmo motivo, a informação pode ser desconhecida.

O Software destaca as licenças de software livre e de código-fonte aberto a verde, as proprietárias e as licenças especiais a amarelo, conforme apresentado aqui. As licenças desconhecidas são destacadas a cinzento.

É possível adicionar ou melhorar as informações de licenciamento:

De onde vêm os metadados

Os metadados utilizados para especificar o hardware exigido por um determinado software, a classificação etária e os fatores que contribuem para a definição da segurança de instalação vêm do ficheiro de metainformação desse software.

O ficheiro de metainformação é um ficheiro XML. O seu formato encontra-se especificado na especificação AppStream.

Consulte o ficheiro de metainformação para a aplicação Ficheiros do GNOME.

appdata é o termo mais antigo para metainformação.

O que acontece se os metadados estiverem ausentes

Caso algum metadado se encontre em falta para a aplicação, o Software apenas pode adivinhar qual será, pelo que não será capaz de apresentar muita informação na sua interface. Estas inferências são baseadas no facto de muito software ser desenhado para computadores desktop.

É possível ajudar a melhorar os metadados de uma aplicação!

Como contribuir com informações ausentes

Caso considere que a página de uma aplicação possui informação em falta ou incorreta, pode contribuir de uma ou duas maneiras:

  1. Pode reportar os metadados em falta/incorretos no tracker de erros da respectiva aplicação, para que o seu criador os possa corrigir.

  2. Pode corrigir os metadados em falta/incorretos. Consulte o guia de Como o fazer apresentado abaixo.

Em ambas as situações, primeiro terá de encontrar a página do projeto da aplicação. A ligação para a página do projeto deve estar normalmente disponível na página da aplicação conforme apresentado aqui. Caso contrário, terá de a encontrar através de uma simples pesquisa no Google.

Normalmente, as aplicações são alojadas noGitLab ou no GitHub. Por exemplo, as aplicações do GNOME são alojadas em gitlab.gnome.org.

Como adicionar capturas de ecrã de aplicações ausentes

As informações de captura de ecrã de uma aplicação são armazenadas no elemento <screenshots> dentro do <component> da aplicação no seu ficheiro de metainformação.

O número recomendado de capturas de ecrã para uma aplicação é entre 5 e 10. Idealmente, as capturas de ecrã devem estar no formato PNG com proporção de 16:9 e largura mínima de 620 pixeis.

Por exemplo, aqui estão as entradas de captura de ecrã para a aplicação Software:

<screenshots>
  <screenshot type="default">
    <image>https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-overview.png</image>
    <caption>Overview panel</caption>
  </screenshot>
  <screenshot>
    <image>https://gitlab.gnome.org/GNOME/gnome-software/raw/HEAD/data/metainfo/ss-details.png</image>
    <caption>Details panel</caption>
  </screenshot>
</screenshots>

Como corrigir informações incorretas de segurança e permissões

As informações de segurança e permissões de uma aplicação provêm de diferentes fontes, dependendo de como a aplicação é empacotada. Por exemplo, para aplicações tradicionalmente empacotadas nos formatos RPM ou DEB, não existem informações de segurança ou permissões disponíveis e não há nada que possa ser feito para as adicionar à aplicação.

Para aplicações de flatpak, a informação provém domanifesto flatpak da aplicação, o qual especifica que buracos no isolamento (sandbox) são exigidos pela aplicação. Geralmente, cada um destes buracos contribui para reduzir o nível de segurança apresentado para a aplicação no Software — passando de "seguro" para "potencialmente inseguro" e, por fim, para "inseguro".

De forma a melhorar o nível de segurança de uma aplicação, o seu isolamento deve ser tão limitado quanto possível, através da remoção das permissões do isolamento onde não são necessárias e da utilização de portais ao invés de permissões de isolamento quando possível. A utilização de portais não diminui o nível de segurança apresentado para uma aplicação no Software.

Por exemplo, caso a aplicação exija acessos de leitura/escrita a todo o sistema de ficheiros (--filesystem=host), precisará mesmo disso ou apenas necessita de aceder a ficheiros presentes em localizações específicas? Nesse caso, o portal de ficheiros pode ser utilizado ou podem ser especificadas permissões do sistema de ficheiros mais específicas.

Caso a aplicação funcione no Wayland e apenas necessite de funcionar no X11 como alternativa, pode utilizar o --socket=fallback-x11 em vez do --socket=x11 sem utilizar funcionalidades especiais do X11?

Aqui podem ser adicionadas orientações sobre permissões específicas ou outros formatos de empacotamento no futuro.

Leitura adicional:

Como adicionar informações de hardware ausentes

As informações de hardware de uma aplicação são armazenadas nos elementos <requires>, <recommends> e <supports> dentro do <component> da aplicação no seu ficheiro de metainformação.

O Software compreende os elementos <control> e <display_length>.

Consulte este entrada do blogue ou esta entrada do blogue para exemplos de metadados.

Como adicionar informações de classificação de conteúdo ausentes

As informações de classificação de conteúdo de uma aplicação são armazenadas no elemento <content_rating> dentro do <component> da aplicação no seu ficheiro de metainformação.

As aplicações devem utilizar o padrão OARS 1.1 no preenchimento deste elemento. Caso o elemento <content_rating> não seja especificado, a classificação de conteúdo da aplicação será desconhecida. Caso seja especificado mas fique vazio, a aplicação não possui conteúdo que possa ser desadequado para qualquer público.

Utilize o gerador de OARS para produzir informações de classificação de conteúdo adequadas para uma aplicação.

Como corrigir informações de licenciamento incorretas

As informações de licenciamento de uma aplicação são armazenadas no elemento <project_license> dentro do <component> da aplicação no seu ficheiro de metainformação.

O conteúdo neste elemento deve ser uma expressão SPDX que descreva a licença "principal" para o projeto. Normalmente, deve ser a licença do código e não incluir a licença da documentação ou conteúdo auxiliar.

Caso a expressão SPDX seja uma licença única, ou uma combinação de várias licenças, todas elas aprovadas pela FSF ou pela OSI, a aplicação é considerada "software livre" e o bloco de licença menciona-o. Caso contrário, é considerada "proprietária".

Caso uma aplicação seja apresentada como "proprietária" e considere que não o é, é provável que o elemento <project_license> inclua a licença de documentação para o projeto. Remova-o.

Por exemplo , altere os metadados da licença de:

<project_license>GPL-2.0+ and CC-BY-SA-3.0</project_license>

para

<project_license>GPL-2.0+</project_license>

Leitura adicional: