licensecheck

LICENSECHECK(1p)      User Contributed Perl Documentation     LICENSECHECK(1p)

NAME
       licensecheck - simple license checker for source files

VERSION
       Version v3.2.14

SYNOPSIS
           licensecheck [ --help | --version ]

           licensecheck [ --list-licenses | --list-naming-schemes ]

           licensecheck [OPTION...] PATH [PATH...]

DESCRIPTION
       licensecheck attempts to determine the license that applies to each
       file passed to it, by searching the start of the file for text
       belonging to various licenses.

       If any of the arguments passed are directories, licensecheck will add
       the files contained within to the list of files to process.

       When multiple PATHs are provided, only files matching --check and not
       --ignore are checked.

OPTIONS
   Resolving patterns
       --shortname-scheme
                       Since v3.2.

                       comma-separated priority list of license naming schemes
                       to use for license identifiers
                       (defaultvalue:unset(useverbosedescription))

       --list-licenses Since v3.2.

                       list identifiers for all detectable licenses and exit

       --list-naming-schemes
                       Since v3.2.

                       list all available license naming schemes and exit

   Selecting files
       -c REGEX, --check=REGEX
                       Since v2.10.10.

                       regular expression of files to include when more than
                       one PATH is provided (defaultvalue:commonsourcefiles)

       -i REGEX, --ignore=REGEX
                       Since v2.10.10.

                       regular expression of files to skip when more than one
                       PATH is provided (defaultvalue:somebackupandVCSfiles)

       -r, --recursive Since v2.10.7.

                       traverse directories recursively

   Parsing contents
       -l N, --lines=N Since v2.10.3.

                       number of lines to parse from top of each file; implies
                       optimistic search including only first cluster of
                       detected copyrights or licenses; set to 0 to parse the
                       whole file (and ignore --tail) (defaultvalue:60)

       --tail=N        Since v2.15.10.

                       number of bytes to parse from bottom of each file; set
                       to 0 to avoid parsing from end of file
                       (defaultvalue:5000(roughly60lines))

       -e CODEC, --encoding=CODEC
                       Since v2.15.10.

                       try decode source files from the specified codec, with
                       "iso-8859-1" as fallback
                       (defaultvalue:unset(nodecoding))

   Reporting results
       --[no-]verbose  Since v2.10.3.

                       add header of each file to license information

       --copyright     Since v2.10.7.

                       add copyright statements to license information

       -s, --skipped   Since v2.15.10.

                       print to STDERR files in PATHs matching neither --check
                       nor --ignore

       -m, --machine   Since v2.12.2.

                       print license information as "TAB"-separated fields,
                       for processing with line-oriented tools like "awk" and
                       "sort" (NB!--verbosewillkillreadability)

       --[no-]deb-machine
                       Since v3.0.0.

                       print license information like a Debian copyright file;
                       implies --copyright and --shortname-scheme=debian,spdx

       --list-delimiter=PRINTF
                       Since v3.0.18.

                       printf-string used between multiple plain list items in
                       Debian copyright file (defaultvalue:'\n'(NEWLINESPACE))

       --rfc822-delimiter=PRINTF
                       Since v3.0.18.

                       printf-string used between multiple RFC822-style items
                       in Debian copyright file
                       (defaultvalue:'\n'(NEWLINESPACESPACE))

       --copyright-delimiter=PRINTF
                       Since v3.0.19.

                       printf-string used between years and owners in Debian
                       copyright file (defaultvalue:','(COMMASPACE))

       --[no-]merge-licenses
                       Since v3.0.0.

                       merge same-licensed files in Debian copyright file

   General
       -h, --help      print help message and exit

       -v, --version   print version and copyright information and exit

ENVIRONMENT
       NO_COLOR
             If defined, will disable color.  Consulted before COLOR.

       COLOR Can be set to 0 to explicitly disable colors.  The default is to
             use color when connected to a terminal.

       LOG_LEVEL =item QUIET =item VERBOSE =item DEBUG =item TRACE
             Used to emit varying details about discoveries to STDERR.  See
             Log::Any::Adapter::Screen for more details.

       LOG_PREFIX
             The default formatter groks these variables.  See formatter in
             Log::Any::Adapter::Screen for more details.

CAVEATS
       The exact output may change between releases, due to the inherently
       fragile scanning of unstructured data, and the ongoing improvements to
       detection patterns.  For some level of stability, use one of the
       machine-readable output formats and define a --shortname-scheme.

       Option --deb-fmt was deprecated since v3.2.  Please use option
       --shortname-scheme=debian,spdx instead.

SEE ALSO
       Other similar tools exist.

       Here is a list of known tools also command-line based and general-
       purpose:

       copyright-update <https://github.com/jaalto/project--copyright-update>
                       Written in Perl.

       debmake <http://anonscm.debian.org/git/collab-maint/debmake.git>
                       Written in Python.

                       Specific to Debian packages.

       decopy <https://anonscm.debian.org/git/collab-maint/decopy.git>
                       Written in Python.

       Licensee <http://ben.balter.com/licensee/>
                       Written in Ruby.

       LicenseFinder <https://github.com/pivotal/LicenseFinder>
                       Written in Ruby.

       ninka <http://ninka.turingmachine.org/>
                       Written in C++.

                       Used in FOSSology <http://fossology.org/> (along with
                       Monk and Nomos apparently unavailable as standalone
                       command-line tools).

       ripper <https://github.com/odeke-em/ripper>
                       Written in Go.

       scancode-toolkit <https://github.com/nexB/scancode-toolkit>
                       Written in Python.

AUTHOR
       Jonas Smedegaard "<dr@jones.dk>"

COPYRIGHT AND LICENSE
       This program is based on the script "licensecheck" from the KDE SDK,
       originally introduced by Stefan Westerfeld "<stefan@space.twc.de>".

         Copyright (C) 2007, 2008 Adam D. Barratt

         Copyright (C) 2012 Francesco Poli

         Copyright (C) 2016-2021 Jonas Smedegaard

         Copyright (C) 2017-2021 Purism SPC

       This program is free software: you can redistribute it and/or modify it
       under the terms of the GNU Affero General Public License as published
       by the Free Software Foundation, either version 3, or (at your option)
       any later version.

       This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       Affero General Public License for more details.

       You should have received a copy of the GNU Affero General Public
       License along with this program.  If not, see
       <https://www.gnu.org/licenses/>.

perl v5.32.1                      2021-11-23                  LICENSECHECK(1p)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2025 Hurricane Electric. All Rights Reserved.