Skip to content

Instantly share code, notes, and snippets.

@passcod
Last active January 24, 2025 16:55
Show Gist options
  • Save passcod/2e1983ce415b32bdf3a0 to your computer and use it in GitHub Desktop.
Save passcod/2e1983ce415b32bdf3a0 to your computer and use it in GitHub Desktop.
License stats for crates on crates.io
/metacrate-*
2015-02-17 2016-04-28 2020-02-04 2020-05-11
    984 MIT
    115 Apache-2.0 OR MIT
     63 Apache-2.0
     43 null
     27 BSD-3-Clause
     25 Unlicense
     20 Zlib
     17 BSD-2-Clause
     11 WTFPL
     11 MPL-2.0
     11 CC0-1.0
      8 non-standard
      8 GPL-3.0+
      7 ISC
      7 GPL-2.0
      6 LGPL-3.0
      5 GPL-3.0
      3 LGPL-2.1+
      2 MIT/BSD-2-Clause
      2 LGPL-3.0+
      2 AGPL-3.0
      1 Libpng OR Zlib
      1 Zed
      1 MIT OR MPL-1.1 OR Unlicense
      1 Apache-2.0 OR Unlicense
      1 Python-2.0
      1 MPL-2.0-no-copyleft-exception
      1 Apache-1.0 OR MIT
      1 LGPL-2.1
      1 LGPL-2.0+
      1 IJG
      1 BSL-1.0
   2614 MIT
    910 Apache-2.0 OR MIT
    266 Apache-2.0
    103 GPL-3.0
    100 BSD-3-Clause
     86 non-standard
     79 MPL-2.0
     69 CC0-1.0
     61 BSD-2-Clause
     40 WTFPL
     38 ISC
     37 Unlicense
     37 null
     37 LGPL-3.0
     30 Zlib
     27 MIT OR Unlicense
     27 GPL-2.0
     20 LGPL-3.0+
     20 AGPL-3.0
     18 LGPL-2.1
     16 GPL-3.0+
     11 GPL-2.0+
     10 LGPL-2.1+
     10 BSL-1.0
      7 zlib-acknowledgement
      5 AML
      3 ISC OR MIT
      2 Python-2.0
      2 MITNFA
      2 AGPL-3.0+ AND GPL-2.0+
      2 Apache-2.0 OR BSL-1.0
      2 BSD-4-Clause
      2 Apache-2.0 OR BSD-3-Clause-Clear OR MIT
      2 AML OR Apache-2.0
      1 Libpng OR Zlib
      1 Zed
      1 MIT OR MPL-1.1 OR Unlicense
      1 Apache-2.0 OR Unlicense
      1 NCSA
      1 MPL-2.0-no-copyleft-exception
      1 BSL-1.0 OR MIT OR WTFPL
      1 BSD-3-Clause OR MIT
      1 BSD-2-Clause OR MIT
      1 Apache-2.0 OR BSD-3-Clause OR MIT
      1 Apache-1.0 OR MIT
      1 AGPL-1.0 OR MIT
      1 MirOS
      1 LGPL-2.0+
      1 LGPL-2.0
      1 IJG
      1 GPL-3.0 OR LGPL-3.0
      1 BSD-3-Clause OR GPL-3.0+
      1 Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR MIT
      1 FTL OR GPL-2.0
      1 CC-BY-SA-4.0 OR MIT
      1 CC-BY-NC-4.0
      1 Apache-2.0 OR GPL-2.0
      1 AGPL-3.0 WITH eCos-exception-2.0
      1 AGPL-3.0+
  15782 MIT
   9451 Apache-2.0 OR MIT
   3044 Apache-2.0
    988 non-standard
    890 GPL-3.0
    720 MPL-2.0
    666 BSD-3-Clause
    360 CC0-1.0
    356 ISC
    345 GPL-3.0-or-later
    306 BSD-2-Clause
    239 AGPL-3.0
    210 Unlicense
    188 WTFPL
    168 LGPL-3.0
    130 GPL-3.0-only
    129 GPL-3.0+
    118 LGPL-2.1
    117 MIT OR Unlicense
    117 0BSD
    101 Zlib
     92 Apache-2.0 WITH LLVM-exception
     89 GPL-2.0
     68 AGPL-3.0-or-later
     55 LGPL-3.0+
     52 LGPL-3.0-or-later
     51 AGPL-3.0+
     40 null
     36 MIT OR BSL-1.0
     36 Apache-2.0 OR MIT OR MPL-2.0
     36 AGPL-3.0-only
     35 GPL-2.0+
     34 BSD-3-Clause OR MIT
     29 MITNFA
     27 GPL-2.0-or-later
     23 GPL-2.0-only
     23 BSL-1.0
     23 BSD-2-Clause OR MIT
     21 LGPL-2.1+
     20 MPL-2.0+
     20 Fair
     18 LGPL-2.1-or-later
     16 Apache-2.0 AND MIT
     15 Apache-2.0 OR MIT OR BSD-3-Clause
     14 LGPL-3.0-only
     14 BSD-4-Clause
     12 zlib-acknowledgement
     11 MIT-0
     10 MIT OR X11 OR Apache-2.0
      9 AML
      8 WTFPL OR Apache-2.0 OR MIT
      8 EPL-1.0
      8 Apache-2.0 OR ISC OR MIT
      7 LGPL-2.1-only
      7 LGPL-2.0-only
      7 BlueOak-1.0.0
      7 Apache-2.0 OR BSD-3-Clause
      6 AFL-3.0
      5 MirOS
      5 MIT OR X11
      5 Apache-2.0 OR BSL-1.0
      4 UPL-1.0
      4 NCSA
      4 MIT-0 OR 0BSD
      4 EPL-2.0
      4 CC-BY-NC-SA-4.0
      4 BSD-2-Clause-FreeBSD
      4 Apache-2.0 OR MIT OR Unlicense
      4 Apache-2.0 OR LGPL-2.1-or-later
      4 AML OR Apache-2.0
      3 Python-2.0
      3 MPL-2.0-no-copyleft-exception
      3 MIT OR Zlib
      3 MIT OR NCSA
      3 MIT OR ISC
      3 LGPL-3.0 OR GPL-2.0 OR GPL-3.0
      3 LGPL-2.0
      3 ISC OR Apache-2.0
      3 GPL-3.0+ OR BSD-3-Clause
      3 GPL-1.0-or-later OR Artistic-1.0-Perl
      3 FTL OR GPL-2.0
      3 CECILL-2.1
      3 CDDL-1.1
      3 CC0-1.0 OR MIT
      3 CC-BY-SA-4.0
      3 CC-BY-NC-4.0
      3 BSD-3-Clause-Attribution
      3 Apache-2.0 OR MIT OR Zlib
      3 Apache-2.0 OR MIT OR BSL-1.0 OR CC0-1.0
      3 Apache-2.0 OR CC0-1.0 OR MIT
      2 X11
      2 UPL-1.0 OR Apache-2.0
      2 PostgreSQL OR MIT
      2 NCSA AND BSD-3-Clause
      2 MIT OR GPL-3.0-or-later
      2 MIT AND Zlib OR Apache-2.0 AND Zlib
      2 MIT AND ODbL-1.0
      2 LGPL-2.1-or-later OR MIT
      2 LGPL-2.1 OR MPL-1.1
      2 LGPL-2.1 OR LGPL-3.0
      2 LGPL-2.1 OR BSD-2-Clause
      2 IJG
      2 GPL-1.0
      2 EPL-2.0 OR Apache-2.0
      2 D-FSL-1.0
      2 CECILL-C
      2 CC0-1.0 OR Apache-2.0
      2 CC-BY-4.0
      2 Beerware
      2 BSD-3-Clause-Clear
      2 BSD-2-Clause-Patent
      2 BSD-2-Clause AND ISC AND MIT
      2 Artistic-2.0
      2 Artistic-1.0 OR GPL-2.0-or-later
      2 Apache-2.0 OR MIT OR Unlicense OR WTFPL
      2 Apache-2.0 OR MIT OR BSL-1.0
      2 Apache-2.0 OR MIT AND BSD-2-Clause
      2 Apache-2.0 OR GPL-2.0+
      2 Apache-2.0 OR BSD-3-Clause-Clear OR MIT
      2 Apache-2.0 AND BSD-3-Clause
      2 Apache-1.0
      2 APSL-2.0 OR MIT
      2 AFL-1.1
      1 Zlib OR MIT OR BSL-1.0
      1 Zed
      1 SimPL-2.0
      1 QPL-1.0 OR LGPL-2.0
      1 Parity-6.0.0 AND Apache-2.0
      1 PDDL-1.0
      1 OSL-3.0 OR AGPL-3.0-or-later
      1 OSL-3.0
      1 OLDAP-2.8
      1 NPOSL-3.0
      1 NLPL
      1 MPL-2.0+ OR LGPL-3.0+
      1 MPL-1.1 OR MIT OR Unlicense
      1 MPL-1.1 OR GPL-2.0 OR LGPL-2.1
      1 MPL-1.1
      1 MIT OR LGPL-3.0
      1 MIT OR LGPL-2.1
      1 MIT OR GPL-3.0+
      1 MIT OR GPL-3.0
      1 MIT OR Apache-1.0
      1 MIT OR AGPL-1.0
      1 MIT AND Zlib
      1 MIT AND LGPL-2.1-or-later
      1 MIT AND LGPL-2.0-or-later
      1 Libpng
      1 LPPL-1.3c
      1 LGPL-3.0 OR MPL-2.0
      1 LGPL-2.1 OR MPL-2.0
      1 LGPL-2.0-or-later
      1 LGPL-2.0+
      1 ISC OR GPL-3.0-or-later
      1 GPL-3.0-or-later OR LGPL-3.0-or-later
      1 GPL-3.0-or-later AND BSD-3-Clause
      1 GPL-3.0-only OR MIT
      1 GPL-3.0+ AND BSD-3-Clause
      1 GPL-3.0 OR MPL-2.0 OR LGPL-3.0
      1 GPL-3.0 OR MPL-2.0
      1 GPL-3.0 OR LGPL-3.0
      1 GPL-3.0 OR GFDL-1.3
      1 GPL-2.0+ AND LGPL-2.1+ AND MPL-1.1
      1 GPL-2.0 OR GPL-3.0 OR Apache-2.0 OR MIT
      1 CECILL-C OR CECILL-2.1
      1 CECILL-B
      1 CDDL-1.0
      1 CC-BY-SA-4.0 OR MIT
      1 CC-BY-NC-SA-2.5
      1 BSD-3-Clause-Clear OR Apache-2.0
      1 BSD-2-Clause AND MIT
      1 Artistic-1.0-Perl
      1 Apache-2.0 WITH LLVM-exception OR MIT
      1 Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
      1 Apache-2.0 OR Unlicense
      1 Apache-2.0 OR PostgreSQL
      1 Apache-2.0 OR MIT+
      1 Apache-2.0 OR MIT OR NCSA
      1 Apache-2.0 OR MIT OR LGPL-2.1
      1 Apache-2.0 OR MIT OR GPL-3.0-or-later
      1 Apache-2.0 OR MIT OR Beerware
      1 Apache-2.0 OR MIT OR BSD-2-Clause
      1 Apache-2.0 OR GPL-3.0
      1 APL-1.0
      1 AGPL-3.0 WITH eCos-exception-2.0
      1 AGPL-3.0 OR GPL-3.0 OR Apache-2.0 OR MIT
      1 AGPL-1.0
      1 AFL-2.0
      1 0BSD OR Zlib
  17692 MIT
  10678 Apache-2.0 OR MIT
   3466 Apache-2.0
   1205 non-standard
   1105 GPL-3.0
    821 MPL-2.0
    748 BSD-3-Clause
    548 GPL-3.0-or-later
    398 ISC
    391 CC0-1.0
    331 BSD-2-Clause
    257 AGPL-3.0
    239 Unlicense
    199 WTFPL
    177 LGPL-3.0
    167 GPL-3.0-only
    140 AGPL-3.0-or-later
    135 0BSD
    130 MIT OR Unlicense
    129 Zlib
    122 LGPL-2.1
    112 LGPL-3.0-or-later
    112 Apache-2.0 WITH LLVM-exception
    100 GPL-2.0
     66 GPL-2.0-or-later
     43 LGPL-2.1-or-later
     43 AGPL-3.0-only
     40 null
     39 Apache-2.0 OR MIT OR MPL-2.0
     34 GPL-2.0-only
     34 BSL-1.0
     34 BSD-3-Clause OR MIT
     32 BSL-1.0 OR MIT
     29 MITNFA
     27 MPL-2.0-or-later
     23 BSD-2-Clause OR MIT
     22 Apache-2.0 AND MIT
     21 Fair
     18 LGPL-3.0-only
     17 Apache-2.0 OR BSD-3-Clause OR MIT
     16 BSD-4-Clause
     12 zlib-acknowledgement
     11 MIT-0
     11 Apache-2.0 OR MIT OR X11
     10 Apache-2.0 OR BSD-3-Clause
      9 AML
      8 MPL-2.0-no-copyleft-exception
      8 EPL-1.0
      8 BlueOak-1.0.0
      8 Apache-2.0 OR MIT OR WTFPL
      8 Apache-2.0 OR ISC OR MIT
      7 LGPL-2.0-only
      6 EPL-2.0
      6 CC-BY-NC-SA-4.0
      6 BSD-2-Clause-Patent
      6 Apache-2.0 OR Zlib
      6 AFL-3.0
      5 NCSA
      5 MIT OR X11
      5 MIT OR PostgreSQL
      5 MirOS
      5 LGPL-2.1-only
      5 CC-BY-NC-4.0
      5 Apache-2.0 OR MIT OR Zlib
      5 Apache-2.0 OR BSL-1.0
      4 UPL-1.0
      4 MIT OR Zlib
      4 MIT-0 OR 0BSD
      4 EUPL-1.2
      4 CC-BY-SA-4.0
      4 Beerware
      4 Apache-2.0 OR MIT OR Unlicense
      4 Apache-2.0 OR LGPL-2.1-or-later
      4 Apache-2.0 OR BSL-1.0 OR CC0-1.0 OR MIT
      4 AML OR Apache-2.0
      3 WTFPL OR 0BSD
      3 Python-2.0
      3 MIT OR NCSA
      3 LGPL-2.0
      3 ISC OR MIT
      3 GPL-3.0-or-later OR MIT
      3 GPL-2.0 OR GPL-3.0 OR LGPL-3.0
      3 FTL OR GPL-2.0
      3 CECILL-C
      3 CECILL-B
      3 CECILL-2.1
      3 CDDL-1.1
      3 CC-BY-4.0
      3 CC0-1.0 OR MIT
      3 BSD-3-Clause OR GPL-3.0-or-later
      3 BSD-3-Clause-Attribution
      3 BSD-2-Clause-FreeBSD
      3 Artistic-1.0-Perl OR GPL-1.0-or-later
      3 Apache-2.0 OR CC0-1.0 OR MIT
      3 Apache-2.0 AND BSD-2-Clause OR MIT
      2 X11
      2 Sleepycat
      2 RPL-1.5
      2 BSD-3-Clause AND NCSA
      2 MIT AND Zlib
      2 MIT AND ODbL-1.0
      2 LGPL-2.1 OR MPL-1.1
      2 LGPL-2.1 OR LGPL-3.0
      2 LGPL-2.1-or-later OR MIT
      2 LGPL-2.0-or-later
      2 IJG
      2 GPL-3.0 OR MIT
      2 GPL-2.0-or-later WITH Bison-exception-2.2
      2 GPL-1.0
      2 D-FSL-1.0
      2 BSD-3-Clause-Clear
      2 BSD-3-Clause AND GPL-3.0-or-later
      2 BSD-2-Clause OR LGPL-2.1
      2 BSD-2-Clause AND ISC AND MIT
      2 Artistic-2.0
      2 Artistic-1.0 OR GPL-2.0-or-later
      2 APSL-2.0 OR MIT
      2 Apache-2.0 OR UPL-1.0
      2 Apache-2.0 OR MIT OR Unlicense OR WTFPL
      2 Apache-2.0 OR ISC
      2 Apache-2.0 OR GPL-2.0-or-later
      2 Apache-2.0 OR EPL-2.0
      2 Apache-2.0 OR CC0-1.0
      2 Apache-2.0 OR BSL-1.0 OR MIT
      2 Apache-2.0 OR BSD-3-Clause-Clear OR MIT
      2 Apache-2.0 AND Zlib OR MIT AND Zlib
      2 Apache-2.0 AND BSD-3-Clause
      2 Apache-1.0
      2 AFL-1.1
      1 Zlib AND ISC
      1 Zed
      1 SimPL-2.0
      1 PDDL-1.0
      1 Parity-6.0.0
      1 OSL-3.0
      1 OLDAP-2.8
      1 NPOSL-3.0
      1 NLPL
      1 MS-PL
      1 MPL-2.0 AND Python-2.0
      1 MIT OR MPL-1.1 OR Unlicense
      1 MPL-1.1
      1 MIT OR WTFPL
      1 MIT AND WTFPL
      1 MIT AND OFL-1.1
      1 LPPL-1.3c
      1 Libpng
      1 LGPL-3.0 OR MPL-2.0
      1 LGPL-3.0 OR MIT
      1 LGPL-3.0-or-later OR MPL-2.0-or-later
      1 LGPL-2.1 OR MPL-2.0
      1 LGPL-2.1 OR MIT
      1 LGPL-2.1-or-later AND MIT
      1 LGPL-2.0 OR QPL-1.0
      1 LGPL-2.0-or-later AND MIT
      1 GPL-3.0 OR MPL-2.0
      1 GPL-3.0 OR LGPL-3.0 OR MPL-2.0
      1 GPL-3.0 OR LGPL-3.0
      1 GPL-3.0-or-later OR LGPL-3.0-or-later
      1 GPL-3.0-or-later OR ISC
      1 GFDL-1.3 OR GPL-3.0
      1 GPL-3.0-only OR MIT
      1 GPL-2.0 OR LGPL-2.1 OR MPL-1.1
      1 GPL-2.0-or-later AND LGPL-2.1-or-later AND MPL-1.1
      1 CECILL-C OR CECILL-2.1
      1 CDDL-1.0
      1 CC-BY-SA-4.0 OR MIT
      1 CC-BY-NC-SA-2.5
      1 BSD-2-Clause AND MIT
      1 Artistic-1.0-Perl
      1 APL-1.0
      1 Apache-2.0 WITH LLVM-exception OR MIT
      1 Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
      1 Apache-2.0 OR Unlicense
      1 Apache-2.0 OR PostgreSQL
      1 Apache-2.0 OR MIT OR NCSA
      1 Apache-2.0 OR MIT OR 0BSD
      1 Apache-2.0 OR LGPL-2.1 OR MIT
      1 Apache-2.0-or-later OR MIT
      1 Apache-2.0 OR GPL-3.0-or-later OR MIT
      1 Apache-2.0 OR GPL-3.0
      1 Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR MIT
      1 Apache-2.0 OR GPL-2.0
      1 Apache-2.0 OR BSD-3-Clause-Clear
      1 Apache-2.0 OR BSD-2-Clause OR MIT
      1 Apache-2.0 OR Beerware OR MIT
      1 Apache-2.0 AND Parity-6.0.0
      1 Apache-2.0 AND CC0-1.0
      1 Apache-1.0 OR MIT
      1 AGPL-3.0 WITH eCos-exception-2.0
      1 AGPL-3.0-or-later OR OSL-3.0
      1 AGPL-3.0 OR Apache-2.0 OR GPL-3.0 OR MIT
      1 AGPL-1.0 OR MIT
      1 AGPL-1.0
      1 AFL-2.0
      1 0BSD OR Zlib
