Files
hammer/docs/licencias-conocidas.tsv
T
sergioandClaude Opus 5 be4e91086c licencias: el texto dentro de la imagen, con veto — y el SDD 19/20 se equivocaba de sitio
═══ LA CORRECCIÓN DE FONDO: no es `pack`, son las IMÁGENES ═══
El SDD 19 y el 20 decían «inyectar el texto de la licencia en `hammer pack`, que es aguas
abajo del ArtifactHash y sale gratis». La conclusión sobre el coste era correcta pero el
SITIO estaba mal, y por una razón que sólo se ve leyendo el código: `pack` produce un
`.swm`, que es una RECETA DE TRANSFORMACIÓN sobre fuente pública y por diseño explícito
«NUNCA transporta binarios cocidos»; e `install` REPRODUCE construyendo, con cache-hit del
corpus, en vez de bajar binarios. O sea que **el canal de paquetes de hammer no distribuye
binarios** y la obligación de acompañar-el-binario ahí casi no aplica.

Donde sí aplica, con toda su fuerza, es en la IMAGEN INSTALABLE: su rootfs se puebla con
`hammer install` sobre un prefix y de ahí sale un USB/ISO lleno de binarios que se le da a
alguien. Ése es el punto de entrega. (La obligación del espejo de FUENTES es otra y sigue
entera: las recetas apuntan a URLs de terceros que se caen.)

═══ LO QUE ENTRA ═══
· `scripts/licencias-textos.sh` + `licenses/`: los 44 textos CANÓNICOS de SPDX
  (spdx/license-list-data), uno por identificador realmente en uso — la lista se saca de las
  recetas, no de un fichero escrito a mano que se desincroniza. 764K.
· `scripts/licencias-rootfs.sh`: escribe /usr/share/licenses/<pkg>/ con el texto de CADA
  licencia de la expresión (`Unlicense OR MIT` ⇒ los DOS textos: en un OR el destinatario
  elige, y entregar uno solo le quita una opción que el autor le concedió), más un
  MANIFEST.tsv. Medido: 1,0 MB para el perfil `cli` de 44 paquetes.

═══ Y SOBRE TODO: ES UN VETO ═══
Sale ≠0 si algún paquete del rootfs no declara licencia. Un informe que no puede bloquear no
cambia lo que ocurre; esto corta el paso. Y se ganó el sueldo al primer intento: reveló que
los perfiles `base` y `cli` —los dos más simples, los que primero se publicarían— llevaban
10 y 12 paquetes con binarios y licencia desconocida. Curados los 10 que se podían afirmar
(doas, iputils, less, mandoc, procps-ng, rsync, strace, sudo, tree, usbutils); ambos perfiles
bajan a 2.

Esos 2 NO se rellenan a propósito, y quedan vetando:
 · lsof   — licencia propia del proyecto, sin identificador SPDX. Toca `LicenseRef-lsof` con
            su texto, que ya viaja en el tarball (la receta instala su COPYING).
 · tzdata — dominio público por declaración de sus autores, y SPDX no tiene identificador
            para eso (es una AUSENCIA de licencia, no una licencia). Toca
            `LicenseRef-PublicDomain` documentado, no forzar uno de la lista.

De paso: normalizado `GPL-3.0+` (sufijo antiguo) a `GPL-3.0-or-later`, misma equivalencia
documentada que la barra de Cargo. Y el caso especial que puse para `Linux-syscall-note`
(«las excepciones viven en exceptions/») era una suposición razonable y FALSA: SPDX las
publica en el mismo `text/`; ese directorio no existe.

1063 de 1141 (93%). Hashes verificados: 0 movidos.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-07 14:53:20 -04:00

20 KiB

