1LICENSECHECK(1) User Contributed Perl Documentation LICENSECHECK(1)
2
3
4
6 licensecheck - simple license checker for source files
7
9 Version v3.3.9
10
12 licensecheck [ --help | --version ]
13
14 licensecheck [ --list-licenses | --list-naming-schemes ]
15
16 licensecheck [OPTION...] PATH [PATH...]
17
19 licensecheck attempts to determine the license that applies to each
20 file passed to it, by searching the start of the file for text
21 belonging to various licenses.
22
23 If any of the arguments passed are directories, licensecheck will add
24 the files contained within to the list of files to process.
25
26 When multiple PATHs are provided, only files matching --check and not
27 --ignore are checked.
28
30 Resolving patterns
31 --shortname-scheme
32 Since v3.2.
33
34 comma-separated priority list of license naming schemes
35 to use for license identifiers
36 (default value: unset (use verbose description))
37
38 --list-licenses Since v3.2.
39
40 list identifiers for all detectable licenses and exit
41
42 --list-naming-schemes
43 Since v3.2.
44
45 list all available license naming schemes and exit
46
47 Selecting files
48 -c REGEX, --check=REGEX
49 Since v2.10.10.
50
51 regular expression of files to include when more than
52 one PATH is provided
53 (default value: common source files)
54
55 -i REGEX, --ignore=REGEX
56 Since v2.10.10.
57
58 regular expression of files to skip when more than one
59 PATH is provided
60 (default value: some backup and VCS files)
61
62 -r, --recursive Since v2.10.7.
63
64 traverse directories recursively
65
66 Parsing contents
67 -l N, --lines=N Since v2.10.3.
68
69 number of lines to parse from top of each file; implies
70 optimistic search including only first cluster of
71 detected copyrights or licenses; set to 0 to parse the
72 whole file (and ignore --tail) (default value: 60)
73
74 --tail=N Since v2.15.10.
75
76 number of bytes to parse from bottom of each file when
77 parsing only from top of each file and finding nothing
78 there; set to 0 to avoid parsing from end of file (or
79 set --lines to 0 and ignore this setting)
80 (default value: 5000 (roughly 60 lines))
81
82 -e CODEC, --encoding=CODEC
83 Since v2.15.10.
84
85 try decode source files from the specified codec, with
86 "iso-8859-1" as fallback
87 (default value: unset (no decoding))
88
89 Reporting results
90 --copyright Since v2.10.7.
91
92 add copyright statements to license information
93
94 -s, --skipped Since v3.3.0.
95
96 Log files in PATHs matching neither --check nor
97 --ignore as warnings (default: log as debug)
98
99 -m, --machine Since v2.12.2.
100
101 print license information as "TAB"-separated fields,
102 for processing with line-oriented tools like "awk" and
103 "sort"
104
105 --[no-]deb-machine
106 Since v3.0.0.
107
108 print license information like a Debian copyright file;
109 implies --copyright and --shortname-scheme=debian,spdx
110
111 --list-delimiter=PRINTF
112 Since v3.0.18.
113
114 printf-string used between multiple plain list items in
115 Debian copyright file
116 (default value: '\n ' (NEWLINE SPACE))
117
118 --rfc822-delimiter=PRINTF
119 Since v3.0.18.
120
121 printf-string used between multiple RFC822-style items
122 in Debian copyright file
123 (default value: '\n ' (NEWLINE SPACE SPACE))
124
125 --copyright-delimiter=PRINTF
126 Since v3.0.19.
127
128 printf-string used between years and owners in Debian
129 copyright file (default value: ', ' (COMMA SPACE))
130
131 --[no-]merge-licenses
132 Since v3.0.0.
133
134 merge same-licensed files in Debian copyright file
135
136 General
137 -h, --help print help message and exit
138
139 -v, --version print version and copyright information and exit
140
141 --quiet, --verbose, --debug, --trace
142 Since v3.3.0.
143
144 Emit only error messages to STDERR (with option
145 --quiet), or (in addition errors and warnings) also
146 notices/debug/traces. The more "noisy" option wins if
147 several are set. (default: emit errors and warnings
148
150 NO_COLOR
151 If defined, will disable color. Consulted before COLOR.
152
153 COLOR Can be set to 0 to explicitly disable colors. The default is to
154 use color when connected to a terminal.
155
156 LOG_LEVEL =item QUIET =item VERBOSE =item DEBUG =item TRACE
157 Used to emit varying details about discoveries to STDERR when
158 verbosity is not set using either of options --quiet, --verbose,
159 --debug or --trace. See Log::Any::Adapter::Screen for more
160 details.
161
162 LOG_PREFIX
163 The default formatter groks these variables. See formatter in
164 Log::Any::Adapter::Screen for more details.
165
167 The exact output may change between releases, due to the inherently
168 fragile scanning of unstructured data, and the ongoing improvements to
169 detection patterns. For some level of stability, use one of the
170 machine-readable output formats and define a --shortname-scheme.
171
172 Option --deb-fmt was deprecated since v3.2. Please use option
173 --shortname-scheme=debian,spdx instead.
174
176 Other similar tools exist.
177
178 Here is a list of known tools also command-line based and general-
179 purpose:
180
181 copyright-update <https://github.com/jaalto/project--copyright-update>
182 Written in Perl.
183
184 debmake <http://anonscm.debian.org/git/collab-maint/debmake.git>
185 Written in Python.
186
187 Specific to Debian packages.
188
189 decopy <https://anonscm.debian.org/git/collab-maint/decopy.git>
190 Written in Python.
191
192 Licensee <http://ben.balter.com/licensee/>
193 Written in Ruby.
194
195 LicenseFinder <https://github.com/pivotal/LicenseFinder>
196 Written in Ruby.
197
198 ninka <http://ninka.turingmachine.org/>
199 Written in C++.
200
201 Used in FOSSology <http://fossology.org/> (along with
202 Monk and Nomos apparently unavailable as standalone
203 command-line tools).
204
205 ripper <https://github.com/odeke-em/ripper>
206 Written in Go.
207
208 scancode-toolkit <https://github.com/nexB/scancode-toolkit>
209 Written in Python.
210
212 Jonas Smedegaard "<dr@jones.dk>"
213
215 This program is based on the script "licensecheck" from the KDE SDK,
216 originally introduced by Stefan Westerfeld "<stefan@space.twc.de>".
217
218 Copyright © 2007, 2008 Adam D. Barratt
219
220 Copyright © 2012 Francesco Poli
221
222 Copyright © 2016-2022 Jonas Smedegaard
223
224 Copyright © 2017-2022 Purism SPC
225
226 This program is free software: you can redistribute it and/or modify it
227 under the terms of the GNU Affero General Public License as published
228 by the Free Software Foundation, either version 3, or (at your option)
229 any later version.
230
231 This program is distributed in the hope that it will be useful, but
232 WITHOUT ANY WARRANTY; without even the implied warranty of
233 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
234 Affero General Public License for more details.
235
236 You should have received a copy of the GNU Affero General Public
237 License along with this program. If not, see
238 <https://www.gnu.org/licenses/>.
239
240
241
242perl v5.38.0 2023-07-20 LICENSECHECK(1)