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 |
-
-
Save passcod/2e1983ce415b32bdf3a0 to your computer and use it in GitHub Desktop.
/metacrate-* |
#!/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 |
@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
…
Updated the gist with your changes plus some more, thanks
@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
Ahhh, I didn't catch that while reading through
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
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
The missing s
s are puzzling! Nice update; incredible to think this was 10 years ago soon.
Nice script! Ran it again just now:
(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.)