Nota:
El cumplimiento de las licencias de código abierto se encuentra en versión preliminar pública y está sujeto a cambios.
Prerrequisitos
Antes de configurar las directivas de licencia, asegúrese de que:
- Su organización tiene GitHub Code Security
- Tiene acceso para gestionar la política empresarial y los conjuntos de reglas.
- El gráfico de dependencias está habilitado para los repositorios que desea evaluar
Acerca del cumplimiento de licencias
El cumplimiento de licencias de código abierto permite definir una directiva que especifica qué licencias pueden usar las dependencias.
Cuando la directiva se aplica con conjuntos de reglas, GitHub evalúa las solicitudes de extracción que modifican los manifiestos de paquetes, comprueba las dependencias directas y transitivas, y compara las licencias detectadas con la directiva. Las solicitudes de incorporación de cambios con dependencias no conformes permanecen bloqueadas hasta que se resuelvan las infracciones.
Normalmente, las infracciones se resuelven mediante:
- Actualizar la pull request para usar dependencias conformes
- Aprobación de una excepción para un paquete
- Actualización de la directiva para permitir una licencia cuando corresponda
Creación de una directiva de licencia
- Vaya a su empresa. Por ejemplo, desde la página Empresas en GitHub.com.
- En la parte superior de la página, haga clic en Directivas.
- En la barra lateral, haga clic en Cumplimiento de licencias.
- Haga clic en Directiva predeterminada.
- En la página Editar directiva de licencia , haga clic en Agregar licencias y elija Seleccionar en la lista.
- En el selector de licencias, seleccione las licencias que desea permitir. Las licencias de esta lista se clasifican en función de su nivel de riesgo general para su uso en entornos corporativos, pero esto es meramente informativo y no constituye asesoramiento legal. Consulte siempre con el equipo legal de su organización para obtener instrucciones sobre directivas.
- Guarde los cambios.
Como alternativa, si tiene una directiva de licencia existente de otra herramienta, puede importarla como una lista de expresiones SPDX.
- En la página Editar directiva de licencia , haga clic en Agregar licencias y elija Entrada manual.
- Escriba uno o varios identificadores de licencia de SPDX, cada uno en una nueva línea.
- Guarde los cambios.
Las licencias que añada forman la directiva base. Más adelante puede agregar excepciones de nivel de paquete al controlar alertas.
Configuración del acceso para administradores de licencias de código abierto enterprise
- Vaya a su empresa. Por ejemplo, desde la página Empresas en GitHub.com.
- En la parte superior de la página, haga clic en Personas.
- En la barra lateral izquierda, haga clic en Roles empresariales.
- Haga clic en Asignaciones de roles.
- Haga clic en Asignar rol.
- Seleccione el rol Administrador de licencias de código abierto de empresa .
- Elija un usuario o equipo al que asignar el rol.
- Haga clic en Asignar rol.
La asignación de este rol también inscribe a los revisores en las notificaciones de solicitudes de desestimación para que puedan responder con rapidez.
Opcionalmente, use propiedades personalizadas para controlar la implementación por repositorio.
Si desea un lanzamiento gradual, use una propiedad personalizada del repositorio para controlar si cada repositorio está inactivo, evaluar o activar el modo de cumplimiento.
-
En GitHub, navega a la página principal de tu organización.
-
Debajo del nombre de la organización, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

-
En la barra lateral izquierda, en la sección "Code, planning, and automation", haz clic en Repository y, luego, haz clic en Custom properties.

-
Cree una propiedad personalizada de repositorio de selección única, por ejemplo
open_source_license_compliance. -
Agregue valores para
inactive,evaluateyactive. -
Establezca el valor predeterminado en
inactive. -
Decida quién puede cambiar el valor de la propiedad.
-
Asigne valores de propiedad a repositorios en función de su fase de lanzamiento.
Aplicar políticas en solicitudes de incorporación de cambios con conjuntos de reglas
Se recomienda crear dos conjuntos de reglas, uno para el modo Evaluar y otro para el modo Activo . Si ha creado propiedades personalizadas para controlar el lanzamiento, puede tener como destino esas propiedades aquí.
-
Vaya a la página de conjuntos de reglas del ámbito en el que desea aplicar la directiva.
-
Cree un conjunto de reglas de rama.
-
En el nombre del conjunto de reglas, establezca Estado de cumplimiento:
- En el primer conjunto de reglas, seleccione Evaluar.
- En el segundo conjunto de reglas, seleccione Activo.
-
Elija cómo dirigirse a los repositorios:
- Si usa propiedades personalizadas, use
open_source_license_compliancepara seleccionar el destino:- Para el conjunto de reglas en modo de evaluación, seleccione los repositorios de destino en los que el valor de la propiedad sea
evaluate. - Para el conjunto de reglas en modo activo, diríjase a los repositorios de destino donde el valor de la propiedad sea
active.
- Para el conjunto de reglas en modo de evaluación, seleccione los repositorios de destino en los que el valor de la propiedad sea
- Si no usa propiedades personalizadas, diríjase a los repositorios mediante un patrón de repositorio o una selección explícita de repositorios.
- Si usa propiedades personalizadas, use
-
Activar Exigir resultados de cumplimiento de licencias antes de fusionar.
-
Guarde los cambios.
Para obtener más información sobre los conjuntos de reglas, consulte Acerca de los conjuntos de reglas y Creación de conjuntos de reglas para repositorios de la organización.
Aplicación de directivas de prueba
- En un repositorio de destino, abra una solicitud de incorporación de cambios que cambie los manifiestos de dependencia.
- Confirme que las anotaciones de la pull request muestran los resultados de conformidad de licencias.
- Si una dependencia infringe la directiva, revise la alerta generada y solicite el descarte si se necesita una excepción.
Cuando las infracciones no están resueltas, la solicitud de incorporación de cambios permanece bloqueada.
Revisión y control de solicitudes de excepciones
- Como administrador de licencias de código abierto de empresa, abra la lista de solicitudes de alertas de licencia pendientes en las vistas de seguridad de la empresa.
- Revise cada solicitud y decida si desea denegarla o aprobarla.
- Si aprueba, elija si la excepción debe aplicarse a un paquete, una licencia o un patrón de paquete.
- Elija si desea aplicar la excepción en el ámbito del repositorio o en el ámbito de empresa.
- Guarde la excepción.
Una vez aprobada una solicitud, la alerta se cierra y se desbloquea la solicitud de incorporación de cambios, siempre que no se producen otras comprobaciones necesarias.
Revisión de una directiva efectiva para un repositorio
-
En GitHub, navegue hasta la página principal del repositorio.
-
Debajo del nombre del repositorio, haz clic en Settings. Si no puedes ver la pestaña "Configuración", selecciona el menú desplegable y, a continuación, haz clic en Configuración.

-
En la barra lateral, en "Seguridad", haga clic en Directiva de licencia.
-
Revise la directiva combinada y el conjunto de excepciones en vigor para ese repositorio.
-
Actualice la directiva de nivel empresarial o de nivel de repositorio según sea necesario.