logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

licensecheck - simple license checker for source files

Author

       Jonas Smedegaard "<dr@jones.dk>"

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.

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.

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 when verbosity is not set using either of
             options --quiet, --verbose, --debug or --trace.  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.

Name

       licensecheck - simple license checker for source files

Options

Resolvingpatterns--shortname-schemeSincev3.2.

                       comma-separated  priority  list  of license naming schemes to use for license identifiers
                       (default value: unset (use verbose description))

       --list-licensesSincev3.2.

                       list identifiers for all detectable licenses and exit

       --list-naming-schemesSincev3.2.

                       list all available license naming schemes and exit

   Selectingfiles-cREGEX, --check=REGEXSincev2.10.10.

                       regular  expression  of  files  to  include  when  more  than  one   PATH   is   provided
                       (default value: common source files)

       -iREGEX, --ignore=REGEXSincev2.10.10.

                       regular   expression   of   files   to   skip   when  more  than  one  PATH  is  provided
                       (default value: some backup and VCS files)

       -r, --recursiveSincev2.10.7.

                       traverse directories recursively

   Parsingcontents-lN, --lines=NSincev2.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) (default value: 60)

       --tail=NSincev2.15.10.

                       number of bytes to parse from bottom of each file when parsing only from top of each file
                       and finding nothing there; set to 0 to avoid parsing from end of file (or set --lines  to
                       0 and ignore this setting) (default value: 5000 (roughly 60 lines))

       -eCODEC, --encoding=CODECSincev2.15.10.

                       try  decode  source  files  from  the  specified  codec,  with  "iso-8859-1"  as fallback
                       (default value: unset (no decoding))

   Reportingresults--copyrightSincev2.10.7.

                       add copyright statements to license information

       -s, --skippedSincev3.3.0.

                       Log   files   in   PATHs   matching   neither   --check   nor   --ignore   as    warnings
                       (default: log as debug)

       -m, --machineSincev2.12.2.

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

       --[no-]deb-machineSincev3.0.0.

                       print  license  information  like  a  Debian  copyright  file;  implies  --copyright  and
                       --shortname-scheme=debian,spdx--list-delimiter=PRINTFSincev3.0.18.

                       printf-string   used   between  multiple  plain  list  items  in  Debian  copyright  file
                       (default value: '\n' (NEWLINE SPACE))

       --rfc822-delimiter=PRINTFSincev3.0.18.

                       printf-string  used  between  multiple  RFC822-style  items  in  Debian  copyright   file
                       (default value: '\n' (NEWLINE SPACE SPACE))

       --copyright-delimiter=PRINTFSincev3.0.19.

                       printf-string    used    between    years   and   owners   in   Debian   copyright   file
                       (default value: ',' (COMMA SPACE))

       --[no-]merge-licensesSincev3.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

       --quiet, --verbose, --debug, --traceSincev3.3.0.

                       Emit only error messages to STDERR (with option --quiet),  or  (in  addition  errors  and
                       warnings)  also  notices/debug/traces.   The more "noisy" option wins if several are set.
                       (default: emit errors and warnings

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.

Synopsis

           licensecheck [ --help | --version ]

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

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

Version

       Version v3.3.9

See Also