Esta mañana eran 0. Tras la tabla curada (228) y este paso, 936. Ninguna receta se
re-hasheó: verificado en 30 de las 708 tocadas, 30 hashes idénticos, 0 cambiados.
DE DÓNDE SALE EL DATO, Y POR QUÉ NO ES ADIVINAR. `scripts/licencias-detectar.sh` consulta
la API /repos/{o}/{r}/license de GitHub para las 673 recetas cuya fuente vive allí. Eso
devuelve el resultado de DETECTAR el fichero LICENSE que el repo tiene de verdad
(licensee), no una etiqueta escrita a mano en una web: es la misma evidencia que veríamos
abriendo el tarball, obtenida sin bajar 673 tarballs por un enlace de 8 Mbps. 610 con SPDX
definido; las 63 que GitHub marca NOASSERTION/other se DESCARTAN — un «no sé» de la fuente
se propaga como hueco, no se redondea a una licencia plausible.
Las familias no-GitHub van curadas por la URL DE FUENTE, que es la evidencia que el nombre
no da. Y ahí cometí el error simétrico al que este mismo fichero advertía: había puesto
`knighttime` entre las «herramientas Go» POR SU NOMBRE, y su tarball sale de
download.kde.org — es un Framework de KDE, LGPL. Descartar por nombre falla igual que
aceptar por nombre. Corregido en la cabecera.
LAS DOS IMPRECISIONES, contables con `licencias.sh --revisar` en vez de escondidas:
1. SPDX OBSOLETOS Y AMBIGUOS (71 recetas). GitHub devuelve `GPL-3.0`, `LGPL-2.1`,
`AGPL-3.0`… identificadores que SPDX declaró obsoletos PRECISAMENTE porque no
distinguen `-only` de `-or-later`, y esa diferencia decide con qué se puede combinar el
paquete. NO se normalizan a ciegas: mapear GPL-3.0 → GPL-3.0-or-later sería inventar el
dato que falta. Quedan marcadas para resolver mirando el fuente.
2. LICENCIAS DOBLES COLAPSADAS. La API devuelve UNA sola licencia y muchos proyectos Rust
son «MIT OR Apache-2.0» (p.ej. `fd` quedó como Apache-2.0). No es falso —cumplir una de
las opciones concedidas basta— pero es incompleto. Lo resuelve el cierre estructural:
leer el campo `license` del Cargo.toml en la fase de fetch.
Y un fallo que habría escrito basura en silencio: `licencias-detectadas.tsv` tiene TRES
columnas (añade el owner/repo consultado, para poder auditar) y el sembrador leía dos, así
que la licencia se habría llevado pegado el slug — `license = "MIT<TAB>owner/repo"`, sin
que nada lo validara. Arreglado antes de sembrar.
Quedan 205 sin licencia y 71 por desambiguar.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
346 lines
15 KiB
Plaintext
346 lines
15 KiB
Plaintext
# Tabla CURADA de licencias, para `scripts/licencias.sh --sembrar`. SDD 19 §2.1.
|
|
#
|
|
# Formato: <nombre-de-receta><TAB><expresión SPDX>
|
|
#
|
|
# ── LA REGLA ────────────────────────────────────────────────────────────────────────────────────
|
|
# Acá SÓLO entra lo que se puede afirmar con seguridad, entrada por entrada. Declarar mal una
|
|
# licencia es peor que dejarla vacía: convierte un hueco visible —que alguien va a ir a llenar— en
|
|
# una afirmación falsa sobre la que alguien va a construir. Lo que no esté seguro, NO se pone: se
|
|
# queda como deuda contada por `scripts/licencias.sh`.
|
|
#
|
|
# ── POR QUÉ NO SE PUEDE AUTOMATIZAR POR PATRÓN DE NOMBRE ────────────────────────────────────────
|
|
# Tentación evidente: «todo lo que empieza por k* es KDE ⇒ LGPL». **Falso y caro.** En este catálogo
|
|
# `kail`, `kind`, `ko`, `kopia`, `krew`, `kustomize`, `kyverno`, `katana`, `kiterunner`, `kibi`,
|
|
# `kmon`, `kondo`, `kpt`, `kbld`, `kbs2` y toda la familia `kube*` son herramientas Go sin ninguna
|
|
# relación con KDE — la mayoría Apache-2.0 o MIT. El nombre no es evidencia.
|
|
#
|
|
# Y el error simétrico, que cometí en la primera versión de este fichero: había puesto `knighttime`
|
|
# en esa lista de «herramientas Go» **por su nombre**, y resulta que su tarball sale de
|
|
# `download.kde.org` ⇒ es un Framework de KDE, LGPL. O sea que descartar por nombre falla igual que
|
|
# aceptar por nombre. **La evidencia es la URL de fuente de la receta**, que es lo que agrupa de
|
|
# verdad las familias no-GitHub de más abajo.
|
|
#
|
|
# ── LO QUE FALTA ES SOBRE TODO Go Y Rust ───────────────────────────────────────────────────────
|
|
# El grueso de las 1141 recetas son CLIs Go/Rust importados en masa. Para esas la licencia SÍ es
|
|
# automatizable con evidencia real y sin red: Cargo.toml trae el campo `license` y los módulos Go
|
|
# traen su LICENSE en el árbol. Es el trabajo estructural descrito en la cabecera de licencias.sh
|
|
# (capturar en la fase de fetch, que ya descarga y extrae el tarball).
|
|
|
|
# ── toolchain y base C ─────────────────────────────────────────────────────────────────────────
|
|
musl MIT
|
|
zlib Zlib
|
|
zlib-shared Zlib
|
|
bzip2 bzip2-1.0.6
|
|
bzip2-shared bzip2-1.0.6
|
|
xz 0BSD
|
|
zstd BSD-3-Clause OR GPL-2.0-only
|
|
lz4 BSD-2-Clause AND GPL-2.0-only
|
|
brotli MIT
|
|
binutils GPL-3.0-or-later
|
|
gcc GPL-3.0-or-later WITH GCC-exception-3.1
|
|
make GPL-3.0-or-later
|
|
m4 GPL-3.0-or-later
|
|
bison GPL-3.0-or-later
|
|
flex BSD-3-Clause
|
|
patch GPL-3.0-or-later
|
|
diffutils GPL-3.0-or-later
|
|
findutils GPL-3.0-or-later
|
|
coreutils GPL-3.0-or-later
|
|
grep GPL-3.0-or-later
|
|
sed GPL-3.0-or-later
|
|
gawk GPL-3.0-or-later
|
|
tar GPL-3.0-or-later
|
|
gzip GPL-3.0-or-later
|
|
bash GPL-3.0-or-later
|
|
busybox GPL-2.0-only
|
|
autoconf GPL-3.0-or-later
|
|
automake GPL-2.0-or-later
|
|
libtool GPL-2.0-or-later
|
|
gettext-tiny GPL-3.0-or-later
|
|
texinfo GPL-3.0-or-later
|
|
pkgconf ISC
|
|
cmake BSD-3-Clause
|
|
meson Apache-2.0
|
|
samurai ISC
|
|
ninja Apache-2.0
|
|
python3 Python-2.0
|
|
perl Artistic-1.0-Perl OR GPL-1.0-or-later
|
|
sqlite blessing
|
|
openssl Apache-2.0
|
|
curl curl
|
|
ca-certificates MPL-2.0
|
|
libarchive BSD-2-Clause
|
|
libcap BSD-3-Clause OR GPL-2.0-only
|
|
libseccomp LGPL-2.1-only
|
|
bwrap LGPL-2.0-or-later
|
|
kbd GPL-2.0-or-later
|
|
util-linux GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause
|
|
e2fsprogs GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause
|
|
linux GPL-2.0-only WITH Linux-syscall-note
|
|
|
|
# ── bibliotecas de sistema y gráficas ──────────────────────────────────────────────────────────
|
|
expat MIT
|
|
libffi MIT
|
|
pcre2 BSD-3-Clause
|
|
libxml2 MIT
|
|
libxml2-shared MIT
|
|
libyaml MIT
|
|
libyaml-shared MIT
|
|
libpng Libpng
|
|
libpng-shared Libpng
|
|
libjpeg-turbo IJG AND BSD-3-Clause AND Zlib
|
|
libjpeg-turbo-shared IJG AND BSD-3-Clause AND Zlib
|
|
libtiff libtiff
|
|
libtiff-shared libtiff
|
|
libwebp BSD-3-Clause
|
|
freetype FTL OR GPL-2.0-or-later
|
|
freetype-shared FTL OR GPL-2.0-or-later
|
|
fontconfig MIT
|
|
fontconfig-shared MIT
|
|
harfbuzz MIT
|
|
fribidi LGPL-2.1-or-later
|
|
pixman MIT
|
|
cairo LGPL-2.1-only OR MPL-1.1
|
|
cairo-shared LGPL-2.1-only OR MPL-1.1
|
|
pango LGPL-2.0-or-later
|
|
graphene MIT
|
|
libepoxy MIT
|
|
mesa MIT
|
|
libdrm MIT
|
|
wayland MIT
|
|
wayland-protocols MIT
|
|
plasma-wayland-protocols MIT
|
|
xkeyboard-config MIT
|
|
libxkbcommon MIT
|
|
alsa-lib LGPL-2.1-or-later
|
|
pipewire MIT
|
|
wireplumber MIT
|
|
iso-codes LGPL-2.1-or-later
|
|
libseccomp-shared LGPL-2.1-only
|
|
|
|
# ── GNOME / GTK ────────────────────────────────────────────────────────────────────────────────
|
|
glib LGPL-2.1-or-later
|
|
gobject-introspection LGPL-2.0-or-later AND GPL-2.0-or-later
|
|
gdk-pixbuf LGPL-2.1-or-later
|
|
gtk4 LGPL-2.1-or-later
|
|
libadwaita LGPL-2.1-or-later
|
|
gsettings-desktop-schemas LGPL-2.1-or-later
|
|
gnome-desktop GPL-2.0-or-later AND LGPL-2.0-or-later
|
|
gnome-shell GPL-2.0-or-later
|
|
gnome-session GPL-2.0-or-later
|
|
mutter GPL-2.0-or-later
|
|
json-glib LGPL-2.1-or-later
|
|
libsoup LGPL-2.0-or-later
|
|
at-spi2-core LGPL-2.1-or-later
|
|
atk LGPL-2.0-or-later
|
|
adwaita-icon-theme LGPL-3.0-or-later OR CC-BY-SA-3.0
|
|
hicolor GPL-2.0-or-later
|
|
accountsservice GPL-3.0-or-later
|
|
colord GPL-2.0-or-later AND LGPL-2.1-or-later
|
|
geoclue GPL-2.0-or-later
|
|
appstream LGPL-2.1-or-later
|
|
libxmlb LGPL-2.1-or-later
|
|
xdg-desktop-portal LGPL-2.1-or-later
|
|
xdg-desktop-portal-gnome LGPL-2.1-or-later
|
|
|
|
# ── Qt ─────────────────────────────────────────────────────────────────────────────────────────
|
|
# Qt 6 open source: LGPL-3.0 o GPL (la alternativa es la licencia comercial, que no aplica acá).
|
|
qt6-qtbase LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
qt6-qtdeclarative LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
qt6-qtwayland LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
qt6-qtsvg LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
qt6-qttools LGPL-3.0-only OR GPL-3.0-only
|
|
qt6-qtshadertools LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
qt6-qt5compat LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
qt5compat LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
# ── KDE Frameworks (bibliotecas: LGPL doble) ───────────────────────────────────────────────────
|
|
# Verificadas una a una: son Frameworks de KDE, NO las herramientas Go homónimas (ver cabecera).
|
|
karchive LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kauth LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kbookmarks LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kcodecs LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kcolorscheme LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kcompletion LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kconfig LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kconfigwidgets LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kcoreaddons LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kcrash LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kdbusaddons LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kdeclarative LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kdecoration LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kded LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kfilemetadata LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kglobalaccel LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kguiaddons LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kholidays LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
ki18n LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kiconthemes LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kidletime LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kio LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kirigami LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kirigami-addons LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kitemmodels LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kitemviews LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kjobwidgets LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
knewstuff LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
knotifications LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
knotifyconfig LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kpackage LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kparts LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kplotting LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kpty LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kquickcharts LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kservice LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kstatusnotifieritem LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
ksvg LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
ktexteditor LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
ktextwidgets LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kunitconversion LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kwallet LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kwayland LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kwidgetsaddons LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kwindowsystem LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kxmlgui LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kcmutils LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kdnssd LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
attica LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kactivitymanagerd GPL-2.0-or-later
|
|
plasma-activities LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
plasma-activities-stats LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
plasma5support LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
|
|
# ── Plasma y aplicaciones KDE (GPL) ────────────────────────────────────────────────────────────
|
|
kwin GPL-2.0-or-later
|
|
plasma-workspace GPL-2.0-or-later
|
|
plasma-desktop GPL-2.0-or-later
|
|
plasma-integration LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
plasma-nm GPL-2.0-or-later
|
|
plasma-pa GPL-2.0-or-later
|
|
kscreen GPL-2.0-or-later
|
|
kscreenlocker GPL-2.0-or-later
|
|
kglobalacceld GPL-2.0-or-later
|
|
krunner LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
kmenuedit GPL-2.0-or-later
|
|
kinfocenter GPL-2.0-or-later
|
|
kpipewire GPL-2.0-or-later OR LGPL-2.1-or-later
|
|
breeze GPL-2.0-or-later
|
|
breeze-icons LGPL-3.0-or-later
|
|
ark GPL-2.0-or-later
|
|
kate LGPL-2.0-or-later
|
|
konsole GPL-2.0-or-later
|
|
dolphin GPL-2.0-or-later
|
|
kcalc GPL-2.0-or-later
|
|
kcharselect GPL-2.0-or-later
|
|
kdf GPL-2.0-or-later
|
|
kfind GPL-2.0-or-later
|
|
kruler GPL-2.0-or-later
|
|
kwalletmanager GPL-2.0-or-later
|
|
kquickimageeditor LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════════════════════════
|
|
# FAMILIAS NO-GITHUB (2026-08-07). Para éstas no sirve la detección por API de GitHub, así que van
|
|
# curadas — pero NO a ojo: la **URL de fuente de la receta** es la evidencia que las agrupa.
|
|
#
|
|
# Un caso concreto de por qué eso importa: `knighttime` parecía una herramienta Go por el nombre y
|
|
# resulta que su tarball sale de `download.kde.org` ⇒ es un Framework de KDE. El host de descarga
|
|
# desambigua lo que el nombre confunde.
|
|
# ═══════════════════════════════════════════════════════════════════════════════════════════════
|
|
|
|
# ── X.Org (tarballs de x.org / xorg.freedesktop.org) ───────────────────────────────────────────
|
|
# Las bibliotecas modulares y los protocolos de X.Org son uniformemente MIT (la «licencia X11»).
|
|
libX11 MIT
|
|
libXau MIT
|
|
libXdmcp MIT
|
|
libXext MIT
|
|
libXfixes MIT
|
|
libXi MIT
|
|
libXrender MIT
|
|
libXcursor MIT
|
|
libXtst MIT
|
|
libICE MIT
|
|
libSM MIT
|
|
libxcb MIT
|
|
xcb-proto MIT
|
|
xcb-util MIT
|
|
xcb-util-cursor MIT
|
|
xcb-util-image MIT
|
|
xcb-util-keysyms MIT
|
|
xcb-util-renderutil MIT
|
|
xcb-util-wm MIT
|
|
xorgproto MIT
|
|
xtrans MIT
|
|
util-macros MIT
|
|
libpthread-stubs MIT
|
|
x11-compose-data MIT
|
|
|
|
# ── GnuPG (gnupg.org) — la suite es GPL y las bibliotecas LGPL ─────────────────────────────────
|
|
gnupg GPL-3.0-or-later
|
|
libgcrypt LGPL-2.1-or-later
|
|
libgcrypt-shared LGPL-2.1-or-later
|
|
libgpg-error LGPL-2.1-or-later
|
|
libgpg-error-shared LGPL-2.1-or-later
|
|
libassuan LGPL-2.1-or-later
|
|
libksba GPL-3.0-or-later AND LGPL-3.0-or-later
|
|
npth LGPL-2.1-or-later
|
|
|
|
# ── Mozilla ────────────────────────────────────────────────────────────────────────────────────
|
|
nspr MPL-2.0
|
|
nss MPL-2.0
|
|
spidermonkey MPL-2.0
|
|
|
|
# ── GNU (ftp.gnu.org) — NO es todo GPL: las bibliotecas suelen ser LGPL ─────────────────────────
|
|
gperf GPL-3.0-or-later
|
|
mpc LGPL-3.0-or-later
|
|
mtools GPL-3.0-or-later
|
|
parted GPL-3.0-or-later
|
|
readline GPL-3.0-or-later
|
|
wget GPL-3.0-or-later
|
|
which GPL-3.0-or-later
|
|
xorriso GPL-3.0-or-later
|
|
ncurses MIT
|
|
|
|
# ── GNOME (download.gnome.org) ─────────────────────────────────────────────────────────────────
|
|
glib-shared LGPL-2.1-or-later
|
|
glib-introspected LGPL-2.1-or-later
|
|
gtksourceview LGPL-2.1-or-later
|
|
librsvg LGPL-2.1-or-later
|
|
libsecret LGPL-2.1-or-later
|
|
gcr LGPL-2.1-or-later
|
|
libgweather LGPL-2.1-or-later
|
|
libgudev LGPL-2.1-or-later
|
|
libxslt MIT
|
|
py3-gobject LGPL-2.1-or-later
|
|
geocode-glib LGPL-2.0-or-later
|
|
evolution-data-server LGPL-2.0-or-later
|
|
gdm GPL-2.0-or-later
|
|
gnome-settings-daemon GPL-2.0-or-later
|
|
gjs MIT AND LGPL-2.0-or-later
|
|
|
|
# ── KDE (download.kde.org) — Frameworks LGPL doble, aplicaciones GPL ───────────────────────────
|
|
extra-cmake-modules BSD-3-Clause
|
|
frameworkintegration LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
solid LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
sonnet LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
threadweaver LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
prison LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
prison-scanner LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
syntax-highlighting LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
libplasma LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
layer-shell-qt LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
qqc2-desktop-style LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
qqc2-breeze-style LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
modemmanager-qt LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
networkmanager-qt LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
pulseaudio-qt LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
libkscreen LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
libksysguard LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
phonon LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
knighttime LGPL-2.1-or-later OR LGPL-3.0-or-later
|
|
okular GPL-2.0-or-later
|
|
gwenview GPL-2.0-or-later
|
|
spectacle GPL-2.0-or-later
|
|
filelight GPL-2.0-or-later
|
|
systemsettings GPL-2.0-or-later
|
|
powerdevil GPL-2.0-or-later
|