#!/usr/bin/bash
# Generator script for the raw summary
# Obviously DO NOT run all the time, don't want to overload Crates.io
# Félix Saparelli, Public Domain (CC0)
# Dependencies: bash, ls, sort, sed, uniq, grep, wc, xargs, aria2c
# And jq which is available at: https://stedolan.github.io/jq/
# The entire script takes about 20 minutes to run (lots of crates!)
folder="metacrate-$(date +"%Y.%m.%d-%H-%M-%S")"
echo "---> Create unique folder $folder"
mkdir $folder
cd $folder
echo "---> Fetch the current state of the registry"
git clone --depth=1 git://github.com/rust-lang/crates.io-index.git index
echo "---> Compile a list of every crate indexed"
cd index
ls -1F ** | grep -E '[^/:*@=>|]$' > ../index.tmp
ls -1F **/** | grep -E '[^/:*@=>|]$' >> ../index.tmp
cd ..
grep -oP '(?<=/)?[^/]+$' index.tmp | sort | uniq > index.list
rm index.tmp
echo "---> Got a total of $(wc -l index.list | cut -d\ -f1) crates"
echo "---> Fetch JSON description of every crate (takes a long time)"
xargs -a index.list -n1 -I% echo https://crates.io/api/v1/crates/% > index.urls
mkdir crates
aria2c -j 50 -d crates -i index.urls
echo "---> Extract license information of every crate"
find crates/* -exec cat {} \; | jq -r '.versions[0].license' > licenses.list
echo "---> Compile summary of license usage"
cat <<'SORTER' > sorter
#!/bin/sh
sed -E \
-e 's#^# #' \
-e 's#$# #' \
-e 's#\s+# #g' \
-e 's#\s*/\s*# OR #g' \
-e 's#\s+WITH\s+#-WITH-#g' \
-e 's#\s+AND\s+#-AND-#g' \
-e 's#^\s*$#null#' \
-e 's#\+\s?#-or-later #g' \
\
-e 's# ([B-Z][A-Z0-9.-]+) OR (A[A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# ([B-Z][A-Z0-9.-]+) OR (A[A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# ([B-Z][A-Z0-9.-]+)-AND-(A[A-Z0-9.-]+) # \2-AND-\1 #ig' \
\
-e 's# (G[A-Z0-9.-]+) OR ([A-F][A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# (G[A-Z0-9.-]+)-AND-([A-F][A-Z0-9.-]+) # \2-AND-\1 #ig' \
-e 's# ([H-Z][A-Z0-9.-]+) OR (G[A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# ([H-Z][A-Z0-9.-]+)-AND-(G[A-Z0-9.-]+) # \2-AND-\1 #ig' \
\
-e 's# (L[A-Z0-9.-]+) OR ([A-K][A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# (L[A-Z0-9.-]+)-AND-([A-K][A-Z0-9.-]+) # \2-AND-\1 #ig' \
-e 's# ([M-Z][A-Z0-9.-]+) OR (L[A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# ([M-Z][A-Z0-9.-]+)-AND-(L[A-Z0-9.-]+) # \2-AND-\1 #ig' \
\
-e 's# (M[A-Z0-9.-]+) OR ([A-L][A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# (M[A-Z0-9.-]+)-AND-([A-L][A-Z0-9.-]+) # \2-AND-\1 #ig' \
-e 's# ([N-Z][A-Z0-9.-]+) OR (M[A-Z0-9.-]+) # \2 OR \1 #ig' \
-e 's# ([N-Z][A-Z0-9.-]+)-AND-(M[A-Z0-9.-]+) # \2-AND-\1 #ig' \
\
-e 's# (M[J-Z][A-Z0-9.-]*) OR MIT # MIT OR \1 #ig' \
\
-e 's#-AND-# AND #g' \
-e 's#-WITH-# WITH #g' \
-e 's#\s+# #g' \
-e 's#^\s+##' \
-e 's#\s+$##' \
licenses.list \
| sort \
| uniq -c \
| sort -nr
SORTER
chmod +x sorter
./sorter > summary
echo "---> Here's the summary:"
cat summary
@robinst
Copy link

