docs: SDD 20 — corregido dónde va el texto de licencia (imágenes, no pack) y estado real 1063/1141
El catálogo decía que el texto de la licencia se inyecta en `hammer pack`. El razonamiento del coste era correcto pero el sitio estaba mal: pack emite un .swm (receta sobre fuente pública, sin binarios) e install reproduce construyendo, así que el canal de paquetes no distribuye binarios. El punto de entrega es la IMAGEN, y ahí está hecho, con veto. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -104,7 +104,12 @@ Ese mismo día se hizo lo estructural:
|
||||
curada.
|
||||
- 228 sembradas: todo el toolchain, la base C, las gráficas, GNOME/GTK, Qt, KDE Frameworks y Plasma.
|
||||
|
||||
**Falta**: las 913 restantes, casi todas CLIs Go/Rust importados en masa. Buena noticia: **ésas sí se
|
||||
**Estado al cierre del día: 1063 de 1141 (93%).** Cuatro escalones de evidencia, de peor a mejor:
|
||||
nombre (prohibido) → URL de fuente (familias) → API de licencias de GitHub → `Cargo.toml` del autor
|
||||
al tag exacto. Faltan 78. **Falta también** desambiguar ~55 SPDX obsoletos (`GPL-3.0` no dice si es
|
||||
`-only` u `-or-later`), que es trabajo humano: hay que leer cabeceras de fuentes.
|
||||
|
||||
*(texto original: «Falta: las 913 restantes, casi todas CLIs Go/Rust importados en masa.»)* Buena noticia: **ésas sí se
|
||||
automatizan con evidencia real y sin red** — `Cargo.toml` trae el campo `license` y los módulos Go
|
||||
traen su `LICENSE` en el árbol. El cierre definitivo es capturarlo en la **fase de fetch**, que ya
|
||||
descarga y extrae cada tarball.
|
||||
@@ -114,10 +119,19 @@ vacía — convierte un hueco visible en una afirmación falsa. Concretamente se
|
||||
«`k*` = KDE ⇒ LGPL»: en este catálogo `kail`, `kind`, `ko`, `kopia`, `krew`, `kustomize`, `kyverno`
|
||||
y toda la familia `kube*` son herramientas Go sin relación con KDE.
|
||||
|
||||
### El texto de la licencia dentro del paquete
|
||||
La GPL obliga a acompañar el binario del texto. **Dónde se inyecta decide el precio**: en la fase
|
||||
`install` de la receta re-hashearía las 1141 (las fases SÍ entran al hash); en **`hammer pack`** es
|
||||
gratis, porque pack es aguas abajo del `ArtifactHash`. Va en pack.
|
||||
### El texto de la licencia dentro del paquete — ✅ HECHO (y no donde yo dije)
|
||||
> **CORRECCIÓN.** Esto decía «va en `hammer pack`». El razonamiento del coste era correcto —las
|
||||
> fases SÍ entran al hash, así que hacerlo en la receta re-hashearía las 1141— pero **el sitio
|
||||
> estaba mal**: `pack` produce un `.swm`, una receta de transformación sobre fuente pública que por
|
||||
> diseño «NUNCA transporta binarios cocidos», e `install` REPRODUCE construyendo. **El canal de
|
||||
> paquetes de hammer no distribuye binarios.** Donde sí se entrega un binario es en la **imagen
|
||||
> instalable**, y ahí se hace ahora: `scripts/licencias-rootfs.sh` escribe
|
||||
> `/usr/share/licenses/<pkg>/` con el texto canónico de cada licencia de la expresión, más un
|
||||
> `MANIFEST.tsv` (1,0 MB para el perfil `cli`). Los 44 textos SPDX viven en `licenses/`.
|
||||
>
|
||||
> **Y VETA**: sale ≠0 si un paquete del rootfs no declara licencia. Al estrenarlo reveló que `base`
|
||||
> y `cli` llevaban 10 y 12 paquetes con binarios y licencia desconocida; hoy van 2 cada uno (`lsof`
|
||||
> y `tzdata`, que necesitan la vía `LicenseRef-` y siguen vetando a propósito).
|
||||
|
||||
### Espejo de fuentes — la obligación que más se malentiende
|
||||
La GPL no pide «que el código exista en internet»: pide que **quien recibe el binario pueda obtener
|
||||
|
||||
Reference in New Issue
Block a user