Ir al contenido

Créditos y atribuciones

En Parlant~ es un fork de En Croissant, “The Ultimate Chess Toolkit” — una interfaz gráfica de ajedrez multiplataforma y de código abierto construida con Tauri (Rust + React/TypeScript). Este documento identifica a cada persona, equipo, organización y proyecto cuyo trabajo hizo posible este software, desde el framework principal de la aplicación hasta las fuentes tipográficas, los iconos y los SVG de piezas de ajedrez individuales.

El proyecto completo está licenciado bajo GPL-3.0, impulsado por los requisitos de copyleft de bibliotecas clave de ajedrez (chessground, chessops, shakmaty) creadas por Niklas Fiekas y el equipo de Lichess. Dos personas — Niklas Fiekas y Thibault Duplessis — son responsables de esencialmente toda la infraestructura de ajedrez de código abierto que hace posible En Parlant~, desde el renderizado del tablero hasta la generación de movimientos y las bases de datos de problemas.

Francisco Salgueiro es el único creador y mantenedor principal de En Croissant. Ha sido autor de la gran mayoría de los más de 1302 commits a lo largo de más de 23 versiones. El proyecto ha obtenido más de 1400 estrellas en GitHub y 199 forks, con 46 contribuidores basados en commits y más de 56 personas acreditadas en las notas de versión.

En Croissant es una aplicación de escritorio Tauri 2 escrita en TypeScript (87,7%) y Rust (11,9%). Soporta análisis con múltiples motores, importación de partidas desde Lichess y Chess.com, entrenamiento de repertorio con repetición espaciada, gestión de bases de datos con búsqueda por posición y entrenamiento de problemas. Francisco se encarga personalmente de la arquitectura del frontend en React, el backend en Rust para operaciones de base de datos y comunicación con motores, y la visión general del producto. Acepta donaciones en encroissant.org/support a través de Buy Me a Coffee.

En Parlant~ (por @DarrellThomas) es un fork que añade funciones de narración por texto a voz (TTS) — integrando ElevenLabs y Google Cloud para comentarios de texto a voz, KittenTTS para síntesis local en el dispositivo y Cloudflare R2 para alojamiento de audio.

Contribuidores individuales a En Croissant antes del fork

Sección titulada «Contribuidores individuales a En Croissant antes del fork»

Francisco Salgueiro — creador, arquitecto y mantenedor principal de todas las funciones, incluyendo la migración a Tauri 2, la migración a React 19, los sistemas de práctica de aperturas y el motor de base de datos.

  • @spinward — opción para ocultar la puntuación actual del problema
  • @anderslundback — configuración de desplazamiento de movimientos en el tablero
  • @yuval59 — contribuciones de código (En Croissant v0.10.0)
  • @Cankyre — retroceder movimientos al jugar contra el motor; ciclar entre brillanteces/errores/desaciertos
  • @tblrone — botón para detener el motor
  • @pnodet — contribuciones de código (En Croissant v0.10.0)
  • @Count-MHM — contribuciones de código (En Croissant v0.11.0)
  • @Scoutboy06 — contribuciones de código (En Croissant v0.11.0)
  • @Selyss — contribuciones de código (En Croissant v0.11.0)
  • @RainRat — contribuciones de código (En Croissant v0.11.0)
  • @zackschuster — contribuciones de código (En Croissant v0.11.0)
  • @loloof64 — función de captura de imagen del tablero
  • @JayceFFT — botón para saltar al siguiente problema
  • @archimag — estado persistido de página de base de datos, barra de progreso de informes, configuración de capacidades de Tauri
  • @LiberaTeMetuMortis — opción de búsqueda por resultado de partida en análisis; traducción al turco
  • @teleginpro — configuración persistida para informes de partidas
  • @alextaconet — vista previa de conjuntos de piezas en la configuración
  • @buracchi — estadísticas mejoradas en la página de usuarios; corrección de autenticación de sesiones de Lichess
  • @TurtleOrangina — anotación de movimiento para “Fallo”; corrección de persistencia del tamaño de ventana
  • @kimerikal-games — coloración de anotaciones de novedad; traducción al coreano; cadenas traducibles
  • @PeterLombaers — visualización en línea de comentarios en una sola línea
  • @mtwdev — tablebases para posiciones OP1
  • @BlueManCZ — corrección de reproducción de audio en Linux
  • @tweezerticle — correcciones de importación de Chess.com; corrección de sincronización de movimiento de piezas
  • @Nullsp4ce — aceptar mate en 1 alternativo en modo problema
  • @woprandi — corrección de parpadeo en la evaluación de tablebases; etiquetado de mensajes traducibles
  • @Breush — soporte de directorio de documentos en Linux sin XDG
  • @dotneB — prevenir movimientos después de completar un problema
  • @arimourao — corrección de negras comenzando con incremento de tiempo
  • @tkasa — preservar FEN al cambiar la orientación
  • @wjgr2004 — prevenir fallo cuando un jugador se queda sin tiempo
  • @ed-cetera — corrección de bucle infinito al promover a línea principal
  • @sid0-0 — corrección de hooks condicionales
  • @vainbaum — corrección de guardado de PGN vacío
  • @xiaoas, @OleBroemelbue, @nskobelevs, @beachwood23, @jaximus808 — contribuciones en En Croissant v0.14.2
