licencias: campo license en la receta — de 0 a 228 de 1141, sin re-hashear nada
La deuda legal bloqueante del SDD 19 §2.1. Medido hoy: **0 de 1141 recetas** declaraban licencia, no «5 de 771» como decía el informe anterior. Los dos números estaban mal: los «5» eran falsos positivos de `grep license` (el paquete `addlicense`, el paquete `cargo-bundle-licenses`, una línea `install .../share/licenses/` y un comentario), y las recetas son 1141. Contar con `grep -l <palabra>` sobre TOML cuenta comentarios y nombres, no campos; `scripts/licencias.sh` cuenta el campo de verdad (clave en la raíz, antes del primer `[table]`). LO QUE HACE LA DEUDA PAGABLE: `Recipe::hash_inputs` es una LISTA BLANCA — sólo entran source, compiler, target, link, patches, flags, phases y deps. `license` no entra, igual que `evidence` y `slots`. Por eso se puede poblar en las recetas YA SELLADAS sin mover un solo ArtifactHash. Verificado, no supuesto: en 40 recetas modificadas se comparó el hash con y sin la línea — 40 idénticos, 0 cambiados. Si el campo entrara al hash, declarar la licencia costaría reconstruir el corpus entero y no se haría nunca. Clavado con el test `licencia_round_trip_y_no_afecta_el_hash`. TRAMPA DE TOML: una clave suelta después de un `[table]` pertenece a esa tabla. Puesta al final del fichero, `license` acaba dentro de `[deps]` y se pierde EN SILENCIO, porque serde ignora los campos que no conoce — no hay error, simplemente no está. Va arriba, junto a `name` y `version`; el sembrador la inserta tras `version`. NO SE ADIVINA. Declarar mal una licencia es peor que dejarla vacía: convierte un hueco visible en una afirmación falsa. Sólo se puebla desde una tabla curada entrada por entrada (`docs/licencias-conocidas.tsv`); lo que no tiene evidencia queda vacío y se CUENTA. Concretamente se descartó el atajo «k* = KDE ⇒ LGPL»: en este catálogo `kail`, `kind`, `ko`, `kopia`, `krew`, `kustomize`, `kyverno`, `katana`, `kibi`, `kmon` y toda la familia `kube*` son herramientas Go sin relación con KDE. El nombre no es evidencia. Quedan 913, casi todas CLIs Go/Rust importados en masa — y ésas sí son automatizables con evidencia real: Cargo.toml trae el campo `license` y los módulos Go traen su LICENSE en el árbol. El cierre estructural es capturarlo en la fase de fetch, que ya descarga y extrae cada tarball, y inyectar el texto en `hammer pack` (aguas abajo del ArtifactHash) en vez de en la fase install (que sí re-hashearía). De paso, respaldo-storagebox.sh reordenado por valor irreemplazable y con zstd: medido en la oficina, el uplink da 8 Mbps iguales por cable y por wifi ⇒ 128 G no caben en una sentada, así que sube primero el cerebro (estado + repo) y `--partial-dir` hace que cortar a mitad de un artefacto no tire lo ya subido. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,233 @@
|
||||
# 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`, `knighttime` 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.
|
||||
#
|
||||
# ── 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
|
||||
|
Reference in New Issue
Block a user