Como o GitHub mantém a conformidade de suas dependências open source
Aprofundamento CEVIU
Aprofundamento
O GitHub mantém a conformidade de suas dependências open source com uma combinação de política centralizada, automação nativa e atuação do Open Source Program Office (OSPO). Desde 2026, o OSPO usa oficialmente o recurso GitHub License Compliance, disponível para clientes do GitHub Advanced Security (GHAS), como substituto das ferramentas internas anteriores. O sistema opera via rulesets que aplicam políticas de licenças em nível organizacional, usando identificadores SPDX, e dispara varreduras automaticamente em pull requests que alteram dependências, analisando tanto dependências diretas quanto transitivas no grafo de dependências.
O modo de operação inicial foi o "Evaluate", que gera alertas sem bloquear merges, permitindo adoção gradual e validação cruzada com as ferramentas antigas. Hoje, o modo "Active" é usado em repositórios críticos, impedindo a mesclagem de pacotes com licenças não autorizadas ou sem exceção explícita. Exceções podem ser concedidas por pacote (com suporte a wildcards como @github-ui/*) ou por licença, em escopo empresarial ou por repositório, o que permite flexibilidade para casos como softwares comerciais licenciados por equipe específica.
Por que isso importa
Essa abordagem evita riscos jurídicos reais: usar uma dependência sob licença GPL-3.0 em um produto fechado, por exemplo, pode exigir divulgação do código-fonte proprietário. Para empresas que distribuem software comercial, isso representa exposição a litígios e danos reputacionais. A detecção precoce na PR reduz drasticamente o custo de correção, remover uma dependência problemática após o deploy exige refatoração, testes e revisão legal, enquanto na fase de contribuição é uma decisão técnica imediata. Além disso, o uso de SPDX como padrão garante compatibilidade com outras ferramentas de SBOM e compliance, como Syft, Trivy e FOSSA.
Impacto para desenvolvedores
Para desenvolvedores, o fluxo se tornou visível mas não intrusivo: alertas aparecem diretamente na pull request com links para a licença, o pacote e o contexto da violação. Não há necessidade de rodar ferramentas externas nem consultar planilhas, tudo está integrado ao ciclo de CI/CD. Se o desenvolvedor considera a dependência essencial, ele abre uma solicitação de exceção com um clique; o time de política do OSPO responde em média em menos de duas horas, graças à notificação por e-mail e dashboard de backlog. Isso transforma uma tarefa jurídica em um passo colaborativo dentro do fluxo de engenharia, sem desacelerar entregas nem comprometer a governança.
Perguntas frequentes
O que é o GitHub License Compliance?
É um recurso nativo do GitHub Advanced Security (GHAS) que verifica, em tempo real nas pull requests, se novas dependências, diretas ou transitivas, estão em conformidade com a política de licenças definida pela organização. Ele usa identificadores SPDX e opera via rulesets configuráveis nos modos "Evaluate" (alerta sem bloqueio) ou "Active" (bloqueia merge se houver violação).
Como o GitHub License Compliance lida com dependências transitivas?
O recurso analisa o grafo de dependências completo ao processar uma pull request, identificando não só as dependências declaradas diretamente (ex.: em package.json ou requirements.txt), mas também todas as dependências transitivas que elas carregam. Cada licença nessa cadeia é comparada contra a política definida, gerando alertas específicos para cada pacote não conforme.
Quais licenças são permitidas por padrão no GitHub License Compliance?
Não há lista fixa de licenças 'permitidas por padrão'. O GitHub partiu de sua própria política interna, inicialmente baseada em licenças permissivas como MIT, Apache-2.0 e BSD-3-Clause. Cada organização define sua política com base em seus critérios, por exemplo, evitar GPL-3.0 em produtos fechados. A configuração usa identificadores SPDX oficiais, que cobrem cerca de 250 licenças reconhecidas.
O GitHub License Compliance é gratuito?
Não. O recurso está disponível exclusivamente para clientes com assinatura do GitHub Advanced Security (GHAS), seja em planos enterprise ou como add-on em contas organizacionais. Não faz parte do GitHub Free, Team ou Pro. Sua ativação exige configuração manual de rulesets e políticas de licença pelo administrador da organização.
Fontes
- github.blogfonte original
- Categoria
- CEVIU DevOps
- Publicado
- 30 de junho de 2026
- Editoria
- CEVIU DevOps

