Último recurso mecánico, `scripts/licencias-texto.sh`: para las 60 recetas donde la API de GitHub devuelve NOASSERTION (el repo TIENE un LICENSE pero licensee no lo reconoce: texto retocado, encabezado propio, dos licencias en un fichero), baja el texto y lo clasifica acá. 34 identificadas — 16 MIT, 10 Apache-2.0, 7 BSD-2-Clause, 1 BSD-3-Clause. SÓLO PERMISIVAS, Y NO ES PEREZA. MIT, Apache-2.0, BSD, ISC, MPL-2.0 y Unlicense se reconocen por frases inconfundibles y NO tienen variantes -only/-or-later ⇒ reconocer el texto da el SPDX completo. La familia GPL se deja al humano A PROPÓSITO, y la razón es sutil: el COPYING de la GPL es IDÉNTICO tanto si el proyecto es «sólo v3» como «v3 o posterior» — lo que las distingue vive en las cabeceras de los fuentes. Y encima el propio COPYING incluye, en su apéndice «cómo aplicar la licencia», la frase «or (at your option) any later version», así que buscarla da SIEMPRE positivo y parecería evidencia siendo texto de plantilla. Es exactamente la trampa de la regla del `.a` no-PIC, donde grep contaba reubicaciones de .debug_* y mentía. Comprobado a mano un caso que daba mala espina: el LICENSE de `conftest` empieza «Conftest — Write tests against your config files / Copyright (C) 2019 …», que es el formato típico de una cabecera GPL. Leído entero, dice «Licensed under the Apache License, Version 2.0». La clasificación era correcta; la sospecha, barata. Hashes verificados sobre las 36 tocadas: idénticos. Quedan 88, ya sin vía mecánica: los repos donde ni la API ni el texto deciden, la familia GPL sin desambiguar, y tarballs de sitios propios (gmplib, xiph, sr.ht, codeberg…). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
| 1 | # licencias-texto.tsv — GENERADO por scripts/licencias-texto.sh. No editar a mano. | ||
|---|---|---|---|
| 2 | # Clasificación por el TEXTO del fichero LICENSE del repo, para los casos en que la API de | ||
| 3 | # GitHub dice NOASSERTION. SÓLO permisivas (MIT/Apache/BSD/ISC/MPL/Unlicense): no tienen | ||
| 4 | # variantes -only/-or-later, así que reconocer el texto da el SPDX completo. La familia GPL | ||
| 5 | # se deja al humano A PROPÓSITO: su COPYING es idéntico en «sólo v3» y «v3 o posterior», y | ||
| 6 | # encima incluye la frase «or (at your option) any later version» en su apéndice de plantilla | ||
| 7 | # ⇒ buscarla da siempre positivo y parece evidencia sin serlo. | ||
| 8 | # Tercera columna: owner/repo:fichero del que se leyó. Total 34 | ||
| 9 | amass | Apache-2.0 | OWASP/Amass:LICENSE |
| 10 | conftest | Apache-2.0 | open-policy-agent/conftest:LICENSE |
| 11 | dejavu-fonts | MIT | dejavu-fonts/dejavu-fonts:LICENSE |
| 12 | dsq | Apache-2.0 | multiprocessio/dsq:LICENSE.md |
| 13 | duf | MIT | muesli/duf:LICENSE |
| 14 | eksctl | Apache-2.0 | weaveworks/eksctl:LICENSE |
| 15 | evcxr | Apache-2.0 | google/evcxr:LICENSE |
| 16 | fq | MIT | wader/fq:LICENSE |
| 17 | git-lfs | MIT | git-lfs/git-lfs:LICENSE.md |
| 18 | gitsign | Apache-2.0 | sigstore/gitsign:LICENSE |
| 19 | gobetween | MIT | yyyar/gobetween:LICENSE |
| 20 | go-migrate | MIT | golang-migrate/migrate:LICENSE |
| 21 | goose | MIT | pressly/goose:LICENSE |
| 22 | icu4c | MIT | unicode-org/icu:LICENSE |
| 23 | itstool | MIT | sabotage-linux/gettext-tiny:LICENSE |
| 24 | jq | MIT | jqlang/jq:COPYING |
| 25 | k0sctl | Apache-2.0 | k0sproject/k0sctl:LICENSE |
| 26 | kubeval | Apache-2.0 | instrumenta/kubeval:LICENSE |
| 27 | libevent | BSD-2-Clause | libevent/libevent:LICENSE |
| 28 | libpsl | MIT | rockdaboot/libpsl:LICENSE |
| 29 | libsass | MIT | sass/libsass:LICENSE |
| 30 | libva | MIT | intel/libva:COPYING |
| 31 | linux-pam | BSD-2-Clause | linux-pam/linux-pam:COPYING |
| 32 | miller | BSD-2-Clause | johnkerl/miller:LICENSE.txt |
| 33 | musl-fts | BSD-3-Clause | void-linux/musl-fts:COPYING |
| 34 | oniguruma | BSD-2-Clause | kkos/oniguruma:COPYING |
| 35 | p11-kit | BSD-2-Clause | p11-glue/p11-kit:COPYING |
| 36 | popeye | Apache-2.0 | derailed/popeye:LICENSE |
| 37 | qtkeychain | BSD-2-Clause | frankosterfeld/qtkeychain:COPYING |
| 38 | richgo | MIT | kyoh86/richgo:LICENSE |
| 39 | sassc | MIT | sass/sassc:LICENSE |
| 40 | shadow | BSD-2-Clause | shadow-maint/shadow:COPYING |
| 41 | utf8proc | MIT | JuliaLang/utf8proc:LICENSE.md |
| 42 | vulkan-loader | Apache-2.0 | KhronosGroup/Vulkan-Loader:LICENSE.txt |