1# Tabla CURADA de licencias, para `scripts/licencias.sh --sembrar`. SDD 19 §2.1.
2#
3# Formato: <nombre-de-receta><TAB><expresión SPDX>
4#
5# ── LA REGLA ────────────────────────────────────────────────────────────────────────────────────
6# Acá SÓLO entra lo que se puede afirmar con seguridad, entrada por entrada. Declarar mal una
7# licencia es peor que dejarla vacía: convierte un hueco visible —que alguien va a ir a llenar— en
8# una afirmación falsa sobre la que alguien va a construir. Lo que no esté seguro, NO se pone: se
9# queda como deuda contada por `scripts/licencias.sh`.
10#
11# ── POR QUÉ NO SE PUEDE AUTOMATIZAR POR PATRÓN DE NOMBRE ────────────────────────────────────────
12# Tentación evidente: «todo lo que empieza por k* es KDE ⇒ LGPL». **Falso y caro.** En este catálogo
13# `kail`, `kind`, `ko`, `kopia`, `krew`, `kustomize`, `kyverno`, `katana`, `kiterunner`, `kibi`,
14# `kmon`, `kondo`, `kpt`, `kbld`, `kbs2` y toda la familia `kube*` son herramientas Go sin ninguna
15# relación con KDE — la mayoría Apache-2.0 o MIT. El nombre no es evidencia.
16#
17# Y el error simétrico, que cometí en la primera versión de este fichero: había puesto `knighttime`
18# en esa lista de «herramientas Go» **por su nombre**, y resulta que su tarball sale de
19# `download.kde.org` ⇒ es un Framework de KDE, LGPL. O sea que descartar por nombre falla igual que
20# aceptar por nombre. **La evidencia es la URL de fuente de la receta**, que es lo que agrupa de
21# verdad las familias no-GitHub de más abajo.
22#
23# ── LO QUE FALTA ES SOBRE TODO Go Y Rust ───────────────────────────────────────────────────────
24# El grueso de las 1141 recetas son CLIs Go/Rust importados en masa. Para esas la licencia SÍ es
25# automatizable con evidencia real y sin red: Cargo.toml trae el campo `license` y los módulos Go
26# traen su LICENSE en el árbol. Es el trabajo estructural descrito en la cabecera de licencias.sh
27# (capturar en la fase de fetch, que ya descarga y extrae el tarball).
28# ── toolchain y base C ─────────────────────────────────────────────────────────────────────────
29muslMIT
30zlibZlib
31zlib-sharedZlib
32bzip2bzip2-1.0.6
33bzip2-sharedbzip2-1.0.6
34xz0BSD
35zstdBSD-3-Clause OR GPL-2.0-only
36lz4BSD-2-Clause AND GPL-2.0-only
37brotliMIT
38binutilsGPL-3.0-or-later
39gccGPL-3.0-or-later WITH GCC-exception-3.1
40makeGPL-3.0-or-later
41m4GPL-3.0-or-later
42bisonGPL-3.0-or-later
43flexBSD-3-Clause
44patchGPL-3.0-or-later
45diffutilsGPL-3.0-or-later
46findutilsGPL-3.0-or-later
47coreutilsGPL-3.0-or-later
48grepGPL-3.0-or-later
49sedGPL-3.0-or-later
50gawkGPL-3.0-or-later
51tarGPL-3.0-or-later
52gzipGPL-3.0-or-later
53bashGPL-3.0-or-later
54busyboxGPL-2.0-only
55autoconfGPL-3.0-or-later
56automakeGPL-2.0-or-later
57libtoolGPL-2.0-or-later
58gettext-tinyGPL-3.0-or-later
59texinfoGPL-3.0-or-later
60pkgconfISC
61cmakeBSD-3-Clause
62mesonApache-2.0
63samuraiISC
64ninjaApache-2.0
65python3Python-2.0
66perlArtistic-1.0-Perl OR GPL-1.0-or-later
67sqliteblessing
68opensslApache-2.0
69curlcurl
70ca-certificatesMPL-2.0
71libarchiveBSD-2-Clause
72libcapBSD-3-Clause OR GPL-2.0-only
73libseccompLGPL-2.1-only
74bwrapLGPL-2.0-or-later
75kbdGPL-2.0-or-later
76util-linuxGPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause
77e2fsprogsGPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause
78linuxGPL-2.0-only WITH Linux-syscall-note
79# ── bibliotecas de sistema y gráficas ──────────────────────────────────────────────────────────
80expatMIT
81libffiMIT
82pcre2BSD-3-Clause
83libxml2MIT
84libxml2-sharedMIT
85libyamlMIT
86libyaml-sharedMIT
87libpngLibpng
88libpng-sharedLibpng
89libjpeg-turboIJG AND BSD-3-Clause AND Zlib
90libjpeg-turbo-sharedIJG AND BSD-3-Clause AND Zlib
91libtifflibtiff
92libtiff-sharedlibtiff
93libwebpBSD-3-Clause
94freetypeFTL OR GPL-2.0-or-later
95freetype-sharedFTL OR GPL-2.0-or-later
96fontconfigMIT
97fontconfig-sharedMIT
98harfbuzzMIT
99fribidiLGPL-2.1-or-later
100pixmanMIT
101cairoLGPL-2.1-only OR MPL-1.1
102cairo-sharedLGPL-2.1-only OR MPL-1.1
103pangoLGPL-2.0-or-later
104grapheneMIT
105libepoxyMIT
106mesaMIT
107libdrmMIT
108waylandMIT
109wayland-protocolsMIT
110plasma-wayland-protocolsMIT
111xkeyboard-configMIT
112libxkbcommonMIT
113alsa-libLGPL-2.1-or-later
114pipewireMIT
115wireplumberMIT
116iso-codesLGPL-2.1-or-later
117libseccomp-sharedLGPL-2.1-only
118# ── GNOME / GTK ────────────────────────────────────────────────────────────────────────────────
119glibLGPL-2.1-or-later
120gobject-introspectionLGPL-2.0-or-later AND GPL-2.0-or-later
121gdk-pixbufLGPL-2.1-or-later
122gtk4LGPL-2.1-or-later
123libadwaitaLGPL-2.1-or-later
124gsettings-desktop-schemasLGPL-2.1-or-later
125gnome-desktopGPL-2.0-or-later AND LGPL-2.0-or-later
126gnome-shellGPL-2.0-or-later
127gnome-sessionGPL-2.0-or-later
128mutterGPL-2.0-or-later
129json-glibLGPL-2.1-or-later
130libsoupLGPL-2.0-or-later
131at-spi2-coreLGPL-2.1-or-later
132atkLGPL-2.0-or-later
133adwaita-icon-themeLGPL-3.0-or-later OR CC-BY-SA-3.0
134hicolorGPL-2.0-or-later
135accountsserviceGPL-3.0-or-later
136colordGPL-2.0-or-later AND LGPL-2.1-or-later
137geoclueGPL-2.0-or-later
138appstreamLGPL-2.1-or-later
139libxmlbLGPL-2.1-or-later
140xdg-desktop-portalLGPL-2.1-or-later
141xdg-desktop-portal-gnomeLGPL-2.1-or-later
142# ── Qt ─────────────────────────────────────────────────────────────────────────────────────────
143# Qt 6 open source: LGPL-3.0 o GPL (la alternativa es la licencia comercial, que no aplica acá).
144qt6-qtbaseLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
145qt6-qtdeclarativeLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
146qt6-qtwaylandLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
147qt6-qtsvgLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
148qt6-qttoolsLGPL-3.0-only OR GPL-3.0-only
149qt6-qtshadertoolsLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
150qt6-qt5compatLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
151qt5compatLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
152# ── KDE Frameworks (bibliotecas: LGPL doble) ───────────────────────────────────────────────────
153# Verificadas una a una: son Frameworks de KDE, NO las herramientas Go homónimas (ver cabecera).
154karchiveLGPL-2.1-or-later OR LGPL-3.0-or-later
155kauthLGPL-2.1-or-later OR LGPL-3.0-or-later
156kbookmarksLGPL-2.1-or-later OR LGPL-3.0-or-later
157kcodecsLGPL-2.1-or-later OR LGPL-3.0-or-later
158kcolorschemeLGPL-2.1-or-later OR LGPL-3.0-or-later
159kcompletionLGPL-2.1-or-later OR LGPL-3.0-or-later
160kconfigLGPL-2.1-or-later OR LGPL-3.0-or-later
161kconfigwidgetsLGPL-2.1-or-later OR LGPL-3.0-or-later
162kcoreaddonsLGPL-2.1-or-later OR LGPL-3.0-or-later
163kcrashLGPL-2.1-or-later OR LGPL-3.0-or-later
164kdbusaddonsLGPL-2.1-or-later OR LGPL-3.0-or-later
165kdeclarativeLGPL-2.1-or-later OR LGPL-3.0-or-later
166kdecorationLGPL-2.1-or-later OR LGPL-3.0-or-later
167kdedLGPL-2.1-or-later OR LGPL-3.0-or-later
168kfilemetadataLGPL-2.1-or-later OR LGPL-3.0-or-later
169kglobalaccelLGPL-2.1-or-later OR LGPL-3.0-or-later
170kguiaddonsLGPL-2.1-or-later OR LGPL-3.0-or-later
171kholidaysLGPL-2.1-or-later OR LGPL-3.0-or-later
172ki18nLGPL-2.1-or-later OR LGPL-3.0-or-later
173kiconthemesLGPL-2.1-or-later OR LGPL-3.0-or-later
174kidletimeLGPL-2.1-or-later OR LGPL-3.0-or-later
175kioLGPL-2.1-or-later OR LGPL-3.0-or-later
176kirigamiLGPL-2.1-or-later OR LGPL-3.0-or-later
177kirigami-addonsLGPL-2.1-or-later OR LGPL-3.0-or-later
178kitemmodelsLGPL-2.1-or-later OR LGPL-3.0-or-later
179kitemviewsLGPL-2.1-or-later OR LGPL-3.0-or-later
180kjobwidgetsLGPL-2.1-or-later OR LGPL-3.0-or-later
181knewstuffLGPL-2.1-or-later OR LGPL-3.0-or-later
182knotificationsLGPL-2.1-or-later OR LGPL-3.0-or-later
183knotifyconfigLGPL-2.1-or-later OR LGPL-3.0-or-later
184kpackageLGPL-2.1-or-later OR LGPL-3.0-or-later
185kpartsLGPL-2.1-or-later OR LGPL-3.0-or-later
186kplottingLGPL-2.1-or-later OR LGPL-3.0-or-later
187kptyLGPL-2.1-or-later OR LGPL-3.0-or-later
188kquickchartsLGPL-2.1-or-later OR LGPL-3.0-or-later
189kserviceLGPL-2.1-or-later OR LGPL-3.0-or-later
190kstatusnotifieritemLGPL-2.1-or-later OR LGPL-3.0-or-later
191ksvgLGPL-2.1-or-later OR LGPL-3.0-or-later
192ktexteditorLGPL-2.1-or-later OR LGPL-3.0-or-later
193ktextwidgetsLGPL-2.1-or-later OR LGPL-3.0-or-later
194kunitconversionLGPL-2.1-or-later OR LGPL-3.0-or-later
195kwalletLGPL-2.1-or-later OR LGPL-3.0-or-later
196kwaylandLGPL-2.1-or-later OR LGPL-3.0-or-later
197kwidgetsaddonsLGPL-2.1-or-later OR LGPL-3.0-or-later
198kwindowsystemLGPL-2.1-or-later OR LGPL-3.0-or-later
199kxmlguiLGPL-2.1-or-later OR LGPL-3.0-or-later
200kcmutilsLGPL-2.1-or-later OR LGPL-3.0-or-later
201kdnssdLGPL-2.1-or-later OR LGPL-3.0-or-later
202atticaLGPL-2.1-or-later OR LGPL-3.0-or-later
203kactivitymanagerdGPL-2.0-or-later
204plasma-activitiesLGPL-2.1-or-later OR LGPL-3.0-or-later
205plasma-activities-statsLGPL-2.1-or-later OR LGPL-3.0-or-later
206plasma5supportLGPL-2.1-or-later OR LGPL-3.0-or-later
207# ── Plasma y aplicaciones KDE (GPL) ────────────────────────────────────────────────────────────
208kwinGPL-2.0-or-later
209plasma-workspaceGPL-2.0-or-later
210plasma-desktopGPL-2.0-or-later
211plasma-integrationLGPL-2.1-or-later OR LGPL-3.0-or-later
212plasma-nmGPL-2.0-or-later
213plasma-paGPL-2.0-or-later
214kscreenGPL-2.0-or-later
215kscreenlockerGPL-2.0-or-later
216kglobalacceldGPL-2.0-or-later
217krunnerLGPL-2.1-or-later OR LGPL-3.0-or-later
218kmenueditGPL-2.0-or-later
219kinfocenterGPL-2.0-or-later
220kpipewireGPL-2.0-or-later OR LGPL-2.1-or-later
221breezeGPL-2.0-or-later
222breeze-iconsLGPL-3.0-or-later
223arkGPL-2.0-or-later
224kateLGPL-2.0-or-later
225konsoleGPL-2.0-or-later
226dolphinGPL-2.0-or-later
227kcalcGPL-2.0-or-later
228kcharselectGPL-2.0-or-later
229kdfGPL-2.0-or-later
230kfindGPL-2.0-or-later
231krulerGPL-2.0-or-later
232kwalletmanagerGPL-2.0-or-later
233kquickimageeditorLGPL-2.1-or-later OR LGPL-3.0-or-later
234# ═══════════════════════════════════════════════════════════════════════════════════════════════
235# FAMILIAS NO-GITHUB (2026-08-07). Para éstas no sirve la detección por API de GitHub, así que van
236# curadas — pero NO a ojo: la **URL de fuente de la receta** es la evidencia que las agrupa.
237#
238# Un caso concreto de por qué eso importa: `knighttime` parecía una herramienta Go por el nombre y
239# resulta que su tarball sale de `download.kde.org` ⇒ es un Framework de KDE. El host de descarga
240# desambigua lo que el nombre confunde.
241# ═══════════════════════════════════════════════════════════════════════════════════════════════
242# ── X.Org (tarballs de x.org / xorg.freedesktop.org) ───────────────────────────────────────────
243# Las bibliotecas modulares y los protocolos de X.Org son uniformemente MIT (la «licencia X11»).
244libX11MIT
245libXauMIT
246libXdmcpMIT
247libXextMIT
248libXfixesMIT
249libXiMIT
250libXrenderMIT
251libXcursorMIT
252libXtstMIT
253libICEMIT
254libSMMIT
255libxcbMIT
256xcb-protoMIT
257xcb-utilMIT
258xcb-util-cursorMIT
259xcb-util-imageMIT
260xcb-util-keysymsMIT
261xcb-util-renderutilMIT
262xcb-util-wmMIT
263xorgprotoMIT
264xtransMIT
265util-macrosMIT
266libpthread-stubsMIT
267x11-compose-dataMIT
268# ── GnuPG (gnupg.org) — la suite es GPL y las bibliotecas LGPL ─────────────────────────────────
269gnupgGPL-3.0-or-later
270libgcryptLGPL-2.1-or-later
271libgcrypt-sharedLGPL-2.1-or-later
272libgpg-errorLGPL-2.1-or-later
273libgpg-error-sharedLGPL-2.1-or-later
274libassuanLGPL-2.1-or-later
275libksbaGPL-3.0-or-later AND LGPL-3.0-or-later
276npthLGPL-2.1-or-later
277# ── Mozilla ────────────────────────────────────────────────────────────────────────────────────
278nsprMPL-2.0
279nssMPL-2.0
280spidermonkeyMPL-2.0
281# ── GNU (ftp.gnu.org) — NO es todo GPL: las bibliotecas suelen ser LGPL ─────────────────────────
282gperfGPL-3.0-or-later
283mpcLGPL-3.0-or-later
284mtoolsGPL-3.0-or-later
285partedGPL-3.0-or-later
286readlineGPL-3.0-or-later
287wgetGPL-3.0-or-later
288whichGPL-3.0-or-later
289xorrisoGPL-3.0-or-later
290ncursesMIT
291# ── GNOME (download.gnome.org) ─────────────────────────────────────────────────────────────────
292glib-sharedLGPL-2.1-or-later
293glib-introspectedLGPL-2.1-or-later
294gtksourceviewLGPL-2.1-or-later
295librsvgLGPL-2.1-or-later
296libsecretLGPL-2.1-or-later
297gcrLGPL-2.1-or-later
298libgweatherLGPL-2.1-or-later
299libgudevLGPL-2.1-or-later
300libxsltMIT
301py3-gobjectLGPL-2.1-or-later
302geocode-glibLGPL-2.0-or-later
303evolution-data-serverLGPL-2.0-or-later
304gdmGPL-2.0-or-later
305gnome-settings-daemonGPL-2.0-or-later
306gjsMIT AND LGPL-2.0-or-later
307# ── KDE (download.kde.org) — Frameworks LGPL doble, aplicaciones GPL ───────────────────────────
308extra-cmake-modulesBSD-3-Clause
309frameworkintegrationLGPL-2.1-or-later OR LGPL-3.0-or-later
310solidLGPL-2.1-or-later OR LGPL-3.0-or-later
311sonnetLGPL-2.1-or-later OR LGPL-3.0-or-later
312threadweaverLGPL-2.1-or-later OR LGPL-3.0-or-later
313prisonLGPL-2.1-or-later OR LGPL-3.0-or-later
314prison-scannerLGPL-2.1-or-later OR LGPL-3.0-or-later
315syntax-highlightingLGPL-2.1-or-later OR LGPL-3.0-or-later
316libplasmaLGPL-2.1-or-later OR LGPL-3.0-or-later
317layer-shell-qtLGPL-2.1-or-later OR LGPL-3.0-or-later
318qqc2-desktop-styleLGPL-2.1-or-later OR LGPL-3.0-or-later
319qqc2-breeze-styleLGPL-2.1-or-later OR LGPL-3.0-or-later
320modemmanager-qtLGPL-2.1-or-later OR LGPL-3.0-or-later
321networkmanager-qtLGPL-2.1-or-later OR LGPL-3.0-or-later
322pulseaudio-qtLGPL-2.1-or-later OR LGPL-3.0-or-later
323libkscreenLGPL-2.1-or-later OR LGPL-3.0-or-later
324libksysguardLGPL-2.1-or-later OR LGPL-3.0-or-later
325phononLGPL-2.1-or-later OR LGPL-3.0-or-later
326knighttimeLGPL-2.1-or-later OR LGPL-3.0-or-later
327okularGPL-2.0-or-later
328gwenviewGPL-2.0-or-later
329spectacleGPL-2.0-or-later
330filelightGPL-2.0-or-later
331systemsettingsGPL-2.0-or-later
332powerdevilGPL-2.0-or-later
333# ── Qt 6 sin prefijo (download.qt.io) — mismos términos que los qt6-* de arriba ────────────────
334qtbaseLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
335qtdeclarativeLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
336qtwaylandLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
337qtsvgLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
338qtshadertoolsLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
339qtmultimediaLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
340qtpositioningLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
341qtlocationLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
342qtspeechLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
343qtlanguageserverLGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
344qttoolsLGPL-3.0-only OR GPL-3.0-only
345# ── freedesktop.org ────────────────────────────────────────────────────────────────────────────
346dbusAFL-2.1 OR GPL-2.0-or-later
347dbus-sharedAFL-2.1 OR GPL-2.0-or-later
348hicolor-icon-themeGPL-2.0-or-later
349libdisplay-infoMIT
350libevdevMIT
351libinputMIT
352libeiMIT
353libxcvtMIT
354wlr-randrMIT
355popplerGPL-2.0-or-later
356pulseaudioLGPL-2.1-or-later
357upowerGPL-2.0-or-later
358modemmanagerGPL-2.0-or-later
359networkmanagerGPL-2.0-or-later
360polkitLGPL-2.0-or-later
361# ── kernel.org ─────────────────────────────────────────────────────────────────────────────────
362# El kernel lleva la excepción de llamadas al sistema: sin ella, todo binario de espacio de usuario
363# que hace un syscall sería obra derivada. Va explícita, no es adorno.
364linux-genericGPL-2.0-only WITH Linux-syscall-note
365linux-metalGPL-2.0-only WITH Linux-syscall-note
366linux-metal-dualGPL-2.0-only WITH Linux-syscall-note
367linux-headersGPL-2.0-only WITH Linux-syscall-note
368gitGPL-2.0-only
369iproute2GPL-2.0-or-later
370libuuid-sharedBSD-3-Clause
371# ── PyPI y varios ──────────────────────────────────────────────────────────────────────────────
372makoMIT
373markupsafeBSD-3-Clause
374py3-markupsafeBSD-3-Clause
375py3-jinja2BSD-3-Clause
376py3-setuptoolsMIT
377packagingApache-2.0 OR BSD-2-Clause
378nasmBSD-2-Clause
379mpfrLGPL-3.0-or-later
380luaMIT
381# ── Código PROPIO (fuente en git.tawasuyu.net) — MIT ───────────────────────────────────────────
382# Decisión del usuario, 2026-08-07: «tawasuyu está en MIT». Es la misma licencia que hammer
383# (LICENSE en la raíz + Cargo.toml), así que todo lo nuestro queda coherente bajo un solo término.
384#
385# ⚠ OJO con `libelogind`: por el nombre parece el elogind de upstream (LGPL-2.1+) y NO lo es —
386# su cabecera dice que es una reimplementación PROPIA de la C-ABI sd-login en arje-compat. Haberla
387# declarado LGPL por el nombre habría sido exactamente el error que este fichero prohíbe.
388agora-cliMIT
389arje-absorbMIT
390arje-getty-stubMIT
391arje-installerMIT
392arje-logind-compatMIT
393arje-net-bring-upMIT
394arje-packagerMIT
395arje-polkit-compatMIT
396arje-zeroMIT
397arje-zero-attestMIT
398cosmos-cliMIT
399dominium-cliMIT
400libelogindMIT
401llimphi-counterMIT
402mirada-compositorMIT
403mirada-ctlMIT
404mirada-greeterMIT
405netupMIT
406tinkuy-simMIT
407# ── Los que BLOQUEABAN los perfiles base y cli ────────────────────────────────────────────────
408# Salieron del veto de `scripts/licencias-rootfs.sh`: son paquetes con binarios en la imagen cuya
409# licencia no conocíamos. La API de GitHub los dejó en NOASSERTION y el clasificador por texto no los
410# toca porque son familia GPL (su COPYING no distingue -only de -or-later). Curados uno a uno.
411doasISC
412iputilsBSD-3-Clause AND GPL-2.0-or-later
413lessGPL-3.0-or-later
414mandocISC
415procps-ngGPL-2.0-or-later AND LGPL-2.0-or-later
416rsyncGPL-3.0-or-later
417straceLGPL-2.1-or-later AND GPL-2.0-or-later
418sudoISC
419treeGPL-2.0-or-later
420usbutilsGPL-2.0-or-later
421# ⛔ NO PUESTOS A PROPÓSITO — dos que la lista SPDX no cubre, y que inventar sería peor:
422# · lsof — licencia PROPIA del proyecto (permisiva, estilo BSD, pero con su redacción). No hay
423# identificador SPDX. Lo correcto es un `LicenseRef-lsof` con SU texto, que ya viaja en
424# el tarball: la receta de hecho instala su COPYING en /usr/share/licenses/lsof/.
425# · tzdata — la base de datos tz es DOMINIO PÚBLICO por declaración explícita de sus autores, y
426# SPDX no tiene identificador para «dominio público» (es una ausencia de licencia, no
427# una licencia). Corresponde `LicenseRef-PublicDomain` documentado, no forzar uno de la
428# lista.
429# Los dos necesitan la vía `LicenseRef-` + texto local, que es otro ticket. Mientras tanto siguen
430# contados como deuda y siguen VETANDO la imagen, que es exactamente lo que tienen que hacer.