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

Проект Python

Я обнаружил, что pip-licenses очень удобны для генерации легко читаемых деталей лицензий обо всех зависимостях, которые у нас есть в pip.

pip-licenses --from-classifier --with-urls --with-system --format=markdown

что приведет, например, к правильной уценке. Пример:

| Name   | Version | License |
|--------|---------|---------|
| Django | 2.0.2   | BSD     |
| pytz   | 2017.3  | MIT     |

Доступны различные варианты и подробности их использования описаны здесь.

Проект JavaScript

Существует огромный список инструментов для удовлетворения наших потребностей с различными стилями вывода, настройками, конфигурациями и т. Д. Инструменты, которые я нашел полезными:

лицензионер

  • Формат вывода очень простой. Иногда нам может понадобиться расширенный формат.
  • Не много подробных полей. Очень минималистичный

законно

  • Формат вывода выглядит очень аккуратно.
  • Легко для просмотра пользователями управления.
  • Доступны более подробные поля
  • Постепенно привлекает внимание сообщества. На момент написания 245 звезд на Github.
  • Невозможно фильтровать только зависимости от продуктов.

лицензионный отчет

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

Чтобы сгенерировать сведения о лицензии на зависимость, используя юридически

npx legally --show licenses

это сгенерирует подробную информацию о лицензии для всего проекта, например:

Чтобы сгенерировать детали лицензии для конкретного модуля зависимостей:

npx legally --show packages

Это сгенерирует что-то вроде этого:

Сгенерировать с помощью «отчета о лицензии»

Мне нравится возможность показывать только лицензии для производственных зависимостей. Команда для генерации производственных зависимостей и лицензий:

license-report --output=csv --only=prod --csvHeaders

license-report предоставляет другие форматы вывода (таблица, json и т. д.), а также возможность просмотра лицензий и зависимостей разработчиков. Пожалуйста, перейдите по ссылкам ниже для получения подробных советов по настройке.

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

Ссылки на вышеупомянутые инструменты