A set of configuration files for pre-commit-license-check
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

3.0 KiB



Checking the licenses of your open source dependencies is important. But the necessary collection is something that you don't want to do again for each project.

To simplify this, codecentric collects a central list of licenses that can be used for specific purposes. This list is provided as an external configuration file for kontrolilo which can be used by pre-commit.

This repository does not contain any legal advice which licenses can be used for which purposes. Please check the list before using it. You have been warned.


Setup pre-commit

To use this make sure, you have pre-commit installed.

When setting a new project, create a new file called .pre-commit-config.yaml that contains at least the following hooks:

  - repo: https://github.com/nbyl/pre-commit-license-checks
    rev: v1.3.1
      - id: license-check-npm
      - id: license-check-pipenv

Afterwards, you can setup your local git hooks using:

pre-commit install

From now on, alle your git commits will be checked locally with the configured hooks.

Setup license list

To use the external license list, create a file .license-check.yaml next to your package manager file:

- url: https://raw.githubusercontent.com/nbyl/license-check-config/main/categories/$CATEGORY/$FILE

Replace $CATEGORY with a license category according to this table:

$FILE Description
proprietary-use All licenses that can be used without restrictions even within proprietary products (e.g. BSD, Apache, ...)
open-source Licenses that are suitable for open source development.
gnu-gpl-compatible License compatible with the GNU GPL according to the official list

Replace $FILE with the file for your supported package manager according to this table:

Package Manager Package Manager File $FILE
npm package.json license-check-npm.yaml
pipenv Pipfile license-check-python.yaml


If you want to update the list of allowed licenses, please edit the corresponding configuration file and submit a pull request.