IdiomaContribuidor(es)
Chino@chuigda
Portugués@franciscoBSalgueiro
Español@yako1984, @dav1312
Francés@PaulJeFi
Italiano@MrPiada
Ruso@artemy
Noruego (Bokmål)@TBestLittleHelper
Turco@LiberaTeMetuMortis
Alemán@eskopp
Coreano@kimerikal-games
  • @qqiumax — actualización de licencia en README
  • @jaimecbernardo — instrucciones de instalación con pnpm
  • @qoqosz — correcciones de advertencias de shakmaty
  • @hadim — renombrado de TAURI_SIGNING_PRIVATE_KEY
  • @chrisbilodeau — actualizaciones de flujos de trabajo de GitHub

@garbidge, @pmyszka, @powy-e — contribuciones anteriores a En Croissant v0.10.0.

Tauri — el framework de aplicaciones de escritorio basado en Rust/WebView — fue cofundado por Daniel Thompson-Yvetot y Lucas Nogueira en 2019 y es mantenido por The Tauri Programme dentro de The Commons Conservancy. Contribuidores clave incluyen a Amr Bashir y FabianLars. Licenciado bajo Apache-2.0 OR MIT.

React fue creado por Jordan Walke en Facebook en 2013 y es mantenido por Meta Open Source. Contribuidores clave incluyen a Dan Abramov, Andrew Clark, Sebastian Markbage, Sophie Alpert y Brian Vaughn. Licenciado bajo MIT.

Vite fue creado por Evan You (también creador de Vue.js) y es desarrollado bajo VoidZero Inc. Contribuidores clave incluyen a Patak, Anthony Fu y Bjorn Lu. Licenciado bajo MIT.