robinst commented Apr 27, 2016

Nice script! Ran it again just now:

   2614 "MIT"
    910 "MIT/Apache-2.0"
    266 "Apache-2.0"
    102 "GPL-3.0"
    100 "BSD-3-Clause"
     86 "non-standard"
     79 "MPL-2.0"
     69 "CC0-1.0"
     61 "BSD-2-Clause"
     40 "WTFPL"
     38 "ISC"
     37 "Unlicense"
     37 null
     37 "LGPL-3.0"
     30 "Zlib"
     27 "Unlicense/MIT"
     21 "GPL-2.0"
     20 "LGPL-3.0+"
     20 "AGPL-3.0"
     18 "LGPL-2.1"
     16 "GPL-3.0+"
     11 "GPL-2.0+"
     10 "LGPL-2.1+"
     10 "BSL-1.0"
      7 "zlib-acknowledgement"
      6 " GPL-2.0"
      5 "AML"
      3 "MIT/ISC"
      2 "Python-2.0"
      2 "MITNFA"
      2 "GPL-2.0+ AND AGPL-3.0+"
      2 "BSL-1.0/Apache-2.0"
      2 "BSD-4-Clause"
      2 "Apache-2.0/BSD-3-Clause-Clear/MIT"
      2 "AML/Apache-2.0"
      1 "Zlib/Libpng"
      1 "Zed"
      1 "Unlicense/MPL-1.1/MIT"
      1 "Unlicense/Apache-2.0"
      1 "NCSA"
      1 "MPL-2.0-no-copyleft-exception"
      1 "MIT/WTFPL/BSL-1.0"
      1 "MIT/BSD-3-Clause"
      1 "MIT/BSD-2-Clause"
      1 "MIT/Apache-2.0/BSD-3-Clause"
      1 "MIT/Apache-1.0"
      1 "MIT/AGPL-1.0"
      1 "MirOS"
      1 "LGPL-2.0+"
      1 "LGPL-2.0"
      1 "IJG"
      1 "GPL-3.0/LGPL-3.0"
      1 "GPL-3.0+/BSD-3-Clause"
      1 " GPL-3.0"
      1 "GPL-2.0/GPL-3.0/MIT/Apache-2.0"
      1 "FTL / GPL-2.0"
      1 "CC-BY-SA-4.0/MIT"
      1 "CC-BY-NC-4.0"
      1 "Apache-2.0/GPL-2.0"
      1 "AGPL-3.0 WITH eCos-exception-2.0"
      1 "AGPL-3.0+"

