Время от времени нам нужно предоставить команде управления список библиотек, которые используются в проекте, с подробными сведениями о лицензии.
Проект 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 или аналоге, чтобы удалить ненужные поля.