TypeScript fue creado por Anders Hejlsberg (quien también creó C# y Turbo Pascal) en Microsoft. Licenciado bajo Apache-2.0.

Bibliotecas específicas de ajedrez y el ecosistema de Niklas Fiekas

Sección titulada «Bibliotecas específicas de ajedrez y el ecosistema de Niklas Fiekas»

Niklas Fiekas es posiblemente el contribuidor individual más importante del ecosistema moderno de programación de ajedrez de código abierto. Es autor de todas las bibliotecas de lógica de ajedrez centrales utilizadas por En Parlant~ tanto en el frontend como en el backend:

  • chessops — biblioteca TypeScript de reglas de ajedrez y variantes para el frontend. Licenciada bajo GPL-3.0-or-later.
  • shakmaty — biblioteca Rust de ajedrez para el backend, que proporciona generación de movimientos, notación FEN/SAN/UCI, bitboards y hashing Zobrist. Licenciada bajo GPL-3.0-or-later.
  • pgn-reader — parser PGN rápido, sin asignación de memoria y en streaming, escrito en Rust. Licenciado bajo GPL-3.0-or-later.
  • shakmaty-syzygy — biblioteca Rust para consultar tablebases de finales Syzygy. Licenciada bajo GPL-3.0-or-later.

Niklas Fiekas es también el autor de python-chess, la biblioteca de ajedrez dominante en Python, y un contribuidor central del ecosistema de Lichess. Su licenciamiento GPL-3.0 en estas bibliotecas propaga el requisito de copyleft al propio En Parlant~.

El ecosistema de Lichess y Thibault Duplessis

Sección titulada «El ecosistema de Lichess y Thibault Duplessis»

Thibault Duplessis fundó Lichess.org — el servidor de ajedrez gratuito y de código abierto más grande. El proyecto Lichess contribuye múltiples componentes a En Parlant~:

  • Chessground — el componente de interfaz de tablero de ajedrez interactivo, con diffing DOM personalizado, dibujo de flechas SVG, arrastrar y soltar, premovimientos y tematización exclusivamente con CSS. ~10KB comprimido con gzip y sin dependencias. Licenciado bajo GPL-3.0-or-later.
  • API de Lichess — utilizada para importar partidas de usuarios, acceder a evaluaciones en la nube y consultar el explorador de aperturas. Parte del proyecto Lichess bajo AGPL-3.0.
  • Base de datos de partidas de Lichess — miles de millones de partidas en formato PGN, publicadas mensualmente. Licenciada bajo CC0 (dominio público).
  • Base de datos de problemas de Lichess — más de 4,6 millones de problemas generados a partir de 600 millones de partidas analizadas con Stockfish NNUE. Licenciada bajo CC0.
  • SVG de piezas de ajedrez y temas de tablero — obtenidos de la colección de recursos estáticos de Lichess bajo diversas licencias (véase la sección de conjuntos de piezas de ajedrez más abajo).

En Parlant~ soporta cualquier motor compatible con UCI y ofrece instalación con un solo clic para varios:

Las puntuaciones de motores mostradas en la aplicación provienen de CCRL (Computer Chess Rating Lists), mantenidas por Graham Banks, Kirill Kryukov, Sergio Martinez, Gabor Szots, Shaun Brewer y otros desde diciembre de 2005.

Obtenidos principalmente de la colección de recursos de Lichess:

  • cburnett (predeterminado) — de Colin M.L. Burnett. Piezas SVG limpias y reconocibles creadas con Inkscape. Multilicenciado: BSD-3-Clause, GFDL, GPL, CC-BY-SA-3.0. También utilizado como base para el icono de la aplicación.
  • Kosal de PhilatypeCC BY 4.0.
  • Alpha — de Eric Bentzen. Diseño limpio y moderno.
  • Merida — basado en la fuente clásica de ajedrez Merida, adaptación SVG mantenida por la comunidad de Lichess. Licenciado bajo GPLv2+.
  • California — de Jerry S. Licenciado bajo CC-BY-SA-4.0.
  • Anarcandy — de contribuidores de la comunidad de Lichess.
  • chessnut, chess7, companion, letter, shapes, pixel, pirouetti, cardinal, disguised, dubrovny, fantasy, fresca, gioco, governor, horsey, icpieces, Leipzig, libra, maestro, reillycraig, riohacha, spatial, staunty, tatiana — obtenidos de Lichess y sus respectivos creadores, distribuidos bajo CC BY-SA 3.0 o licencias compatibles.
  • Melanie Thomas — diversas ilustraciones utilizadas en el proyecto.
Base de datosPartidasCreador / Curador
Lumbra’s Gigabase~9,57MLumbra (curador comunitario)
Caissabase 2024~5,4MCurada por la comunidad a partir de MillionBase, KingBase y TWIC
Ajedrez Data (OTB)~4,28MComunidad Ajedrez Data
Ajedrez Data (Correspondencia)~1,52MComunidad Ajedrez Data
MillionBase~3,45MEd Schroder (autor del motor de ajedrez Rebel) y comunidad

Tablebases de finales Syzygy — creadas por Ronald de Man, con tablas de 7 piezas generadas por Bojun Guo (2018). Alojadas para descarga por Lichess.org.

ChessDB Cloud (chessdb.cn) — de Bojun Guo. Una base de datos masiva de conocimiento ajedrecístico construida a partir de análisis de motores. Liberada al dominio público.

  • KittenTTS de KittenML — el motor TTS local predeterminado, incluido con la aplicación. Se ejecuta completamente en el dispositivo sin necesidad de clave API. Utiliza modelos de voz ONNX a través de ONNX Runtime y eSpeak NG para la fonemización.
  • OpenTTS de Michael Hansen (synesthesiam) — servidor TTS autoalojado opcional, ejecutado localmente a través de Docker.
  • Google Cloud Text-to-Speech — proveedor TTS en la nube opcional con voces WaveNet. Requiere una clave API proporcionada por el usuario.
  • ElevenLabs — proveedor TTS premium en la nube opcional con voces de alta calidad. Requiere una clave API proporcionada por el usuario.

Ecosistema Mantine (todo por Vitaly Rtishchev, MIT)

Sección titulada «Ecosistema Mantine (todo por Vitaly Rtishchev, MIT)»

Vitaly Rtishchev creó y mantiene toda la biblioteca de componentes Mantine — más de 30 600 estrellas, más de 100 componentes, más de 50 hooks.

@mantine/core, @mantine/hooks, @mantine/form, @mantine/notifications, @mantine/spotlight, @mantine/dates, @mantine/modals, @mantine/carousel, @mantine/tiptap, @mantine/nprogress, @mantine/dropzone, @mantine/code-highlight, postcss-preset-mantine

Paquetes npm de Tauri (The Tauri Programme, Apache-2.0 OR MIT)

Sección titulada «Paquetes npm de Tauri (The Tauri Programme, Apache-2.0 OR MIT)»

@tauri-apps/api, @tauri-apps/cli, @tauri-apps/plugin-dialog, @tauri-apps/plugin-shell, @tauri-apps/plugin-process, @tauri-apps/plugin-os, @tauri-apps/plugin-log, @tauri-apps/plugin-updater

Tanner Linsley creó el ecosistema TanStack: @tanstack/react-query (obtención/caché de datos asíncronos), @tanstack/react-table (tabla/cuadrícula de datos sin interfaz), @tanstack/react-virtual (virtualización de listas).

Editor de texto enriquecido TipTap (Tiptap GmbH, MIT)

Sección titulada «Editor de texto enriquecido TipTap (Tiptap GmbH, MIT)»

Creado por Tiptap GmbH. @tiptap/react, @tiptap/starter-kit, @tiptap/extension-link.

PaqueteAutorLicencia
react, react-domJordan Walke / MetaMIT
react-router-domRyan Florence, Michael Jackson / Remix SoftwareMIT
react-i18next, i18nextJan MuhlemannMIT
PaqueteAutorLicencia
zustandPaul Henschel (original), Daishi Kato (mantenedor principal) / pmndrsMIT
framer-motionMatt Perry / Motion DivisionMIT
embla-carousel-reactDavid JerlekeMIT
PaqueteAutorLicencia
chess.jsJeff HlywaBSD-2-Clause
chessgroundThibault Duplessis / Lichess.orgGPL-3.0-or-later
chessopsNiklas Fiekas (niklasf)GPL-3.0-or-later
PaqueteAutorLicencia
dayjsiamkunMIT
fuse.jsKiro RiskApache-2.0
idb-keyvalJake ArchibaldApache-2.0
rechartsXian Wang y comunidad, construido sobre D3MIT
sql.jsOphir Lojkine y Alon ZakaiMIT
PaqueteAutorLicencia
@biomejs/biomeEmanuele Stoppa (fork de Rome por Sebastian McKenzie)MIT OR Apache-2.0
@vitejs/plugin-reactEvan You / equipo de ViteMIT
postcssAndrey Sitnik / Evil MartiansMIT
typescriptAnders Hejlsberg / MicrosoftApache-2.0
viteEvan You / VoidZero Inc.MIT

Todos los crates de Tauri (tauri, tauri-build, tauri-plugin-log, tauri-plugin-dialog, tauri-plugin-shell, tauri-plugin-process, tauri-plugin-os, tauri-plugin-updater) por The Tauri Programme. Licenciados bajo Apache-2.0 OR MIT.

David Tolnay mantiene más de 160 crates de Rust y es responsable de algunas de las bibliotecas más fundamentales del ecosistema Rust. Aproximadamente el 40% de todos los crates en crates.io dependen transitivamente de serde.

CrateAutorLicencia
serdeErick Tryzelaar, David TolnayMIT OR Apache-2.0
serde_jsonDavid TolnayMIT OR Apache-2.0
thiserrorDavid TolnayMIT OR Apache-2.0
anyhowDavid TolnayMIT OR Apache-2.0
CrateAutorLicencia
tokioCarl Lerche, Alice Ryhl, Sean McArthur, Eliza WeismanMIT
reqwestSean McArthurMIT OR Apache-2.0
futures / futures-utilAlex CrichtonMIT OR Apache-2.0
CrateLicenciaDescripción
shakmatyGPL-3.0-or-laterGeneración de movimientos de ajedrez, bitboards, FEN/SAN/UCI
pgn-readerGPL-3.0-or-laterParser PGN en streaming
shakmaty-syzygyGPL-3.0-or-laterConsulta de tablebases Syzygy
CrateAutorLicencia
rusqliteJohn Gallagher (original) / desarrolladores de rusqliteMIT
logThe Rust Project DevelopersMIT OR Apache-2.0
tempfileSteven AllenMIT OR Apache-2.0
dirsSimon OchsenreitherMIT OR Apache-2.0
flate2Alex Crichton, Josh TriplettMIT OR Apache-2.0
zipMathijs van de Nes, Marli Frost, Ryan LevickMIT

Diseño de interfaz, iconos y fuentes tipográficas

Sección titulada «Diseño de interfaz, iconos y fuentes tipográficas»
  • Tabler Icons — más de 6000 iconos SVG gratuitos de Pawel Kuna. Utilizados a través de @tabler/icons-react como parte del ecosistema Mantine. Licenciados bajo MIT.
  • CodeMirror — editor de código en el navegador de Marijn Haverbeke (también creador de ProseMirror y autor de Eloquent JavaScript), con contribuciones de Adrian Heine. Utilizado para la edición de PGN. Licenciado bajo MIT.
  • Inter — la tipografía de la interfaz, creada por Rasmus Andersson. Una fuente variable optimizada para la legibilidad en pantalla. Utilizada como la familia de fuentes predeterminada de Mantine. Licenciada bajo SIL Open Font License 1.1.
  • Fuente de notación de ajedrez (lichess.chess) — de los autores de pgn4web, que proporciona símbolos de notación algebraica figurada. Licenciada bajo GPLv2+.

Herramientas de compilación e infraestructura de desarrollo

Sección titulada «Herramientas de compilación e infraestructura de desarrollo»

El fork En Parlant~ — incluyendo su integración TTS, sitio de documentación, traducciones multilingües, pipeline de demostración y esta página de créditos — fue construido casi en su totalidad con Claude Code, la herramienta de programación agéntica de Anthropic. Claude Code utiliza Claude, el asistente de IA de Anthropic, para trabajar directamente en la terminal — leyendo archivos, editando código, ejecutando comandos y gestionando flujos de trabajo de git.

Anthropic fue fundada en 2021 por Dario Amodei y Daniela Amodei, junto con varios antiguos investigadores de OpenAI, con un enfoque en la investigación de seguridad de IA. Claude es su familia de modelos de lenguaje de gran tamaño.

  • API de Lichess — mantenida por Thibault Duplessis y el equipo de Lichess. Exportaciones de partidas, evaluaciones en la nube, explorador de aperturas y datos de problemas. Parte del proyecto Lichess bajo AGPL-3.0.
  • API de datos publicados de Chess.com — API REST de solo lectura para perfiles públicos de jugadores, archivos de partidas y datos de clubes/torneos.
  • Evaluación en la nube de ChessDB — de Bojun Guo. Base de datos de conocimiento ajedrecístico construida a partir de análisis de motores. Dominio público.
  • Stockfish — binarios del motor alojados en nuestra propia infraestructura (enparlant.redshed.ai).
  • Lichess — bases de datos de aperturas y base de datos de problemas, alojadas en nuestra propia infraestructura. CC BY 4.0.

En Parlant~ está licenciado bajo GPL-3.0, requerido por la cascada de copyleft de sus dependencias de ajedrez:

LicenciaPaquetes / Componentes
GPL-3.0 / GPL-3.0-or-laterEl propio En Parlant~, chessground, chessops, shakmaty, pgn-reader, shakmaty-syzygy, Stockfish, Lc0, RubiChess, Fairy-Stockfish, piezas Merida, fuente de notación de ajedrez
MITReact, Vite, Mantine (todos), TanStack (todos), TipTap (todos), zustand, framer-motion, embla-carousel, dayjs, recharts, sql.js, Tabler Icons, CodeMirror, Node.js, pnpm, tokio, rusqlite, PostCSS
MIT OR Apache-2.0Tauri (todos), lenguaje Rust, serde (todos), tokio, reqwest, futures, thiserror, anyhow, log, tempfile, dirs, flate2, TypeScript, Biome
BSD-2-Clausechess.js
Apache-2.0fuse.js, idb-keyval
SIL OFL 1.1Fuente Inter
CC0 (dominio público)Base de datos de partidas de Lichess, base de datos de problemas de Lichess
CC-BY-SA-3.0 / 4.0Piezas cburnett, piezas California, conjunto de piezas Shapes
AGPL-3.0Código fuente principal de Lichess (la API es de uso libre)
Comercial/PropietarioKomodo, Dragon by Komodo (motores opcionales, no incluidos)

El requisito de copyleft de GPL-3.0 significa que cualquier distribución de En Parlant~ debe incluir el código fuente o una oferta por escrito para proporcionarlo, y las obras derivadas también deben licenciarse bajo GPL-3.0 o una licencia compatible. Esto está impulsado principalmente por las bibliotecas de ajedrez de Niklas Fiekas y el componente Chessground de Lichess.

Este software existe gracias a las contribuciones de cientos de personas en decenas de proyectos. Tres personas merecen un reconocimiento singular: Francisco Salgueiro construyó la aplicación; Niklas Fiekas construyó la infraestructura de lógica de ajedrez (tanto en TypeScript como en Rust); y Thibault Duplessis construyó la interfaz del tablero de ajedrez y el ecosistema más amplio de Lichess que proporciona conjuntos de piezas, bases de datos, problemas y evaluaciones en la nube. Más allá de ellos, las bibliotecas de serialización de David Tolnay sustentan el backend en Rust, el equipo de Tauri hizo posible el framework de escritorio, y 56 contribuidores de la comunidad aportaron funcionalidades, traducciones a 10 idiomas y correcciones de errores que dieron forma al producto.

Cada posición de ajedrez evaluada tiene una deuda con la comunidad de Stockfish, y cada consulta de final con las tablebases Syzygy de Ronald de Man. El ecosistema de ajedrez de código abierto está notablemente interconectado — una sola aplicación como En Parlant~ se apoya en trabajo que abarca dos décadas, desde las piezas de ajedrez SVG de Colin M.L. Burnett de 2006 en Wikimedia hasta las optimizaciones del compilador de React 19.

¿Te dejamos fuera? Envíanos una nota y lo corregiremos. Si prefieres permanecer en el anonimato, simplemente háganoslo saber también: darrell@redshed.ai.