(Used ls | xargs cat -- | sed 's|MIT / Apache-2.0|MIT/Apache-2.0|' | sed 's|MIT OR Apache-2.0|MIT/Apache-2.0|' | sed 's|Apache-2.0 / MIT|MIT/Apache-2.0|' | sed 's|Apache-2.0 OR MIT|MIT/Apache-2.0|' | sed 's|Apache-2.0/MIT|MIT/Apache-2.0|' | sort | uniq -c | sort -nr to consolidate duplicates.)

@vmx
Copy link

vmx commented Feb 3, 2020

@passcod Thanks a lot for the script! I updated to make it work with the current index and also used @robinst sed commands:

#!/usr/bin/bash
# Generator script for the raw summary
# Obviously DO NOT run all the time, don't want to overload Crates.io
# Félix Saparelli, Public Domain (CC0)
# Dependencies: bash, ls, sort, uniq, grep, wc, xargs, aria2c
# And jq which is available at: http://stedolan.github.io/jq/
# The entire script takes about 30 seconds to run, bottleneck is net

folder="metacrate-$(date +"%Y.%m.%d-%H-%M-%S")"
echo "---> Create unique folder $folder"
mkdir $folder
cd $folder

echo "---> Fetch the current state of the registry"
git clone --depth=1 git://github.com/rust-lang/crates.io-index.git index

echo "---> Compile a list of every crate indexed"
cd index
ls -1F ** | grep -E '[^/:*@=>|]$' > ../index.tmp
ls -1F **/** | grep -E '[^/:*@=>|]$' >> ../index.tmp
cd ..
cat index.tmp | grep -oP '(?<=/)?[^/]+$' | sort | uniq > index.list
rm index.tmp

echo "---> Got a total of $(wc -l index.list | cut -d\  -f1) crates"

echo "---> Fetch JSON description of every crate"
cat index.list | xargs -n1 echo https://crates.io/api/v1/crates/ | tr -d ' ' > index.urls
mkdir crates
aria2c -j 50 -d crates -i index.urls

echo "---> Extract license information of every crate"
find crates/* -exec cat {} \; | jq -r '.versions[0].license' > licenses.list

echo "---> Compile summary of license usage"
cat licenses.list| sed 's|MIT / Apache-2.0|MIT/Apache-2.0|' | sed 's|MIT OR Apache-2.0|MIT/Apache-2.0|' | sed 's|Apache-2.0 / MIT|MIT/Apache-2.0|' | sed 's|Apache-2.0 OR MIT|MIT/Apache-2.0|' | sed 's|Apache-2.0/MIT|MIT/Apache-2.0|' | sort | uniq -c | sort -nr > summary

echo "---> Here's the summary:"
cat summary

The result from 2020-02-03 is (I left the ones with less that 10 crates out for for brevity):

  15613 MIT
   9381 MIT/Apache-2.0
   3001 Apache-2.0
    978 non-standard
    886 GPL-3.0
    714 MPL-2.0
    656 BSD-3-Clause
    352 CC0-1.0
    348 ISC
    340 GPL-3.0-or-later
    300 BSD-2-Clause
    236 AGPL-3.0
    209 Unlicense
    183 WTFPL
    159 LGPL-3.0
    127 GPL-3.0-only
    126 GPL-3.0+
    118 LGPL-2.1
    117 0BSD
    101 Zlib
     91 Apache-2.0 WITH LLVM-exception
     83 GPL-2.0
     76 Unlicense/MIT
     68 AGPL-3.0-or-later
     53 LGPL-3.0+
     50 LGPL-3.0-or-later
     49 AGPL-3.0+
     38 Unlicense OR MIT
     36 null
     35 MIT / BSL-1.0
     34 GPL-2.0+
     32 AGPL-3.0-only
     28 MITNFA
     26 MIT OR BSD-3-Clause
     25 GPL-2.0-or-later
     23 BSL-1.0
     22 GPL-2.0-only
     21 LGPL-2.1+
     21 BSD-2-Clause OR MIT
     20 Fair
     19 MPL-2.0+
     18 LGPL-2.1-or-later
     14 MIT/Apache-2.0/BSD-3-Clause
     14 BSD-4-Clause
     13 MPL-2.0/MIT/Apache-2.0
     13 LGPL-3.0-only
     12 zlib-acknowledgement
     11 MIT-0
     10 MPL-2.0 OR MIT/Apache-2.0
     10 MIT/X11 OR Apache-2.0
     10 MIT/Apache-2.0 OR MPL-2.0
     10 Apache-2.0 AND MIT
…

@passcod
Copy link
Author

passcod commented Feb 4, 2020

Updated the gist with your changes plus some more, thanks

@vmx
Copy link

vmx commented Feb 4, 2020

@passcod: the "Compile a list of every crate indexed" step creates a lot of duplicated entries. The sorting needs to be done after the grep:

$ sort index.tmp | uniq | grep -oP '(?<=/)?[^/]+$' | wc -l
70579
$ grep -oP '(?<=/)?[^/]+$' index.tmp | sort | uniq | wc -l
35290

@passcod
Copy link
Author

passcod commented Feb 4, 2020

Ahhh, I didn't catch that while reading through

@sukhmel
Copy link

sukhmel commented Jan 24, 2025

For me the argument list in ls **/** produces an error of being too long. I assume this may be replaced

