Software libre

Código fuente

Chess Best Move se distribuye bajo la Licencia Pública General de GNU versión 3 (GPLv3), y el código fuente de todas las versiones del App Store es público, tal y como exige la GPLv3.

La licencia

Chess Best Move es software libre. Puedes ejecutarlo, estudiar cómo funciona, modificarlo y compartirlo, ya sea modificado o sin modificar, bajo los términos de la Licencia Pública General de GNU, versión 3. Se proporciona sin garantía alguna, en la medida en que lo permita la ley.

La app incluye el motor Stockfish, bajo licencia GPLv3, y se distribuye en su conjunto bajo esa misma licencia. Las Condiciones de uso explican cómo encajan la licencia del App Store y la GPLv3: ninguna de esas condiciones restringe tus derechos según la GPLv3.

Se aplica una condición adicional, tal y como permite la sección 7(e) de la GPLv3: Motomatic LLC no concede derechos en virtud de la legislación sobre marcas registradas para utilizar el nombre «Chess Best Move» ni el icono de la aplicación. Véase la sección 4 de las Condiciones de uso.

Dónde obtener el código fuente

github.com/ciscoriordan/chess-best-move

Cada versión de Chess Best Move en el App Store tiene su propia etiqueta en el repositorio, por lo que puedes obtener el código fuente exacto de la versión que tienes en tu dispositivo. Una etiqueta se denomina v seguida del número de versión que aparece en la aplicación en Ajustes > Acerca de > Versión, sin el número de compilación entre paréntesis: por ejemplo, v1.0 para «1.0 (3)». Las etiquetas nunca se eliminan, por lo que el código fuente de las versiones anteriores sigue estando disponible.

En la aplicación, Ajustes > Acerca de > Licencias enlaza con el código fuente de esa versión, y Ajustes > Acerca de > Motor de ajedrez vuelve a enlazar con él, junto con el único cambio que la aplicación realiza en Stockfish. Ambos enlaces se generan a partir de la versión que está ejecutando la aplicación, por lo que cada copia de la aplicación apunta a su propio código fuente. La descripción del App Store enlaza con esta página.

Qué contiene el repositorio

El repositorio contiene lo necesario para compilar la app: su código Swift, los paquetes Swift de reglas de ajedrez, el motor con el código de Stockfish 19, el reconocimiento de tableros, el archivo de XcodeGen (project.yml) que genera el proyecto de Xcode y los scripts de compilación. Incluye el modelo de reconocimiento como paquete Core ML (PieceClassifier.mlpackage) y como modelo compilado, además de la red de Stockfish en el archivo nn-1a298aa575a0.nnue. El README indica las herramientas y los pasos para compilar con Xcode en un Mac.

Se ha omitido el material de desarrollo que no es necesario para compilar la aplicación, incluyendo el programa y las imágenes utilizadas para entrenar el modelo de reconocimiento. El archivo README describe exactamente qué contiene el repositorio.

El modelo de reconocimiento se entrenó con tableros renderizados. Algunas imágenes de tableros y piezas usadas para generarlos tienen licencias que exigen atribución. NOTICE.md, en el repositorio, enumera esos conjuntos, sus autores y sus licencias. Esas imágenes no están incluidas en el repositorio ni en la app: solo se distribuye el modelo entrenado.

Stockfish

Chess Best Move analiza posiciones con Stockfish 19 (etiqueta de versión sf_19), un motor de ajedrez libre y de código abierto creado por los desarrolladores de Stockfish.

Copyright (C) 2004-2026 Los desarrolladores de Stockfish (véase la lista de autores).

Stockfish es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU tal y como la ha publicado la Free Software Foundation, ya sea la versión 3 de la Licencia o (a tu elección) cualquier versión posterior.

Stockfish se distribuye con la esperanza de que resulte útil, pero SIN NINGÚN TIPO DE GARANTÍA; ni siquiera la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Consulta la Licencia Pública General de GNU para obtener más detalles.

Modificación

Chess Best Move incluye una pequeña modificación de Stockfish 19. El 13 de septiembre de 2026 se cambió src/shm.h para que una app que integre Stockfish pueda desactivar el almacenamiento de memoria compartida entre procesos de su red neuronal. Este almacenamiento crea archivos en /tmp, un hilo de servidor de sockets y un controlador de salida. Al desactivarlo, la red permanece en la memoria normal de la app, que es la alternativa ya existente en Stockfish. Sin activar esa opción, el código se comporta igual que la versión publicada. El cambio está documentado en el repositorio.

La red neuronal

La red neuronal de Stockfish (nn-1a298aa575a0.nnue) se entrenó con datos del proyecto Leela Chess Zero. Esos datos se publican bajo la Open Database License (ODbL).

Fuentes

La aplicación y este sitio web utilizan las siguientes tipografías bajo la licencia SIL Open Font License 1.1.

Noto Sans Symbols 2
Copyright 2022 The Noto Project Authors. Los símbolos de las piezas de ajedrez de la app. Texto de la licencia
Oleo Script Bold
Copyright 2012 Soytutype, con el nombre de fuente reservado «Oleo Script». El tipo de letra original del logotipo gráfico compartido por la aplicación y este sitio web. Texto de la licencia
GFS Didot
Copyright 2007 Greek Font Society, con el nombre de fuente reservado «GFS Didot». Los encabezados de este sitio web. Texto de la licencia

La aplicación incluye los archivos de fuentes sin modificar. Su logotipo es una imagen rasterizada basada en Oleo Script Bold; el texto de la interfaz utiliza los tipos de letra del sistema, y Noto Sans Symbols 2 proporciona las piezas de ajedrez. Este sitio web sirve la fuente GFS Didot desde esta dirección en lugar de desde una red de fuentes, de modo que al visitar una página aquí no se envía nada a nadie más, y el archivo que se sirve es la fuente publicada comprimida en formato WOFF2 y sin ninguna otra modificación: «GFS Didot» es un nombre de fuente reservado, que una copia modificada no puede llevar. El resto del texto de este sitio web se compone con las propias fuentes del sistema del lector, que es lo que hace también la aplicación.