← Software e Ferramentas
NotíciaSoftware

GitHub torna geral o controlo empresarial de licenças antes de integrar código

Funcionalidade exige Enterprise Cloud e Code Security. Regras ativas podem bloquear alterações; o modo de avaliação assinala problemas.

2 minAtualizado
Partilhar
Ilustração conceptual gerada por IA: peças modulares de madeira e uma cancela metálica, metáfora de revisão de dependências e licenças de software.

O GitHub disponibilizou em 16 de outubro o controlo de conformidade de licenças open source para clientes Enterprise Cloud, incluindo instalações com residência de dados. A utilização num repositório exige GitHub Code Security.

Diagrama
Árvore esquemática: um projeto depende das bibliotecas A e B, e A depende de A1. As licenças reconhecidas no grafo são comparadas com a política. Para uma incompatibilidade, Evaluate gera anotação e Active bloqueia a integração. Outras regras podem exigir resolver as anotações.
A decisão depende das licenças detetadas e das regras configuradas. A verificação automatizada não substitui a apreciação jurídica de cada utilização. Radar Futuro

A decisão começa na dependência acrescentada

Quando uma proposta de alteração de código modifica os ficheiros que declaram dependências, o sistema compara as versões de base e de destino. As licenças detetadas são confrontadas com a política da organização.

Uma dependência é software de terceiros de que o projeto precisa para funcionar. Pode trazer outras dependências; a documentação inclui as transitivas detetadas no grafo do GitHub. A cobertura depende, portanto, da informação que esse grafo consegue reconhecer.

A política define licenças aceites e pode usar identificadores SPDX. Isso permite transformar uma orientação empresarial em verificações repetíveis no momento em que novas bibliotecas entram no projeto.

Assinalar uma infração e bloquear uma integração

Uma regra em modo Active, com a condição de conformidade de licenças, bloqueia propostas que introduzam dependências incompatíveis até serem resolvidas. Em modo Evaluate, a regra produz anotações sem impor esse bloqueio por si só.

Existe uma interação relevante: se outra regra de proteção exigir resolver comentários antes da integração, as anotações também terão de ser tratadas. A consequência depende da combinação das regras efetivamente configuradas.

O programador pode remover ou substituir a dependência. Uma exceção também pode ser solicitada ao responsável empresarial de licenças. A política central e as exceções tornam explícito quem decide aceitar um pacote fora da regra geral.

O que mudou desde a fase de teste

Além da disponibilidade geral, o anúncio inclui dados de licença para clientes com residência de dados, eventos no registo de auditoria e interfaces de programação para gerir políticas e verificar pacotes. Uma ferramenta automática pode consultar essas condições antes de sugerir uma biblioteca.

A verificação técnica confronta metadados com uma política escolhida pela organização. Não resolve, isoladamente, todas as questões jurídicas do uso, modificação ou distribuição de software.

O efeito prático é antecipar a discussão: em vez de descobrir uma incompatibilidade apenas no lançamento, a equipa pode identificá-la durante a revisão. A qualidade desse controlo continua a depender do inventário de dependências e de uma política adequada ao projeto.

Fontes
GitHub — disponibilidade geralGitHub Docs — conformidade e modos de aplicação