Créditos

Créditos de código abierto

El software de código abierto con el que está construido este sitio, con su licencia y dónde conseguir su código fuente.

Astro

Las páginas de este sitio están construidas con Astro 7.3.2, un framework web: convierte las plantillas y los textos del sitio en los archivos HTML que carga tu navegador. Copyright (c) 2021 Fred K. Schott.

Fuente: el proyecto Astro en GitHub. Con licencia MIT. Astro construye el sitio y nunca se envía a tu navegador.

Los códecs de imagen que hacen el trabajo

La herramienta comprime y convierte imágenes con módulos WebAssembly, empaquetados por jsquash y usados aquí como los paquetes @jsquash/jpeg 1.6.0, @jsquash/png 3.1.1, @jsquash/oxipng 2.3.0, @jsquash/webp 1.5.0, @jsquash/avif 2.1.1 y @jsquash/resize 2.1.1. Jamie Sinclair publica esos seis paquetes con la licencia Apache 2.0, que cubre el JavaScript que carga cada módulo.

Esa licencia es la del envoltorio, no la de los códecs. Cada módulo WebAssembly se compila a partir del proyecto de otra persona, con su propia licencia, y es el módulo el que hace la compresión. Por eso cada uno tiene su propia entrada más abajo, con el texto de licencia que el propio módulo incluye.

JPEG: @jsquash/jpeg 1.6.0

Proyecto original: Mozilla MozJPEG, el que nombra el propio readme del paquete. Las compilaciones WebAssembly que envía este sitio llevan el conjunto de licencias de libjpeg-turbo: la licencia IJG, la licencia BSD modificada de tres cláusulas (copyright (C) 2009-2020 D. R. Commander y (C) 2015 Viktor Szathmáry) y la licencia zlib de las extensiones SIMD. Ese conjunto exige que el README de la IJG viaje con él, así que este sitio sirve ese README también. Ninguna de estas licencias es la Apache 2.0.

El paquete no registra ningún número de versión del proyecto original, así que este sitio no nombra ninguno.

PNG: @jsquash/png 3.1.1

Proyecto original: Squoosh, versión v1.12.0 en el propio readme del paquete. El módulo incluye el aviso BSD de tres cláusulas con Copyright (c) 2010, Google Inc.. Ese mismo readme llama al módulo Apache-2.0; este sitio envía el aviso que lleva el módulo y deja la diferencia sin resolver. Una cosa más que conviene saber: este archivo es, byte a byte, el mismo texto que el aviso del módulo WebP de más abajo, así que no es una licencia escrita para el códec PNG.

Optimización de PNG: @jsquash/oxipng 2.3.0

Proyecto original: oxipng, versión v3.0.0 en el propio readme del paquete, con la licencia MIT, copyright (c) 2016 Joshua Holmer. Este módulo hace una segunda pasada sobre una salida PNG para dejar la misma imagen en menos bytes, y por eso un PNG puede volver más pequeño de lo que entró.

WebP: @jsquash/webp 1.5.0

Proyecto original: libwebp, versión v1.0.2 en el propio readme del paquete, con el aviso BSD de tres cláusulas y Copyright (c) 2010, Google Inc.. Esa es una licencia BSD, no la Apache 2.0.

AVIF: @jsquash/avif 2.1.1

Proyecto original: libavif, versión v1.0.1 en los propios readme del paquete. El paquete no envía ningún texto de licencia para sus compilaciones WebAssembly, así que este sitio sirve el archivo de licencia del proyecto en esa etiqueta. Ese archivo es el aviso BSD de dos cláusulas propio de libavif más una sección por cada archivo o directorio que toma prestado (un analizador OBU de dav1d, utilidades de iccjpeg, archivos de gdk-pixbuf y scripts de compilación) y la Apache License 2.0 al final: la licencia de libavif v1.0.1.

El archivo de libavif no cubre el códec AV1 que el módulo enlaza. Cada módulo WebAssembly informa AOMedia Project AV1 Encoder v3.7.0 o AOMedia Project AV1 Decoder v3.7.0 en una cadena propia, y de ahí sale esa versión: el paquete no registra ninguna, y esa cadena está dentro del binario compilado en lugar de en un archivo que este sitio haya enviado. La licencia de libaom es BSD de dos cláusulas, copyright (c) 2016 the Alliance for Open Media, y viene con una licencia de patentes aparte, así que aquí se sirven ambas desde el proyecto original en la etiqueta que informan los binarios: la licencia de libaom y la AOMedia Patent License 1.0. De dónde salió cada archivo, la fecha en que se leyó y su SHA-256 están en el inventario de más abajo.

Redimensionado: @jsquash/resize 2.1.1

Tres ports de Rust distintos, cada uno con su propia licencia. La herramienta usa el primero por defecto.

Biblioteca Proyecto original Versión Licencia
resize (lanczos3, el valor por defecto) PistonDevelopers/resize v0.3.0 MIT, Copyright (c) 2015 PistonDevelopers
hqx CryZe/wasmboy-rs v0.1.2 Apache License 2.0
magic-kernel SevInf/magic-kernel-rust v0.1.0 MIT, Copyright (c) 2024 Serhii Tatarintsev

De dónde vienen estos archivos

Los módulos se compilan en los archivos propios de este sitio y se descargan de este sitio la primera vez que usas su formato. No se descarga ningún códec de ningún otro sitio, y nada de tu imagen se envía a ningún servidor.

El código propio de este sitio

La interfaz que usas, el cambio de idioma, los datos estructurados en el código fuente de la página y la compilación que dibuja las figuras y las tarjetas sociales son código propio de este sitio, guardado en el mismo repositorio que la herramienta. Las listas de arriba son el único software de terceros que este sitio envía a un navegador.

Cómo se comprobó esta lista

Cada versión de arriba se leyó del paquete instalado desde el que construye este sitio, y cada archivo de licencia de arriba se sirve literalmente desde este sitio en lugar de parafraseado. El inventario completo, con el SHA-256 de cada archivo WebAssembly, el lugar exacto donde se leyó cada versión y licencia, y los tres avisos que hubo que descargar del proyecto original porque el paquete no envía ninguno, se guarda en el repositorio de este sitio junto a estas páginas.

Donde la evidencia se acaba, esta página se acaba también. Hay tres cosas que se enuncian en lugar de resolverse: la versión del proyecto original del módulo JPEG no está registrada en ningún sitio del paquete, el readme del módulo PNG y el aviso que envía no se ponen de acuerdo sobre la licencia, y la versión del códec AV1 que llevan los módulos AVIF solo se conoce por una cadena dentro del binario compilado.