cd index
ls -1F ** | grep -E '[^/:*@=>|]$' > ../index.tmp
ls -1F **/** | grep -E '[^/:*@=>|]$' >> ../index.tmp
cd ..

with a call to find with a condition not to list hidden directories and files?

find index -type f -mindepth 2 -not -path '*/.*'  -exec basename -a {} + > index.tmp

On my machine the following took 15 minutes and my xargs didn't accept -a, so maybe replace

cat index.list | xargs -n1 echo https://crates.io/api/v1/crates/ | tr -d ' ' > index.urls

with the following

cat index.list | while read line; do echo "https://crates.io/api/v1/crates/${line}"; done > index.urls 

this also doesn't run because argument list is too long

find crates/* -exec cat {} \; | jq -r '.versions[0].license' > licenses.list

but I think it can be replaced with

find crates -type f -exec cat {} \; | jq -r '.versions[0].license' > licenses.list

Resultant summary is as follows, looks like there are some problems with sorter that I'm not proficient to fix, as it seems to not understand some cases, and skip letters s

70347  MIT 
42290  Apache-2.0 OR MIT 
19905  Apache-2.0 
6931  non- tandard 
3646  MPL-2.0 
3495  GPL-3.0 
2779  BSD-3-Clau e 
2389  GPL-3.0-or-later 
1526  GPL-3.0-only 
1068  AGPL-3.0-or-later 
1067  Unlicen e 
1011  ISC 
 924  CC0-1.0 
 917  AGPL-3.0 
 861  BSD-2-Clau e 
 657  AGPL-3.0-only 
 516  0BSD 
 416  WTFPL 
 402  LGPL-3.0 
 366  LGPL-3.0-or-later 
 366  Apache-2.0 WITH LLVM-exception 
 362  GPL-2.0 
 292  Unlicen e OR MIT 
 285  GPL-2.0-or-later 
 282  EUPL-1.2 
 269  Zlib 
 258  Apache-2.0 OR MIT OR Zlib 
 245  null 
 242  GPL-3.0-or-later  
 236  MIT  OR  Apache-2.0 
 232  GPL-2.0-only 
 193  LGPL-2.1 
 190  LGPL-3.0-only 
 180  GPL-3.0-or-later WITH Cla path-exception-2.0 
 166  MulanPSL-2.0 
 138  BSL-1.0 
 123  BUSL-1.1 
 102  Apache-2.0 WITH Apache-2.0 OR LLVM-exception OR MIT 
  97  LGPL-2.1-or-later 
  90  MIT-0 
  88  BSD-2-Clau e-Patent 
  83  Apache-2.0 OR CC0-1.0 OR MIT 
  78  LGPL-3.0-or-later  
  77  GPL-2.0-or-later  
  70  Unicode-3.0 
  68  MIT AND Apache-2.0 
  62  AGPL-3.0-or-later  
  60  BSD-3-Clau OR MIT e 
  57  Apache-2.0 OR BSD-3-Clau e 
  55  BlueOak-1.0.0 
  54  MITNFA 
  52  BSD-2-Clau e OR MIT 
  51  Apache-2.0 OR MIT OR MPL-2.0 
  49  BSD-3-Clau e-Clear 
  49  Apache-2.0 OR EPL-2.0 
  47  LGPL-2.1-only 
  46  CAL-1.0 
  42  MPL-2.0-or-later  
  42  LGPL-2.0-or-later 
  42  Apache-2.0 OR BSL-1.0 OR MIT 
  39  BSD-4-Clau e 
  36  Apache-2.0 OR GPL-3.0-or-later OR MulanPSL-2.0 
  35  Ela tic-2.0 
  35  BSD-2-Clau e OR Apache-2.0 
  34  SSPL-1.0 
  31  Apache-2.0 OR GPL-3.0 
  30  Apache-2.0 OR BSD-3-Clau OR MIT e 
  28  GPL-2.0-or-later WITH Bi on-exception-2.2 
  28  CC-BY-NC-ND-4.0 
  27  Apache-2.0 OR ISC OR MIT 
  26  Fair 
  25  EPL-2.0 
  25  Apache-2.0 OR MIT WITH LLVM-exception 
  25  Apache-2.0 AND MIT 
  24  LGPL-2.1-or-later  
  24   Apache-2.0 OR EPL-2.0 
  23  MIT OR Unlicen e 
  23  CC-BY-NC-4.0 
  21  MIT OR MulanPSL-2.0 
  21  MIT  OR  BSL-1.0 
  21  0BSD OR Apache-2.0 OR MIT 
  20  GPL-3.0-only OR Licen eRef-Slint-Royalty-free-2.0 OR Licen eRef-Slint-Software-3.0 
  20  BSD-3-Clau e OR Apache-2.0 
  20  Apache-2.0 OR ISC 
  19  Beerware 
  18  OSL-3.0 
  18  GPL-3.0-only OR MPL-2.0 
  18  CECILL-B 
  18  Apache-2.0 OR CC0-1.0 
  17  MirOS 
  17  GPL-3.0-or-later OR MIT 
  17  CECILL-2.1 
  17  CC-PDDC 
  17  BSD-2-Clau OR MIT e 
  17  Apache-2.0 OR MPL-2.0 
  17  Apache-2.0 OR LGPL-2.1-or-later 
  16  Unlicen e OR Apache-2.0 OR MIT 
  16  GPL-3.0 OR MIT 
  16  CC-BY-4.0 
  16  Apache-2.0  OR  MIT 
  16   GPL-3.0-or-later 
  15  CC-BY-SA-4.0 
  15  CC-BY-NC-SA-4.0 
  15  Arti tic-2.0 
  15  Apache-2.0 OR GPL-2.0 OR GPL-3.0 OR MIT 
  15  Apache-2.0 OR BSD-3-Clau e OR MIT OR Zlib 
  14  OLFL-1.3 
  14  MPL-2.0-no-copyleft-exception 
  14  Apache-2.0 OR MIT WITH LLVM-exception  
  13  (GPL-3.0-only OR Licen eRef-SixtyFPS-commercial) 
  12  Apache-2.0 OR MIT OR X11 
  11  UPL-1.0 
  11  LGPL-3.0-or-later OR MPL-2.0 
  11  LGPL-2.0 
  11  Apache-2.0 OR LGPL-3.0 
  11  Apache-2.0 OR EUPL-1.2 OR MIT 
  11  AML 
  10  zlib-acknowledgement 
  10  NGPL 
  10  LGPL-2.1-or-later OR MPL-2.0 
  10  GPL-2.0-or-later OR MPL-2.0 OR LGPL-2.1-or-later 
  10  BSD-3-Clau e-Attribution 
  10  Apache-2.0 OR Zlib 
  10  Apache-2.0 OR MIT OR Unlicen e 
  10  Apache-2.0 OR BSL-1.0 
  10  Apache-2.0 OR BSD-2-Clau e 
  10  Apache-2.0 AND BSD-3-Clau e 
  10  Apache-1.1 OR MIT 
   9  MIT OR MPL-2.0 
   9  MIT AND BSD-2-Clau e 
   9  LGPL-2.0-only 
   9  BSD-2-Clau e OR Apache-2.0 OR MIT 
   9  Apache-2.0 OR GPL-2.0-or-later 
   8  X11 
   8  Unlicen e OR CC0-1.0 OR MIT 
   8  Unlicen e OR CC0-1.0 
   8  NOASSERTION 
   8  GPL-2.0-or-later OR LGPL-2.0-or-later 
   8  AGPL-3.0-or-later OR EUPL-1.2 
   8  AGPL-3.0-or-later AND CC-BY-NC-SA-4.0 
   8  AFL-3.0 
   8   AGPL-3.0-only 
   7  Po tgreSQL 
   7  OFFIS 
   7  Nokia 
   7  NCSA 
   7  EPL-1.0 
   7  BSD-1-Clau e 
   7  Apache-2.0 OR MIT OR WTFPL 
   7  Apache-2.0 OR MIT OR Unlicen e OR WTFPL 
   7   Apache-2.0 
   6  Po MIT OR tgreSQL 
   6  GPL-2.0 OR GPL-3.0 
   6  CC0-1.0 OR MIT 
   6  BSD-2-Clau OR LGPL-2.1-only e 
   6  Apache-2.0 OR ISC OR MIT OR CC-BY-4.0 OR LGPL-3.0-or-later 
   6  Apache-2.0 OR CC-BY-4.0 OR MIT 
   6  (MIT OR Apache-2.0) AND Unicode-DFS-2016 
   6   GPL-2.0 
   6  	GPL-3.0-or-later 
   5  wxWindow  
   5  MIT-0 OR 0BSD 
   5  MIT OR X11 
   5  MIT AND BSD-3-Clau e 
   5  ISC OR MIT 
   5  ISC AND (Apache-2.0 OR ISC) 
   5  EUPL-1.1 
   5  CDDL-1.1 
   5  CDDL-1.0 
   5  BSD-3-Clau e OR Apache-2.0 OR MIT 
   5  BSD-2-Clau OR LGPL-2.1 e 
   5  Apache-2.0 OR UPL-1.0 
   5  Apache-2.0 OR MIT OR MulanPSL-2.0 
   5  Apache-2.0 OR LGPL-2.1-or-later OR MIT 
   5  Apache-2.0 OR GPL-2.0-only OR MIT 
   5  Apache-2.0 OR GPL-2.0 
   5  Apache-2.0 OR BlueOak-1.0.0 OR MIT 
   5  AGPL-3.0 WITH mif-exception 
   5   AGPL-3.0-or-later 
   4  ble ing 
   4  WTFPL OR 0BSD 
   4  OML 
   4  Nunit 
   4  MIT OR Zlib 
   4  MIT AND MPL-2.0 
   4  MIT  
   4  LGPL-3.0-or-later OR MIT 
   4  Hippocratic-2.1 
   4  GLWTPL 
   4  EPL-2.0 OR GPL-3.0 
   4  CECILL-C 
   4  CC0-1.0 OR Unlicen e 
   4  CC-BY-SA-3.0 
   4  BSD-3-Clau e OR MIT 
   4  Apache-2.0 OR LGPL-3.0-or-later 
   4  Apache-2.0 OR GPL-3.0-or-later OR MIT 
   4  Apache-2.0 OR GPL-2.0-or-later OR MIT 
   4  Apache-2.0 OR BSL-1.0 OR MIT OR CC0-1.0 
   4  AML OR Apache-2.0 
   4  AFL-1.1 
   4  0BSD OR Unlicen e 
   4  0BSD OR Apache-2.0 
   4  (MIT OR Apache-2.0) AND BSD-3-Clau e 
   4  (Apache-2.0 OR MIT) AND Po tgreSQL 
   4   GPL-3.0-only 
   4   GPL-3.0 
   4   GPL-2.0-or-later 
   4   AGPL-3.0 
   3  bzip2-1.0.6 
   3  Unicode-DFS-2016 
   3  RPL-1.5 
   3  Python-2.0 
   3  NPOSL-3.0 
   3  Mup 
   3  MPL-2.0 AND Apache-2.0 
   3  MIT OR NCSA 
   3  MIT AND Zlib 
   3  LGPL-2.1-or-later OR MIT 
   3  LGPL-2.1-only OR LGPL-3.0-only 
   3  LGPL-2.0-or-later  
   3  JSON 
   3  GPL-3.0-or-later  OR BSD-3-Clau e 
   3  GPL-1.0 
   3  BSL-1.0 OR MIT 
   3  BSD-3-Clau e OR Unlicen e 
   3  BSD-3-Clau OR GPL-2.0-only e 
   3  BSD-2-Clau e-FreeBSD 
   3  Arti OR GPL-1.0-or-later tic-1.0-Perl 
   3  Apache-2.0 OR LGPL-2.1 OR MIT 
   3  Apache-2.0 OR BlueOak-1.0.0 
   3  Apache-2.0 OR BSL-1.0 OR MIT OR MPL-2.0 OR Zlib OR Unlicen e 
   3  Apache-2.0 OR BSD-2-Clau OR MIT e 
   3  Apache-2.0  OR  MIT  OR  MPL-2.0 
   3  APL-1.0 
   3  AGPL-1.0-or-later 
   3  (MIT OR Apache-2.0) AND OFL-1.1 
   3   LGPL-3.0-only 
   3   LGPL-2.1-only 
   3  	Apache-2.0 
   2  WTFPL OR WTFPL OR WTFPL OR WTFPL OR WTFPL OR WTFPL OR WTFPL OR WTFPL 
   2  Unlicen e OR Apache-2.0 OR CC0-1.0 OR MIT 
   2  Unlicen e OR Apache-2.0 
   2  Unlicen e OR 0BSD 
   2  Sleepycat 
   2  PolyForm-Noncommercial-1.0.0 
   2  Parity-7.0.0 
   2  Parity-6.0.0 AND Apache-2.0 
   2  MS-PL 
   2  MPL-2.0-or-later  OR LGPL-3.0-or-later  
   2  MPL-2.0 OR Python-2.0 
   2  MPL-2.0 AND BSD-3-Clau e 
   2  MIT OR 0BSD 
   2  MIT OR  Apache-2.0 
   2  MIT AND Unicode-3.0 
   2  MIT AND OFL-1.1 
   2  MIT AND ODbL-1.0 
   2  MIT AND LGPL-2.1-or-later 
   2  MIT AND CC-BY-4.0 
   2  MIT AND (MIT OR Apache-2.0) 
   2  Licen eRef-dYdX-Cu tom 
   2  LGPL-3.0-only OR MIT 
   2  LGPL-3.0 OR MPL-2.0 
   2  LGPL-2.1-or-later WITH GCC-exception-2.0 
   2  LGPL-2.1-only OR MIT 
   2  LGPL-2.1-only AND MIT AND BSD-2-Clau e 
   2  LGPL-2.1-only AND MIT 
   2  LGPL-2.1 OR MPL-1.1 
   2  ISC AND (Apache-2.0 OR ISC) AND OpenSSL 
   2  GPL-3.0-or-later AND GPL-3.0-only 
   2  GPL-3.0-only WITH GPL-3.0-linking-exception 
   2  GPL-3.0-only OR MIT 
   2  GPL-3.0-only OR LGPL-3.0-only 
   2  GPL-3.0-only	 
   2  GPL-2.0-or-later OR MIT 
   2  GPL-2.0-or-later  WITH Bi on-exception-2.2 
   2  GPL-2.0-or-later  OR MIT 
   2  GPL-2.0 OR MIT 
   2  GPL-2.0 OR GPL-3.0 OR LGPL-3.0 
   2  GPL-1.0-only 
   2  GFDL-1.3-or-later 
   2  EUPL-1.2-or-later  
   2  EUPL-1.2 OR GPL-3.0-or-later 
   2  D-FSL-1.0 
   2  CC-BY-NC-2.5 
   2  BSD-3-Clau e-No-Military-Licen e 
   2  BSD-3-Clau e AND Po tgreSQL 
   2  BSD-3-Clau e AND ISC AND MIT 
   2  BSD-2-Clau e-View  
   2  BSD-2-Clau e AND MIT 
   2  BSD-2-Clau OR MIT Apache-2.0 OR e-Patent 
   2  Arti GPL-2.0-or-later OR tic-1.0 
   2  Apache-2.0 WITH LLVM-exception OR MIT OR NCSA 
   2  Apache-2.0 WITH LLVM-exception OR MIT 
   2  Apache-2.0 OR Vim 
   2  Apache-2.0 OR MIT-0 
   2  Apache-2.0 OR ISC OR MIT-0 
   2  Apache-2.0 OR GPL-3.0 OR MIT 
   2  Apache-2.0 OR GPL-2.0 OR BSD-3-Clau OR MIT OR GPL-3.0 e 
   2  Apache-2.0 OR CC0-1.0 OR MIT-0 
   2  Apache-2.0 OR Beerware OR MIT 
   2  Apache-2.0 OR BSD-3-Clau e-Clear OR MIT 
   2  Apache-2.0 OR BSD-2-Clau OR LGPL-3.0-or-later e OR MIT 
   2  Apache-2.0 OR BSD-2-Clau OR LGPL-3.0-or-later e 
   2  Apache-2.0 OR Apache-2.0 OR MIT WITH LLVM-exception 
   2  Apache-2.0 OR Apache-2.0 OR CC0-1.0 WITH LLVM-exception 
   2  Apache-2.0 OR AGPL-3.0 OR MIT 
   2  Apache-2.0  
   2  Apache-1.0 OR MIT 
   2  Apache-1.0 
   2  APSL-2.0 OR MIT 
   2  AGPL-1.0-only 
   2  (MIT OR Apache-2.0) AND GPL-3.0-or-later 
   2  (Apache-2.0 OR MIT) AND CC0-1.0 AND MIT 
   2   MIT  
   2   MIT 
   2   LGPL-3.0-or-later 
   2   BSD-3-Clau e 
   2   Apache-2.0 OR MIT 
   2    
   2  	LGPL-3.0-or-later 
   2  	BSD-3-Clau e 
   2  	AGPL-3.0-only 
   1  copyleft-next-0.3.1 OR GPL-3.0-or-later 
   1  Zlib AND ISC 
   1  Zlib AND (MIT OR Apache-2.0) 
   1  WTFPL OR CC0-1.0 
   1  Unlicen e OR MIT OR MPL-1.1 
   1  Unlicen e OR BSL-1.0 OR MIT 
   1  Unlicen e AND BSD-3-Clau e 
   1  Unicode-TOU 
   1  SimPL-2.0 
   1  PolyForm-Small-Bu ine -1.0.0 AND Hippocratic-2.1 
   1  Parity-6.0.0 
   1  PDDL-1.0 
   1  OLDAP-2.8 
   1  OGL-UK-3.0 
   1  ODbL-1.0 
   1  NLPL 
   1  NCSA AND BSD-3-Clau e 
   1  MulanPSL-2.0	 
   1  MPL-2.0 AND MIT 
   1  MPL-2.0 AND LGPL-3.0-only 
   1  MPL-2.0 AND GPL-2.0 
   1  MPL-2.0 AND BSD-2-Clau e AND Apache-2.0 
   1  MPL-2.0 AND (Apache-2.0 OR MIT) 
   1  MIT OR Apache-2.0 
   1  MIT-open-group	 
   1  MIT-CMU 
   1  MIT OR zlib-acknowledgement 
   1  MIT OR WTFPL 
   1  MIT OR UPL-1.0 
   1  MIT OR PDDL-1.0 
   1  MIT OR MPL-2.0-or-later  
   1  MIT OR MIT-0 
   1  MIT AND WTFPL 
   1  MIT AND Unicode-DFS-2016 
   1  MIT AND RPSL-1.0 
   1  MIT AND LGPL-2.0-or-later 
   1  MIT AND GPL-2.0 WITH GNU-compiler-exception 
   1  MIT AND CC-BY-4.0 AND CC0-1.0 
   1  MIT AND BSD-2-Clau e AND Apache-2.0 
   1  MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0) 
   1  MIT AND Apache-2.0 OR Zlib AND Zlib 
   1  MIT AND Apache-2.0 AND BSD-3-Clau e AND BSD-2-Clau e AND MPL-2.0 AND ISC AND CC0-1.0 
   1  MIT AND APAFML 
   1  MIT AND (MIT AND PSF-2.0) 
   1  Licen eRef-OQL-1.1 
   1  Licen eRef-ELv2 
   1  Licen Apache-2.0 OR eRef-OQL-1.2 OR MIT 
   1  Libpng 
   1  LiLiQ-Rplu -1.1 
   1  LPPL-1.3c 
   1  LOOP 
   1  LGPL-3.0-or-later WITH LGPL-3.0-linking-exception 
   1  LGPL-3.0 OR MIT 
   1  LGPL-2.1-or-later WITH WxWindow -exception-3.1 
   1  LGPL-2.1-or-later	 
   1  LGPL-2.1 OR MPL-2.0 
   1  LGPL-2.1 OR MIT 
   1  LGPL-2.1 OR LGPL-3.0 
   1  LGPL-2.1 AND MIT AND BSD-2-Clau e 
   1  LGPL-2.1 AND MIT 
   1  LGPL-2.0-or-later AND Apache-2.0 
   1  LGPL-2.0 OR MPL-1.1 
   1  JSON OR MIT 
   1  IJG AND Zlib AND BSD-3-Clau e 
   1  IJG 
   1  ICU 
   1  GPL-3.0-or-later WITH GCC-exception-2.0 
   1  GPL-3.0-or-later OR MIT  
   1  GPL-3.0-or-later OR LGPL-3.0-or-later 
   1  GPL-3.0-or-later OR LGPL-2.1-or-later 
   1  GPL-3.0-or-later OR ISC 
   1  GPL-3.0-or-later AND CC-BY-SA-4.0 
   1  GPL-3.0-or-later AND BSD-3-Clau e 
   1  GPL-3.0-or-later AND Apache-2.0 AND BSD-3-Clau e AND Zlib 
   1  GPL-3.0-or-later  OR CC0-1.0 
   1  GPL-3.0-or-later  AND GPL-2.0 AND Zlib 
   1  GPL-3.0-or-later  AND BSD-3-Clau e 
   1  GPL-3.0-only OR Licen eRef-Slint-commercial 
   1  GPL-3.0-only  
   1  GPL-3.0 WITH Cla path-exception-2.0 
   1  GPL-3.0 OR LGPL-3.0-only 
   1  GPL-3.0 OR LGPL-3.0 OR MPL-2.0 
   1  GPL-3.0 OR LGPL-3.0 
   1  GPL-3.0 OR LGPL-2.1 
   1  GPL-3.0 OR GFDL-1.3 
   1  GPL-3.0 AND Apache-2.0 
   1  GPL-3.0  OR  MPL-2.0 
   1  GPL-2.0-or-later WITH LLVM-exception 
   1  GPL-2.0-or-later WITH GPL-CC-1.0 
   1  GPL-2.0-or-later WITH Font-exception-2.0 
   1  GPL-2.0-or-later OR MIT-0 
   1  GPL-2.0-or-later AND MIT AND GPL-2.0-only WITH Linux- y call-note 
   1  GPL-2.0-or-later  AND LGPL-2.1-or-later  AND MPL-1.1 
   1  GPL-2.0-only WITH GCC-exception-2.0 
   1  GPL-2.0-only OR MPL-2.0 
   1  GPL-2.0-only OR GPL-3.0-only OR LGPL-3.0-only 
   1  GPL-2.0 WITH Bi on-exception-2.2 
   1  GPL-2.0 OR LGPL-2.1 OR MPL-1.1 
   1  GPL-1.0-or-later 
   1  GLWTPL OR Unlicen e OR Apache-2.0 OR MIT 
   1  FTL  OR  GPL-2.0 
   1  FSFAP 
   1  Ela OR MIT tic-2.0 
   1  EUPL-1.2 OR Unlicen e 
   1  EFL-2.0 
   1  COIL-1.0 
   1  CECILL-C OR CECILL-2.1 
   1  CDDL-1.1 OR GPL-2.0-or-later 
   1  CDDL-1.0 OR LGPL-2.1-only 
   1  CC0-1.0 AND Apache-2.0 
   1  CC-PDDC OR MIT 
   1  CC-BY-SA-4.0 OR MPL-2.0 
   1  CC-BY-SA-4.0 OR MIT 
   1  CC-BY-SA-3.0 OR GFDL-1.1-only 
   1  CC-BY-ND-4.0 
   1  CC-BY-NC-SA-3.0 
   1  CC-BY-NC-SA-2.5 
   1  CC-BY-NC-SA-1.0 
   1  CC-BY-NC-ND-3.0 
   1  CC-BY-NC-ND-1.0 
   1  CC-BY-4.0 AND MIT 
   1  CC-BY-1.0 
   1  BlueOak-1.0.0 OR BSD-2-Clau e-Patent 
   1  BSD-Source-Code 
   1  BSD-Protection 
   1  BSD-4-Clau e OR MIT 
   1  BSD-3-Clau e AND MIT 
   1  BSD-3-Clau e AND BSD-3-Clau OR MIT e AND Apache-2.0 
   1  BSD-3-Clau e AND Apache-2.0 
   1  BSD-3-Clau e  
   1  BSD-3-Clau OR MIT e-No-Military-Licen e 
   1  BSD-3-Clau OR MIT e OR LGPL-3.0-only 
   1  BSD-3-Clau OR MIT OR GPL-3.0 e 
   1  BSD-3-Clau Apache-2.0 OR e-Clear 
   1  BSD-2-Clau e OR LGPL-2.1 
   1  BSD-2-Clau e OR GPL-3.0-or-later 
   1  BSD-2-Clau e AND LGPL-3.0-or-later 
   1  BSD-2-Clau e AND ISC AND MIT 
   1  BSD-2-Clau e AND BSD-1-Clau e 
   1  BSD-2-Clau e	 
   1  BSD-2-Clau OR MIT e-Patent 
   1  BSD-2-Clau OR MIT e OR BSD-1-Clau e 
   1  BSD-2-Clau OR MIT e OR Apache-2.0 
   1  BSD-2-Clau Apache-2.0 OR e-Patent OR MIT 
   1  Arti tic-1.0-Perl 
   1  Arti OR GPL-2.0 tic-1.0 
   1  Apache-2.0-or-later OR MIT  
   1  Apache-2.0 WITH LLVM-exception AND MIT 
   1  Apache-2.0 WITH BSL-1.0 OR LLVM-exception 
   1  Apache-2.0 OR copyleft-next-0.3.1 OR MIT OR CC-BY-4.0 
   1  Apache-2.0 OR Zlib OR BSL-1.0 OR MIT 
   1  Apache-2.0 OR Unlicen e 
   1  Apache-2.0 OR Po tgreSQL 
   1  Apache-2.0 OR MIT OR Python-2.0.1 
   1  Apache-2.0 OR MIT OR NCSA 
   1  Apache-2.0 OR MIT OR MIT-0 
   1  Apache-2.0 OR MIT OR 0BSD OR CC0-1.0 OR CDDL-1.0 OR MIT-0 OR Unlicen e OR WTFPL 
   1  Apache-2.0 OR MIT OR 0BSD 
   1  Apache-2.0 OR MIT AND Zlib 
   1  Apache-2.0 OR MIT AND BSD-2-Clau e 
   1  Apache-2.0 OR LGPL-3.0-only OR LGPL-3.0-or-later OR MIT  
   1  Apache-2.0 OR ISC OR MIT WITH LLVM-exception 
   1  Apache-2.0 OR GPL-3.0-or-later 
   1  Apache-2.0 OR GPL-3.0-only 
   1  Apache-2.0 OR GPL-2.0-or-later  
   1  Apache-2.0 OR CC-BY-NC-SA-4.0 
   1  Apache-2.0 OR CC-BY-4.0 OR MIT OR BSD-4-Clau e 
   1  Apache-2.0 OR BSD-1-Clau OR MIT e 
   1  Apache-2.0 OR AGPL-3.0-or-later OR MIT  
   1  Apache-2.0 OR AGPL-3.0 OR MIT OR GPL-2.0 OR GPL-3.0 
   1  Apache-2.0 AND MIT AND BSD-3-Clau e 
   1  Apache-2.0 AND GPL-2.0-or-later 
   1  Apache-2.0 AND CC-BY-SA-4.0 
   1  Apache-2.0 AND BUSL-1.1 
   1  Afmpar e 
   1  APSL-2.0 
   1  AGPLv3 OR Apache-2.0 
   1  AGPL-3.0-or-later OR OSL-3.0 
   1  AGPL-3.0-or-later OR GPL-3.0-or-later 
   1  AGPL-3.0-or-later OR BSD-3-Clau e 
   1  AGPL-3.0-or-later AND WTFPL 
   1  AGPL-3.0-or-later AND 0BSD 
   1  AGPL-3.0-only  
   1  AGPL-3.0 WITH eCo -exception-2.0 
   1  AGPL-3.0 OR MPL-2.0 
   1  AGPL-3.0 OR MIT 
   1  AGPL-3.0 OR Apache-2.0 OR GPL-3.0 OR MIT 
   1  AGPL-1.0 OR MIT 
   1  AGPL-1.0 
   1  AFL-3.0 OR LGPL-3.0-or-later OR MIT 
   1  AFL-2.0 
   1  AAL 
   1  0BSD OR CC0-1.0 
   1  (MIT OR Apache-2.0) AND Unicode-3.0 
   1  (MIT OR Apache-2.0) AND OFL-1.1 AND Licen eRef-UFL-1.0 
   1  (MIT OR Apache-2.0) AND BSD-3-Clau e-LBNL 
   1  (MIT OR Apache-2.0 OR Zlib) AND BSD-3-Clau e 
   1  (MIT OR Apache-2.0 OR BSD-3-Clau e) AND OFL-1.1 
   1  (EPL-1.0 OR BSD-3-Clau e) AND BSD-1-Clau e AND BSD-3-Clau e AND MIT 
   1  (Apache-2.0 OR MIT) AND Unicode-3.0 
   1  (Apache-2.0 OR MIT) AND OGL-UK-3.0 
   1  (Apache-2.0 OR MIT) AND BSD-3-Clau e 
   1  (Apache-2.0 OR MIT) 
   1   MPL-2.0 
   1   GPL-2.0-only 
   1   EUPL-1.2 
   1   CC-BY-NC-SA-4.0 
   1  	MPL-2.0 
   1  	MIT 
   1  	LGPL-3.0-only 
   1  	GPL-3.0-only 
   1  	BSD-2-Clau e 
   1  	AGPL-3.0-or-later

@sukhmel
Copy link

sukhmel commented Jan 24, 2025

Here's what licenses.list contain for me in case someone wants to get the stats without the need to wait for generating one, can't seem to be able to attach it here

@passcod
Copy link
Author

passcod commented Jan 24, 2025

The missing ss are puzzling! Nice update; incredible to think this was 10 years ago soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment