═══ 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>
20 KiB
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 ───────────────────────────────────────────────────────────────────────── | |
| 29 | musl | MIT |
| 30 | zlib | Zlib |
| 31 | zlib-shared | Zlib |
| 32 | bzip2 | bzip2-1.0.6 |
| 33 | bzip2-shared | bzip2-1.0.6 |
| 34 | xz | 0BSD |
| 35 | zstd | BSD-3-Clause OR GPL-2.0-only |
| 36 | lz4 | BSD-2-Clause AND GPL-2.0-only |
| 37 | brotli | MIT |
| 38 | binutils | GPL-3.0-or-later |
| 39 | gcc | GPL-3.0-or-later WITH GCC-exception-3.1 |
| 40 | make | GPL-3.0-or-later |
| 41 | m4 | GPL-3.0-or-later |
| 42 | bison | GPL-3.0-or-later |
| 43 | flex | BSD-3-Clause |
| 44 | patch | GPL-3.0-or-later |
| 45 | diffutils | GPL-3.0-or-later |
| 46 | findutils | GPL-3.0-or-later |
| 47 | coreutils | GPL-3.0-or-later |
| 48 | grep | GPL-3.0-or-later |
| 49 | sed | GPL-3.0-or-later |
| 50 | gawk | GPL-3.0-or-later |
| 51 | tar | GPL-3.0-or-later |
| 52 | gzip | GPL-3.0-or-later |
| 53 | bash | GPL-3.0-or-later |
| 54 | busybox | GPL-2.0-only |
| 55 | autoconf | GPL-3.0-or-later |
| 56 | automake | GPL-2.0-or-later |
| 57 | libtool | GPL-2.0-or-later |
| 58 | gettext-tiny | GPL-3.0-or-later |
| 59 | texinfo | GPL-3.0-or-later |
| 60 | pkgconf | ISC |
| 61 | cmake | BSD-3-Clause |
| 62 | meson | Apache-2.0 |
| 63 | samurai | ISC |
| 64 | ninja | Apache-2.0 |
| 65 | python3 | Python-2.0 |
| 66 | perl | Artistic-1.0-Perl OR GPL-1.0-or-later |
| 67 | sqlite | blessing |
| 68 | openssl | Apache-2.0 |
| 69 | curl | curl |
| 70 | ca-certificates | MPL-2.0 |
| 71 | libarchive | BSD-2-Clause |
| 72 | libcap | BSD-3-Clause OR GPL-2.0-only |
| 73 | libseccomp | LGPL-2.1-only |
| 74 | bwrap | LGPL-2.0-or-later |
| 75 | kbd | GPL-2.0-or-later |
| 76 | util-linux | GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-3-Clause |
| 77 | e2fsprogs | GPL-2.0-only AND LGPL-2.0-only AND BSD-3-Clause |
| 78 | linux | GPL-2.0-only WITH Linux-syscall-note |
| 79 | # ── bibliotecas de sistema y gráficas ────────────────────────────────────────────────────────── | |
| 80 | expat | MIT |
| 81 | libffi | MIT |
| 82 | pcre2 | BSD-3-Clause |
| 83 | libxml2 | MIT |
| 84 | libxml2-shared | MIT |
| 85 | libyaml | MIT |
| 86 | libyaml-shared | MIT |
| 87 | libpng | Libpng |
| 88 | libpng-shared | Libpng |
| 89 | libjpeg-turbo | IJG AND BSD-3-Clause AND Zlib |
| 90 | libjpeg-turbo-shared | IJG AND BSD-3-Clause AND Zlib |
| 91 | libtiff | libtiff |
| 92 | libtiff-shared | libtiff |
| 93 | libwebp | BSD-3-Clause |
| 94 | freetype | FTL OR GPL-2.0-or-later |
| 95 | freetype-shared | FTL OR GPL-2.0-or-later |
| 96 | fontconfig | MIT |
| 97 | fontconfig-shared | MIT |
| 98 | harfbuzz | MIT |
| 99 | fribidi | LGPL-2.1-or-later |
| 100 | pixman | MIT |
| 101 | cairo | LGPL-2.1-only OR MPL-1.1 |
| 102 | cairo-shared | LGPL-2.1-only OR MPL-1.1 |
| 103 | pango | LGPL-2.0-or-later |
| 104 | graphene | MIT |
| 105 | libepoxy | MIT |
| 106 | mesa | MIT |
| 107 | libdrm | MIT |
| 108 | wayland | MIT |
| 109 | wayland-protocols | MIT |
| 110 | plasma-wayland-protocols | MIT |
| 111 | xkeyboard-config | MIT |
| 112 | libxkbcommon | MIT |
| 113 | alsa-lib | LGPL-2.1-or-later |
| 114 | pipewire | MIT |
| 115 | wireplumber | MIT |
| 116 | iso-codes | LGPL-2.1-or-later |
| 117 | libseccomp-shared | LGPL-2.1-only |
| 118 | # ── GNOME / GTK ──────────────────────────────────────────────────────────────────────────────── | |
| 119 | glib | LGPL-2.1-or-later |
| 120 | gobject-introspection | LGPL-2.0-or-later AND GPL-2.0-or-later |
| 121 | gdk-pixbuf | LGPL-2.1-or-later |
| 122 | gtk4 | LGPL-2.1-or-later |
| 123 | libadwaita | LGPL-2.1-or-later |
| 124 | gsettings-desktop-schemas | LGPL-2.1-or-later |
| 125 | gnome-desktop | GPL-2.0-or-later AND LGPL-2.0-or-later |
| 126 | gnome-shell | GPL-2.0-or-later |
| 127 | gnome-session | GPL-2.0-or-later |
| 128 | mutter | GPL-2.0-or-later |
| 129 | json-glib | LGPL-2.1-or-later |
| 130 | libsoup | LGPL-2.0-or-later |
| 131 | at-spi2-core | LGPL-2.1-or-later |
| 132 | atk | LGPL-2.0-or-later |
| 133 | adwaita-icon-theme | LGPL-3.0-or-later OR CC-BY-SA-3.0 |
| 134 | hicolor | GPL-2.0-or-later |
| 135 | accountsservice | GPL-3.0-or-later |
| 136 | colord | GPL-2.0-or-later AND LGPL-2.1-or-later |
| 137 | geoclue | GPL-2.0-or-later |
| 138 | appstream | LGPL-2.1-or-later |
| 139 | libxmlb | LGPL-2.1-or-later |
| 140 | xdg-desktop-portal | LGPL-2.1-or-later |
| 141 | xdg-desktop-portal-gnome | LGPL-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á). | |
| 144 | qt6-qtbase | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 145 | qt6-qtdeclarative | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 146 | qt6-qtwayland | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 147 | qt6-qtsvg | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 148 | qt6-qttools | LGPL-3.0-only OR GPL-3.0-only |
| 149 | qt6-qtshadertools | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 150 | qt6-qt5compat | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 151 | qt5compat | LGPL-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). | |
| 154 | karchive | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 155 | kauth | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 156 | kbookmarks | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 157 | kcodecs | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 158 | kcolorscheme | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 159 | kcompletion | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 160 | kconfig | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 161 | kconfigwidgets | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 162 | kcoreaddons | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 163 | kcrash | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 164 | kdbusaddons | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 165 | kdeclarative | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 166 | kdecoration | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 167 | kded | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 168 | kfilemetadata | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 169 | kglobalaccel | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 170 | kguiaddons | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 171 | kholidays | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 172 | ki18n | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 173 | kiconthemes | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 174 | kidletime | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 175 | kio | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 176 | kirigami | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 177 | kirigami-addons | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 178 | kitemmodels | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 179 | kitemviews | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 180 | kjobwidgets | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 181 | knewstuff | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 182 | knotifications | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 183 | knotifyconfig | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 184 | kpackage | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 185 | kparts | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 186 | kplotting | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 187 | kpty | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 188 | kquickcharts | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 189 | kservice | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 190 | kstatusnotifieritem | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 191 | ksvg | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 192 | ktexteditor | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 193 | ktextwidgets | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 194 | kunitconversion | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 195 | kwallet | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 196 | kwayland | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 197 | kwidgetsaddons | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 198 | kwindowsystem | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 199 | kxmlgui | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 200 | kcmutils | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 201 | kdnssd | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 202 | attica | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 203 | kactivitymanagerd | GPL-2.0-or-later |
| 204 | plasma-activities | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 205 | plasma-activities-stats | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 206 | plasma5support | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 207 | # ── Plasma y aplicaciones KDE (GPL) ──────────────────────────────────────────────────────────── | |
| 208 | kwin | GPL-2.0-or-later |
| 209 | plasma-workspace | GPL-2.0-or-later |
| 210 | plasma-desktop | GPL-2.0-or-later |
| 211 | plasma-integration | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 212 | plasma-nm | GPL-2.0-or-later |
| 213 | plasma-pa | GPL-2.0-or-later |
| 214 | kscreen | GPL-2.0-or-later |
| 215 | kscreenlocker | GPL-2.0-or-later |
| 216 | kglobalacceld | GPL-2.0-or-later |
| 217 | krunner | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 218 | kmenuedit | GPL-2.0-or-later |
| 219 | kinfocenter | GPL-2.0-or-later |
| 220 | kpipewire | GPL-2.0-or-later OR LGPL-2.1-or-later |
| 221 | breeze | GPL-2.0-or-later |
| 222 | breeze-icons | LGPL-3.0-or-later |
| 223 | ark | GPL-2.0-or-later |
| 224 | kate | LGPL-2.0-or-later |
| 225 | konsole | GPL-2.0-or-later |
| 226 | dolphin | GPL-2.0-or-later |
| 227 | kcalc | GPL-2.0-or-later |
| 228 | kcharselect | GPL-2.0-or-later |
| 229 | kdf | GPL-2.0-or-later |
| 230 | kfind | GPL-2.0-or-later |
| 231 | kruler | GPL-2.0-or-later |
| 232 | kwalletmanager | GPL-2.0-or-later |
| 233 | kquickimageeditor | LGPL-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»). | |
| 244 | libX11 | MIT |
| 245 | libXau | MIT |
| 246 | libXdmcp | MIT |
| 247 | libXext | MIT |
| 248 | libXfixes | MIT |
| 249 | libXi | MIT |
| 250 | libXrender | MIT |
| 251 | libXcursor | MIT |
| 252 | libXtst | MIT |
| 253 | libICE | MIT |
| 254 | libSM | MIT |
| 255 | libxcb | MIT |
| 256 | xcb-proto | MIT |
| 257 | xcb-util | MIT |
| 258 | xcb-util-cursor | MIT |
| 259 | xcb-util-image | MIT |
| 260 | xcb-util-keysyms | MIT |
| 261 | xcb-util-renderutil | MIT |
| 262 | xcb-util-wm | MIT |
| 263 | xorgproto | MIT |
| 264 | xtrans | MIT |
| 265 | util-macros | MIT |
| 266 | libpthread-stubs | MIT |
| 267 | x11-compose-data | MIT |
| 268 | # ── GnuPG (gnupg.org) — la suite es GPL y las bibliotecas LGPL ───────────────────────────────── | |
| 269 | gnupg | GPL-3.0-or-later |
| 270 | libgcrypt | LGPL-2.1-or-later |
| 271 | libgcrypt-shared | LGPL-2.1-or-later |
| 272 | libgpg-error | LGPL-2.1-or-later |
| 273 | libgpg-error-shared | LGPL-2.1-or-later |
| 274 | libassuan | LGPL-2.1-or-later |
| 275 | libksba | GPL-3.0-or-later AND LGPL-3.0-or-later |
| 276 | npth | LGPL-2.1-or-later |
| 277 | # ── Mozilla ──────────────────────────────────────────────────────────────────────────────────── | |
| 278 | nspr | MPL-2.0 |
| 279 | nss | MPL-2.0 |
| 280 | spidermonkey | MPL-2.0 |
| 281 | # ── GNU (ftp.gnu.org) — NO es todo GPL: las bibliotecas suelen ser LGPL ───────────────────────── | |
| 282 | gperf | GPL-3.0-or-later |
| 283 | mpc | LGPL-3.0-or-later |
| 284 | mtools | GPL-3.0-or-later |
| 285 | parted | GPL-3.0-or-later |
| 286 | readline | GPL-3.0-or-later |
| 287 | wget | GPL-3.0-or-later |
| 288 | which | GPL-3.0-or-later |
| 289 | xorriso | GPL-3.0-or-later |
| 290 | ncurses | MIT |
| 291 | # ── GNOME (download.gnome.org) ───────────────────────────────────────────────────────────────── | |
| 292 | glib-shared | LGPL-2.1-or-later |
| 293 | glib-introspected | LGPL-2.1-or-later |
| 294 | gtksourceview | LGPL-2.1-or-later |
| 295 | librsvg | LGPL-2.1-or-later |
| 296 | libsecret | LGPL-2.1-or-later |
| 297 | gcr | LGPL-2.1-or-later |
| 298 | libgweather | LGPL-2.1-or-later |
| 299 | libgudev | LGPL-2.1-or-later |
| 300 | libxslt | MIT |
| 301 | py3-gobject | LGPL-2.1-or-later |
| 302 | geocode-glib | LGPL-2.0-or-later |
| 303 | evolution-data-server | LGPL-2.0-or-later |
| 304 | gdm | GPL-2.0-or-later |
| 305 | gnome-settings-daemon | GPL-2.0-or-later |
| 306 | gjs | MIT AND LGPL-2.0-or-later |
| 307 | # ── KDE (download.kde.org) — Frameworks LGPL doble, aplicaciones GPL ─────────────────────────── | |
| 308 | extra-cmake-modules | BSD-3-Clause |
| 309 | frameworkintegration | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 310 | solid | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 311 | sonnet | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 312 | threadweaver | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 313 | prison | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 314 | prison-scanner | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 315 | syntax-highlighting | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 316 | libplasma | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 317 | layer-shell-qt | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 318 | qqc2-desktop-style | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 319 | qqc2-breeze-style | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 320 | modemmanager-qt | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 321 | networkmanager-qt | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 322 | pulseaudio-qt | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 323 | libkscreen | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 324 | libksysguard | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 325 | phonon | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 326 | knighttime | LGPL-2.1-or-later OR LGPL-3.0-or-later |
| 327 | okular | GPL-2.0-or-later |
| 328 | gwenview | GPL-2.0-or-later |
| 329 | spectacle | GPL-2.0-or-later |
| 330 | filelight | GPL-2.0-or-later |
| 331 | systemsettings | GPL-2.0-or-later |
| 332 | powerdevil | GPL-2.0-or-later |
| 333 | # ── Qt 6 sin prefijo (download.qt.io) — mismos términos que los qt6-* de arriba ──────────────── | |
| 334 | qtbase | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 335 | qtdeclarative | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 336 | qtwayland | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 337 | qtsvg | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 338 | qtshadertools | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 339 | qtmultimedia | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 340 | qtpositioning | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 341 | qtlocation | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 342 | qtspeech | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 343 | qtlanguageserver | LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
| 344 | qttools | LGPL-3.0-only OR GPL-3.0-only |
| 345 | # ── freedesktop.org ──────────────────────────────────────────────────────────────────────────── | |
| 346 | dbus | AFL-2.1 OR GPL-2.0-or-later |
| 347 | dbus-shared | AFL-2.1 OR GPL-2.0-or-later |
| 348 | hicolor-icon-theme | GPL-2.0-or-later |
| 349 | libdisplay-info | MIT |
| 350 | libevdev | MIT |
| 351 | libinput | MIT |
| 352 | libei | MIT |
| 353 | libxcvt | MIT |
| 354 | wlr-randr | MIT |
| 355 | poppler | GPL-2.0-or-later |
| 356 | pulseaudio | LGPL-2.1-or-later |
| 357 | upower | GPL-2.0-or-later |
| 358 | modemmanager | GPL-2.0-or-later |
| 359 | networkmanager | GPL-2.0-or-later |
| 360 | polkit | LGPL-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. | |
| 364 | linux-generic | GPL-2.0-only WITH Linux-syscall-note |
| 365 | linux-metal | GPL-2.0-only WITH Linux-syscall-note |
| 366 | linux-metal-dual | GPL-2.0-only WITH Linux-syscall-note |
| 367 | linux-headers | GPL-2.0-only WITH Linux-syscall-note |
| 368 | git | GPL-2.0-only |
| 369 | iproute2 | GPL-2.0-or-later |
| 370 | libuuid-shared | BSD-3-Clause |
| 371 | # ── PyPI y varios ────────────────────────────────────────────────────────────────────────────── | |
| 372 | mako | MIT |
| 373 | markupsafe | BSD-3-Clause |
| 374 | py3-markupsafe | BSD-3-Clause |
| 375 | py3-jinja2 | BSD-3-Clause |
| 376 | py3-setuptools | MIT |
| 377 | packaging | Apache-2.0 OR BSD-2-Clause |
| 378 | nasm | BSD-2-Clause |
| 379 | mpfr | LGPL-3.0-or-later |
| 380 | lua | MIT |
| 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. | |
| 388 | agora-cli | MIT |
| 389 | arje-absorb | MIT |
| 390 | arje-getty-stub | MIT |
| 391 | arje-installer | MIT |
| 392 | arje-logind-compat | MIT |
| 393 | arje-net-bring-up | MIT |
| 394 | arje-packager | MIT |
| 395 | arje-polkit-compat | MIT |
| 396 | arje-zero | MIT |
| 397 | arje-zero-attest | MIT |
| 398 | cosmos-cli | MIT |
| 399 | dominium-cli | MIT |
| 400 | libelogind | MIT |
| 401 | llimphi-counter | MIT |
| 402 | mirada-compositor | MIT |
| 403 | mirada-ctl | MIT |
| 404 | mirada-greeter | MIT |
| 405 | netup | MIT |
| 406 | tinkuy-sim | MIT |
| 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. | |
| 411 | doas | ISC |
| 412 | iputils | BSD-3-Clause AND GPL-2.0-or-later |
| 413 | less | GPL-3.0-or-later |
| 414 | mandoc | ISC |
| 415 | procps-ng | GPL-2.0-or-later AND LGPL-2.0-or-later |
| 416 | rsync | GPL-3.0-or-later |
| 417 | strace | LGPL-2.1-or-later AND GPL-2.0-or-later |
| 418 | sudo | ISC |
| 419 | tree | GPL-2.0-or-later |
| 420 | usbutils | GPL-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. |