Skip to main content

Настройка политик лицензий открытый код

Создавайте и обеспечивайте соблюдение лицензионных политик открытый код, чтобы контролировать, какие лицензии ваши зависимости могут использовать.

Кто может использовать эту функцию?

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

Примечание.

Соблюдение лицензий с открытым исходным кодом находится в Публичный предварительный просмотр норме и может измениться.

Prerequisites

Перед настройкой лицензионных политик убедитесь, что:

  • Ваша организация GitHub Code Security
  • У вас есть доступ к управлению корпоративными политиками и наборами правил
  • Граф зависимостей включён для репозиториев, которые вы хотите оценить

О соблюдении лицензий

Соблюдение лицензий с открытым исходным кодом позволяет определить политику, которая определяет, какие лицензии разрешены использовать ваши зависимости.

Когда политика применяется с помощью наборов правил, GitHub он оценивает pull request, меняющие манифесты пакетов, проверяет прямые и транзитивные зависимости, а также сравнивает обнаруженные лицензии с вашей политикой. Pull requests с несоответствующими зависимостями остаются заблокированными до устранения нарушений.

Нарушения обычно решаются следующим образом:

  • Обновление pull request-запроса для использования соответствующих зависимостей
  • Утверждение исключения для пакета
  • Обновление политики с целью получения лицензии при необходимости

Создание лицензионной политики

  1. Перейдите к своему предприятию. Например, на странице Enterprises на GitHub.com.
  2. В верхней части страницы нажмите «Политики».
  3. В боковой панели нажмите «Соответствие лицензии».
  4. Нажмите «Политика по умолчанию».
  5. На странице политики «Редактировать лицензию » нажмите « Добавить лицензии » и выберите выбрать из списка.
  6. Из выборщика лицензий выберите лицензии, которые хотите разрешить. Лицензии в этом списке классифицируются по их общему уровню риска использования в корпоративных условиях, но это чисто информационная и не является юридической консультацией. Всегда консультируйтесь с юридической командой вашей организации за рекомендациями по политике.
  7. Сохраните свои изменения.

Или, если у вас уже есть лицензионная политика другого инструмента, вы можете импортировать её в виде списка выражений SPDX.

  1. На странице «Редактировать лицензионную политику » нажмите « Добавить лицензии » и выберите «Ручной ввод».
  2. Введите один или несколько идентификаторов лицензии SPDX, каждый из которых находится на новой строке.
  3. Сохраните свои изменения.

Лицензии, которые вы добавляете, составляют вашу базовую политику. Позже можно добавить исключения на уровне пакета при обработке оповещений.

Настройка доступа для корпоративных менеджеров лицензий с открытым исходным кодом

  1. Перейдите к своему предприятию. Например, на странице Enterprises на GitHub.com.
  2. В верхней части страницы нажмите «Люди».
  3. В левой боковой панели нажмите «Корпоративные роли».
  4. Нажмите «Распределение ролей».
  5. Нажмите Назначить роль.
  6. Выберите роль менеджера корпоративных лицензий с открытым исходным кодом .
  7. Выберите пользователя или команду для назначения этой роли.
  8. Нажмите Назначить роль.

Назначение этой роли также позволяет рецензентам запрашивать уведомления, чтобы они могли быстро отвечать на запросы об увольнении.

Опционально используйте пользовательские свойства для управления развертыванием каждого репозитория

Если хотите постепенное внедрение, используйте пользовательское свойство репозитория, чтобы контролировать, находится ли каждый репозиторий в режиме неактивного, оценивающего или активного принуждения.

  1. На GitHubперейдите на главную страницу организации.

  2. Под именем организации щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: вкладки в профиле организации. Вкладка "Параметры" выделена темно-оранжевым цветом.

  3. В левой боковой панели в разделе "Код, планирование и автоматизация" щелкните Репозиторий, а затем выберите "Настраиваемые свойства".

    Снимок экрана: страница параметров организации. На боковой панели ссылка с меткой "Настраиваемые свойства" описывается оранжевым цветом.

  4. Создайте пользовательское свойство репозитория с одним выбором, например open_source_license_compliance.

  5. Добавьте значения для inactive, evaluate, и active.

  6. Установите значение по умолчанию на inactive.

  7. Решите, кто может изменить стоимость недвижимости.

  8. Присваивайте значения свойств репозиториям в зависимости от их этапа внедрения.

Применяйте политику в pull requests с помощью наборов правил

Мы предлагаем составить два набора правил: один для режима Оценки , другой для Активного режима. Если вы создали пользовательские свойства для управления развертыванием, вы можете таргетировать эти свойства здесь.

  1. Перейдите на страницу с наборами правил, чтобы узнать, где требуется применение применения.

  2. Создайте набор правил для ветвления.

  3. Под названием набора правил установите статус Enforce:

    • Для первого набора правил выберите «Оценить».
    • Для второго набора правил выберите «Активно».
  4. Выберите способ таргетирования репозиториев:

    • Если вы используете пользовательские свойства, таргетируйте по open_source_license_complianceследующим параметрам:
      • Для набора правил в режиме оценки целевые репозитории, где значение свойства равно evaluate.
      • Для набора правил активного режима целевые репозитории, где значение свойства равно active.
    • Если вы не используете пользовательские свойства, выбирайте репозитории по шаблону репозитория или явному выбору репозитория.
  5. Включить Потребовать результаты соответствия лицензии перед слиянием.

  6. Сохраните свои изменения.

Для получения дополнительной информации о наборах правил смотрите Сведения о наборе правил и Создание наборов правил для репозиториев в организации.

Проверка применения политики

  1. В целевом репозитории откройте pull request, который меняет манифесты зависимостей.
  2. Убедитесь, что аннотации pull request показывают результаты соответствия лицензии.
  3. Если зависимость нарушает политику, проверьте сгенерированное оповещение и запросите отклонение, если требуется исключение.

Когда нарушения не разрешены, запрос на выбывание остаётся заблокированным.

Проверка и обработка запросов исключений

  1. В качестве менеджера корпоративных лицензий с открытым исходным кодом, откройте список ожидающих запросов оповещений о лицензиях в ваших корпоративных видах безопасности.
  2. Изучите каждую заявку и решите, отклонять или одобрить.
  3. Если вы одобряете, выберите вопрос, должно ли исключение применяться к пакету, лицензии или шаблону пакета.
  4. Выбирайте, применять ли исключение в области репозитория или корпоративного масштаба.
  5. Оставьте исключение.

После одобрения запроса оповещение закрывается, а pull request разблокируется, если другие необходимые проверки не проходят.

Пересмотр эффективной политики для репозитория

  1. На GitHubперейдите на главную страницу репозитория.

  2. Под именем репозитория щелкните Settings. Если вкладка "Параметры" не отображается, выберите раскрывающееся меню и нажмите кнопку "Параметры".

    Снимок экрана: заголовок репозитория с вкладками. Вкладка "Параметры" выделена темно-оранжевым контуром.

  3. В боковой панели, в разделе «Безопасность», нажмите Политика лицензии.

  4. Ознакомьтесь с совокупной политикой и набором исключений, действующими для этого репозитория.

  5. Обновляйте политику на уровне предприятия или репозитория по мере необходимости.

Дополнительные материалы