Skip to main content

Configurando políticas de licença código aberto

Crie e aplique políticas de licença de código aberto para controlar quais licenças suas dependências podem usar.

Quem pode usar esse recurso?

Organizations owned by a GitHub Enterprise account with GitHub Code Security enabled

Observação

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

Pré-requisitos

Antes de configurar as políticas de licença, verifique se:

  • Sua organização tem GitHub Code Security
  • Você tem acesso para gerenciar a política corporativa ou de organização e conjuntos de regras
  • O grafo de dependência está habilitado para repositórios que você deseja avaliar

Sobre a conformidade da licença

A conformidade de licença de software livre permite definir uma política que especifica quais licenças suas dependências têm permissão para usar.

Quando a política é imposta com conjuntos de regras, GitHub avalia solicitações de pull que alteram manifestos de pacote, verifica dependências diretas e transitivas e compara licenças detectadas com sua política. As solicitações pull com dependências não compatíveis permanecem bloqueadas até que as violações sejam resolvidas.

As violações normalmente são resolvidas por:

  • Atualizando a solicitação de pull para usar dependências em conformidade
  • Aprovando uma exceção para um pacote ou licença
  • Atualizando a política para permitir uma licença quando apropriado

Criar uma política de licença

  1. Navegue até sua empresa. Por exemplo, na página Enterprises em GitHub.com.
  2. Na parte superior da página, clique em Políticas.
  3. Na barra lateral, clique em Conformidade de licença.
  4. Clique em Política padrão.
  5. Na página Editar política de licença , clique em Adicionar licenças e escolha Selecionar na lista.
  6. No seletor de licenças, selecione as licenças que você deseja permitir. As licenças nesta lista são categorizadas com base em seu nível de risco geral para uso em ambientes corporativos, mas isso é puramente informativo e não constitui consultoria jurídica. Sempre verifique com a equipe jurídica da sua organização as diretrizes de política.
  7. Salve suas alterações.

Como alternativa, se você tiver uma política de licença existente de outra ferramenta, poderá importá-la como uma lista de expressões SPDX.

  1. Na página Editar política de licença , clique em Adicionar licenças e escolha Entrada manual.
  2. Insira um ou mais identificadores de licença SPDX, cada um em uma nova linha.
  3. Salve suas alterações.

As licenças que você adiciona formam sua política de linha de base. Posteriormente, você pode adicionar exceções no nível do pacote ao lidar com alertas.

Configurar o acesso para Os Gerentes de Licenças do Enterprise Open Source

  1. Navegue até sua empresa. Por exemplo, na página Enterprises em GitHub.com.
  2. Na parte superior da página, clique em Pessoas.
  3. Na barra lateral esquerda, clique em funções da Enterprise.
  4. Clique em atribuições de função.
  5. Clique em Atribuir função.
  6. Selecione a função Enterprise Open Source License Manager .
  7. Escolha um usuário ou equipe para atribuir a função.
  8. Clique em Atribuir função.

Atribuir essa função também inscreve os revisores para receber notificações sobre solicitações de dispensa, para que possam responder a elas rapidamente.

Opcionalmente, use propriedades personalizadas para controlar a distribuição por repositório

Se você quiser a distribuição gradual, use uma propriedade personalizada do repositório para controlar se cada repositório está inativo, avaliado ou no modo de imposição ativa.

  1. Em GitHub, acesse a página principal da organização.

  2. No nome da organização, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela das guias no perfil de uma organização. A guia "Configurações" está contornada em laranja escuro.

  3. Na barra lateral esquerda, na seção "Code, planning, and automation", clique em Repository e, em seguida, em Custom properties.

    Captura de tela da página de configurações de uma organização. Na barra lateral, um link rotulado "Propriedades personalizadas" fica contornado em laranja.

  4. Crie uma propriedade personalizada de repositório de seleção única, por exemplo open_source_license_compliance.

  5. Adicionar valores para inactive, evaluatee active.

  6. Defina o valor padrão como inactive.

  7. Decida quem pode alterar o valor da propriedade.

  8. Atribua valores de propriedade aos repositórios com base na sua fase de implantação.

Aplicar políticas em pull requests usando conjuntos de regras

Sugerimos a criação de dois conjuntos de regras, um para o modo Avaliar e outro para o modo Ativo . Se você criou propriedades personalizadas para controlar a distribuição, poderá direcionar essas propriedades aqui.

  1. Vá para a página dos conjuntos de regras do escopo em que você deseja a aplicação.

  2. Crie um conjunto de regras de ramificação.

  3. No nome do conjunto de regras, defina o status de imposição:

    • Para seu primeiro conjunto de regras, selecione Avaliar.
    • Para seu segundo conjunto de regras, selecione Ativo.
  4. Escolha como direcionar repositórios:

    • Se você usar propriedades personalizadas, direcione por open_source_license_compliance:
      • Para o conjunto de regras do modo de avaliação, direcione os repositórios em que o valor da propriedade seja evaluate.
      • Para o conjunto de regras do modo ativo, selecione os repositórios de destino cujo valor da propriedade seja active.
    • Se você não usar propriedades personalizadas, direcione repositórios por padrão de repositório ou seleção explícita de repositório.
  5. Habilitar Exigir resultados de conformidade de licença antes da mesclagem.

  6. Salve suas alterações.

Para obter mais informações sobre conjuntos de regras, consulte Sobre os conjuntos de regras e Criar conjuntos de regras para repositórios na sua organização.

Testar a aplicação de política

  1. Em um repositório de destino, abra uma solicitação de pull que altera os manifestos de dependência.
  2. Confirme se as anotações do pull request exibem os resultados de conformidade da licença.
  3. Se uma dependência violar a política, examine o alerta gerado e solicite a demissão se uma exceção for necessária.

Quando as violações não são resolvidas, a solicitação de pull permanece bloqueada.

Examinar e manipular solicitações de exceção

  1. Como gerente de licenças de código aberto da empresa, abra a lista de solicitações pendentes de alerta de licença nas visualizações de segurança da empresa.
  2. Examine cada solicitação e decida se a nega ou aprova.
  3. Se você aprovar, escolha se a exceção deve se aplicar a um pacote, uma licença ou um padrão de pacote.
  4. Escolha se deseja aplicar a exceção no escopo do repositório ou no escopo da empresa.
  5. Salve a exceção.

Depois que uma solicitação é aprovada, o alerta é fechado e a solicitação de pull é desbloqueada, desde que nenhuma outra verificação necessária esteja falhando.

Examinar a política efetiva para um repositório

  1. Em GitHub, acesse a página principal do repositório.

  2. No nome do repositório, clique em Settings. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na barra lateral, em "Segurança", clique em Política de Licença.

  4. Examine a política combinada e o conjunto de exceções em vigor para esse repositório.

  5. Atualize a política de nível empresarial ou de repositório conforme necessário.

Leitura adicional