# Sobre conformidade com licenças de código aberto

Defina e aplique a política de licenças para dependências em seus repositórios com conformidade com licenças de código aberto.

> \[!NOTE]
> A conformidade com a licença de código aberto está em prévia pública e sujeita a alterações.

## Overview

A conformidade de licenças de código aberto ajuda você a **rastrear as licenças das dependências** e **aplicar políticas** ao software de código aberto em sua cadeia de suprimentos. Você pode usar a conformidade de licença para reduzir o risco legal e operacional, capturando dependências não em conformidade **antes** que as alterações sejam mescladas.

## Como funciona a política de licença

Você pode definir uma política empresarial ou organizacional que controla quais licenças as dependências podem usar.

Você pode especificar licenças de uma lista interna ou, se uma licença não estiver listada, adicionando manualmente um identificador de licença SPDX.

Sua política é aplicada no escopo da empresa, da organização e do repositório. Você também pode adicionar exceções de pacote ou licença quando um **Enterprise Open Source License Manager** aprova solicitações.

A avaliação de licença usa dados de dependência de seus repositórios, incluindo dependências transitivas detectadas no grafo de dependência.

## Como funciona a imposição de solicitação de pull

A conformidade com licenças de código aberto é garantida por meio de conjuntos de regras de ramificação. Quando uma solicitação pull altera os manifestos do pacote, GitHub compara as alterações de dependência entre os branches de solicitação base e pull, avalia licenças detectadas em relação à política e relata violações.

Se houver um conjunto de regras no modo **Ativo** que use a condição "Requer resultados de conformidade de licença antes da mesclagem", as solicitações de pull que introduzem dependências não compatíveis serão bloqueadas até que as violações sejam resolvidas. Um conjunto de regras do modo **Avaliar** com essa condição executará verificações de licença e anotará a solicitação de pull, mas não bloqueará mesclagens.

Além disso, uma [regra de proteção de ramificação](/pt/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule) que exige a resolução dos comentários antes da mesclagem rastreará anotações das verificações de licença, de modo que até mesmo os alertas gerados por conjuntos de regras **Evaluate** estarão sujeitos à proteção.

## Onde os resultados são exibidos

Se a licença de uma dependência não estiver na sua política, os resultados aparecerão nas anotações da pull request. As anotações não geram automaticamente uma solicitação de exceção, pois o desenvolvedor pode decidir modificar seu código para evitar a dependência não compatível. Se realmente quiserem usar a dependência, GitHub solicitará ao desenvolvedor mais informações e, em seguida, enviará a solicitação de encerramento aos gerentes de licenças de código aberto da empresa, que têm permissão para modificar a política.

Para Os Gerentes de Licenças de Software Livre Corporativo, as solicitações de exceção pendentes estão disponíveis nas exibições de segurança da empresa e enviadas como notificações por email.

## Escopo e modelo de governança

Você pode criar uma política no escopo empresarial para uma baseline comum e, em seguida, adicionar exceções específicas de repositório, quando necessário.

Para grandes empresas, um padrão comum é:

* Definir uma política ampla centralmente
* Atribuir a função Enterprise Open Source License Manager aos revisores de política
* Usar uma propriedade personalizada do repositório para classificar repositórios como inativos, avaliados ou ativos
* Use conjuntos de regras que tenham como alvo os valores da propriedade personalizada para controlar o modo de aplicação para cada repositório

Desenvolvedores com permissão de gravação podem visualizar a política efetiva e as exceções de um repositório na página de configurações da política de licença do repositório.

## Próximas Etapas 

Para começar, consulte [Configurando políticas de licença código aberto](/pt/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-license-policies).

Para obter mais informações sobre os conjuntos de regras, confira [Sobre os conjuntos de regras](/pt/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets).