Files
hammer/docs/licencias-conocidas.tsv
T
sergioandClaude Opus 5 a6a9d59e4f licencias: 936 de 1141 (82%) — detección por evidencia, con sus dos imprecisiones declaradas
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>
2026-08-07 13:26:22 -04:00

15 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