Hello,
by accident I discovered that the switch --json used with reuse lint does not only provide the regular output in JSON format but also extend the content much more and provide detailed information about each file contained in the repo.
This is the regular output:
$ reuse lint
# ZUSAMMENFASSUNG
* Falsche Lizenzen: 0
* Veraltete Lizenzen: 0
* Lizenzen ohne Dateiendung: 0
* Fehlende Lizenzen: 0
* Unbenutzte Lizenzen: 0
* Verwendete Lizenzen: CC0-1.0, GPL-2.0-or-later, GPL-3.0-or-later, MIT
* Lesefehler: 0
* Invalid SPDX License Expressions: 0
* Files with copyright information: 367 / 367
* Files with license information: 367 / 367
Herzlichen Glückwunsch! Ihr Projekt ist konform mit Version 3.3 der REUSE-Spezifikation :-)
This is the same project but using JSON format.
$ reuse lint --json
{
"lint_version": "1.0",
"reuse_spec_version": "3.3",
"reuse_tool_version": "6.2.0",
"files": [
{
"path": "doc/manual/src/_images/light/settings_autoremove.png",
"copyrights": [
{
"value": "\u00a9 2024 Kosta Vukicevic (@stcksmsh)",
"source": "doc/manual/src/REUSE.toml",
"source_type": "reuse-toml"
}
],
"spdx_expressions": [
{
"value": "GPL-2.0-or-later",
"is_valid": true,
"source": "doc/manual/src/REUSE.toml",
"source_type": "reuse-toml"
}
]
},
{
"path": "common/test/test_backintime.py",
"copyrights": [
{
"value": "SPDX-FileCopyrightText: 2016 Taylor Raack",
"source": "common/test/test_backintime.py",
"source_type": "file-header"
}
],
"spdx_expressions": [
{
"value": "GPL-2.0-or-later",
"is_valid": true,
"source": "common/test/test_backintime.py",
"source_type": "file-header"
}
]
},
# ... SNIPPED ...
{
"path": "qt/manageprofiles/storagesizewidget.py",
"copyrights": [
{
"value": "SPDX-FileCopyrightText: \u00a9 2025 Christian BUHTZ <c.buhtz@posteo.jp>",
"source": "qt/manageprofiles/storagesizewidget.py",
"source_type": "file-header"
}
],
"spdx_expressions": [
{
"value": "GPL-2.0-or-later",
"is_valid": true,
"source": "qt/manageprofiles/storagesizewidget.py",
"source_type": "file-header"
}
]
}
],
"non_compliant": {
"bad_licenses": [],
"deprecated_licenses": [],
"licenses_without_extension": [],
"missing_licenses": [],
"unused_licenses": [],
"read_errors": [],
"missing_copyright_info": [],
"missing_licensing_info": []
},
"summary": {
"used_licenses": [
"CC0-1.0",
"GPL-2.0-or-later",
"GPL-3.0-or-later",
"MIT"
],
"files_total": 367,
"files_with_copyright_info": 367,
"files_with_licensing_info": 367,
"compliant": true
},
"recommendations": []
I am glad that this json output does exist. But I would expect it from reuse spdx --json and not from the lint command.
Hello,
by accident I discovered that the switch `--json` used with `reuse lint` does not only provide the regular output in JSON format but also extend the content much more and provide detailed information about each file contained in the repo.
This is the **regular output**:
```sh
$ reuse lint
# ZUSAMMENFASSUNG
* Falsche Lizenzen: 0
* Veraltete Lizenzen: 0
* Lizenzen ohne Dateiendung: 0
* Fehlende Lizenzen: 0
* Unbenutzte Lizenzen: 0
* Verwendete Lizenzen: CC0-1.0, GPL-2.0-or-later, GPL-3.0-or-later, MIT
* Lesefehler: 0
* Invalid SPDX License Expressions: 0
* Files with copyright information: 367 / 367
* Files with license information: 367 / 367
Herzlichen Glückwunsch! Ihr Projekt ist konform mit Version 3.3 der REUSE-Spezifikation :-)
```
This is the same project but using JSON format.
```json
$ reuse lint --json
{
"lint_version": "1.0",
"reuse_spec_version": "3.3",
"reuse_tool_version": "6.2.0",
"files": [
{
"path": "doc/manual/src/_images/light/settings_autoremove.png",
"copyrights": [
{
"value": "\u00a9 2024 Kosta Vukicevic (@stcksmsh)",
"source": "doc/manual/src/REUSE.toml",
"source_type": "reuse-toml"
}
],
"spdx_expressions": [
{
"value": "GPL-2.0-or-later",
"is_valid": true,
"source": "doc/manual/src/REUSE.toml",
"source_type": "reuse-toml"
}
]
},
{
"path": "common/test/test_backintime.py",
"copyrights": [
{
"value": "SPDX-FileCopyrightText: 2016 Taylor Raack",
"source": "common/test/test_backintime.py",
"source_type": "file-header"
}
],
"spdx_expressions": [
{
"value": "GPL-2.0-or-later",
"is_valid": true,
"source": "common/test/test_backintime.py",
"source_type": "file-header"
}
]
},
# ... SNIPPED ...
{
"path": "qt/manageprofiles/storagesizewidget.py",
"copyrights": [
{
"value": "SPDX-FileCopyrightText: \u00a9 2025 Christian BUHTZ <c.buhtz@posteo.jp>",
"source": "qt/manageprofiles/storagesizewidget.py",
"source_type": "file-header"
}
],
"spdx_expressions": [
{
"value": "GPL-2.0-or-later",
"is_valid": true,
"source": "qt/manageprofiles/storagesizewidget.py",
"source_type": "file-header"
}
]
}
],
"non_compliant": {
"bad_licenses": [],
"deprecated_licenses": [],
"licenses_without_extension": [],
"missing_licenses": [],
"unused_licenses": [],
"read_errors": [],
"missing_copyright_info": [],
"missing_licensing_info": []
},
"summary": {
"used_licenses": [
"CC0-1.0",
"GPL-2.0-or-later",
"GPL-3.0-or-later",
"MIT"
],
"files_total": 367,
"files_with_copyright_info": 367,
"files_with_licensing_info": 367,
"compliant": true
},
"recommendations": []
```
I am glad that this json output does exist. But I would expect it from `reuse spdx --json` and not from the `lint` command.