Pular para o conteúdo

Créditos e Atribuições

En Parlant~ é um fork do En Croissant, “The Ultimate Chess Toolkit” — uma interface gráfica de xadrez multiplataforma e de código aberto, construída com Tauri (Rust + React/TypeScript). Este documento identifica todas as pessoas, equipas, organizações e projetos cujo trabalho tornou este software possível, desde a framework central da aplicação até fontes tipográficas, ícones e SVGs de peças de xadrez individuais.

Todo o projeto está licenciado sob GPL-3.0, determinado pelos requisitos copyleft de bibliotecas de xadrez essenciais (chessground, chessops, shakmaty) da autoria de Niklas Fiekas e da equipa do Lichess. Dois indivíduos — Niklas Fiekas e Thibault Duplessis — são responsáveis por essencialmente toda a infraestrutura de xadrez de código aberto que torna o En Parlant~ possível, desde a renderização do tabuleiro à geração de jogadas e às bases de dados de puzzles.

Francisco Salgueiro é o único criador e principal mantenedor do En Croissant. É autor da grande maioria dos mais de 1.302 commits ao longo de mais de 23 versões. O projeto conquistou mais de 1.400 estrelas no GitHub e 199 forks, com 46 contribuidores baseados em commits e mais de 56 indivíduos creditados nas notas de lançamento.

En Croissant é uma aplicação de ambiente de trabalho Tauri 2, escrita em TypeScript (87,7%) e Rust (11,9%). Suporta análise multi-motor, importação de jogos do Lichess e do Chess.com, treino de repertório com repetição espaçada, gestão de bases de dados com pesquisa por posição e treino de puzzles. Francisco trata pessoalmente da arquitetura frontend em React, do backend em Rust para operações de base de dados e comunicação com motores, e da visão global do produto. Aceita donativos em encroissant.org/support através do Buy Me a Coffee.

En Parlant~ (por @DarrellThomas) é um fork que adiciona funcionalidades de narração por Text-to-Speech (TTS) — integrando ElevenLabs e Google Cloud para comentários por síntese de voz, KittenTTS para síntese local no dispositivo e Cloudflare R2 para alojamento de áudio.

Contribuidores individuais do En Croissant antes do fork

Seção intitulada “Contribuidores individuais do En Croissant antes do fork”

Francisco Salgueiro — criador, arquiteto e principal mantenedor de todas as funcionalidades, incluindo a migração para Tauri 2, a migração para React 19, os sistemas de prática de aberturas e o motor de base de dados.

  • @spinward — opção para ocultar a classificação atual do puzzle
  • @anderslundback — definição de deslocamento por jogadas no tabuleiro
  • @yuval59 — contribuições de código (En Croissant v0.10.0)
  • @Cankyre — retroceder jogadas ao jogar contra o motor; ciclar entre brilhantismos/erros/desastres
  • @tblrone — botão para encerrar o motor
  • @pnodet — contribuições de código (En Croissant v0.10.0)
  • @Count-MHM — contribuições de código (En Croissant v0.11.0)
  • @Scoutboy06 — contribuições de código (En Croissant v0.11.0)
  • @Selyss — contribuições de código (En Croissant v0.11.0)
  • @RainRat — contribuições de código (En Croissant v0.11.0)
  • @zackschuster — contribuições de código (En Croissant v0.11.0)
  • @loloof64 — funcionalidade de captura de imagem do tabuleiro
  • @JayceFFT — botão para avançar para o próximo puzzle
  • @archimag — estado de página da base de dados persistido, barra de progresso de relatórios, definições de capacidades do Tauri
  • @LiberaTeMetuMortis — opção de pesquisa por resultado de jogo na análise; tradução para turco
  • @teleginpro — definições persistidas para relatórios de jogos
  • @alextaconet — pré-visualização de conjuntos de peças nas definições
  • @buracchi — estatísticas melhoradas na página de Utilizadores; correção de autenticação de sessões do Lichess
  • @TurtleOrangina — anotação de jogada para “Miss”; correção de persistência do tamanho da janela
  • @kimerikal-games — coloração de anotação de novidade; tradução para coreano; cadeias de texto traduzíveis
  • @PeterLombaers — apresentação em linha de comentários de linha única
  • @mtwdev — tablebase para posições OP1
  • @BlueManCZ — correção de reprodução de áudio no Linux
  • @tweezerticle — correções de importação do Chess.com; correção de sincronização de jogadas e peças
  • @Nullsp4ce — aceitar mate-em-1 alternativo no modo de puzzle
  • @woprandi — correção de cintilação na avaliação de tablebase; marcação de mensagens traduzíveis
  • @Breush — suporte para diretório de documentos no Linux sem XDG
  • @dotneB — prevenir jogadas após conclusão do puzzle
  • @arimourao — correção de início das pretas com incremento de tempo
  • @tkasa — preservar FEN ao mudar a orientação
  • @wjgr2004 — prevenir falha quando o jogador fica sem tempo
  • @ed-cetera — correção de ciclo infinito ao promover para linha principal
  • @sid0-0 — correção de hooks condicionais
  • @vainbaum — correção de gravação de PGN vazio
  • @xiaoas, @OleBroemelbue, @nskobelevs, @beachwood23, @jaximus808 — contribuições no En Croissant v0.14.2
IdiomaContribuidor(es)
Chinês@chuigda
Português@franciscoBSalgueiro
Espanhol@yako1984, @dav1312
Francês@PaulJeFi
Italiano@MrPiada
Russo@artemy
Norueguês (Bokmål)@TBestLittleHelper
Turco@LiberaTeMetuMortis
Alemão@eskopp
Coreano@kimerikal-games
  • @qqiumax — atualização da licença no README
  • @jaimecbernardo — instruções de instalação com pnpm
  • @qoqosz — correções de avisos do shakmaty
  • @hadim — renomeação de TAURI_SIGNING_PRIVATE_KEY
  • @chrisbilodeau — atualizações de workflows do GitHub

@garbidge, @pmyszka, @powy-e — contribuições anteriores ao En Croissant v0.10.0.

Tauri — a framework de aplicações de ambiente de trabalho em Rust/WebView — foi cofundada por Daniel Thompson-Yvetot e Lucas Nogueira em 2019 e é mantida pelo The Tauri Programme dentro da The Commons Conservancy. Os principais contribuidores incluem Amr Bashir e FabianLars. Licenciada sob Apache-2.0 OR MIT.

React foi criado por Jordan Walke no Facebook em 2013 e é mantido pela Meta Open Source. Os principais contribuidores incluem Dan Abramov, Andrew Clark, Sebastian Markbage, Sophie Alpert e Brian Vaughn. Licenciado sob MIT.

Vite foi criado por Evan You (também o criador do Vue.js) e é desenvolvido sob a VoidZero Inc. Os principais contribuidores incluem Patak, Anthony Fu e Bjorn Lu. Licenciado sob MIT.

TypeScript foi criado por Anders Hejlsberg (que também criou C# e Turbo Pascal) na Microsoft. Licenciado sob Apache-2.0.

Bibliotecas específicas de xadrez e o ecossistema de Niklas Fiekas

Seção intitulada “Bibliotecas específicas de xadrez e o ecossistema de Niklas Fiekas”

Niklas Fiekas é, provavelmente, o contribuidor individual mais importante do ecossistema moderno de programação de xadrez de código aberto. É autor de todas as bibliotecas centrais de lógica de xadrez utilizadas pelo En Parlant~, tanto no frontend como no backend:

  • chessops — biblioteca TypeScript de regras de xadrez e variantes para o frontend. Licenciada sob GPL-3.0-or-later.
  • shakmaty — biblioteca Rust de xadrez para o backend, fornecendo geração de jogadas, notação FEN/SAN/UCI, bitboards e hashing Zobrist. Licenciada sob GPL-3.0-or-later.
  • pgn-reader — parser PGN rápido, sem alocações e em streaming, em Rust. Licenciada sob GPL-3.0-or-later.
  • shakmaty-syzygy — biblioteca Rust para consulta de tablebases de finais Syzygy. Licenciada sob GPL-3.0-or-later.

Niklas Fiekas é também o autor de python-chess, a principal biblioteca de xadrez em Python, e um contribuidor essencial do ecossistema Lichess. O seu licenciamento GPL-3.0 nestas bibliotecas propaga o requisito copyleft ao próprio En Parlant~.

Thibault Duplessis fundou o Lichess.org — o maior servidor de xadrez gratuito e de código aberto. O projeto Lichess contribui com múltiplos componentes para o En Parlant~:

  • Chessground — o componente de interface de tabuleiro de xadrez interativo, com diffing de DOM personalizado, desenho de setas SVG, arrastar e largar, pré-jogadas e temas apenas em CSS. ~10KB gzipped com zero dependências. Licenciado sob GPL-3.0-or-later.
  • Lichess API — utilizada para importar jogos de utilizadores, aceder a avaliações na nuvem e consultar o explorador de aberturas. Parte do projeto Lichess sob AGPL-3.0.
  • Base de Dados de Jogos do Lichess — milhares de milhões de jogos em formato PGN, disponibilizados mensalmente. Licenciada sob CC0 (domínio público).
  • Base de Dados de Puzzles do Lichess — mais de 4,6 milhões de puzzles gerados a partir de 600 milhões de jogos analisados com Stockfish NNUE. Licenciada sob CC0.
  • SVGs de peças de xadrez e temas de tabuleiro — provenientes da coleção de recursos estáticos do Lichess, sob várias licenças (ver a secção de conjuntos de peças de xadrez abaixo).

En Parlant~ suporta qualquer motor compatível com UCI e oferece instalação com um clique para vários:

As classificações dos motores apresentadas na aplicação provêm da CCRL (Computer Chess Rating Lists), mantida por Graham Banks, Kirill Kryukov, Sergio Martinez, Gabor Szots, Shaun Brewer e outros desde dezembro de 2005.

Provenientes principalmente da coleção de recursos do Lichess:

  • cburnett (predefinido) — por Colin M.L. Burnett. Peças SVG limpas e reconhecíveis, criadas com Inkscape. Multi-licenciado: BSD-3-Clause, GFDL, GPL, CC-BY-SA-3.0. Também utilizado como base para o ícone da aplicação.
  • Kosal por PhilatypeCC BY 4.0.
  • Alpha — por Eric Bentzen. Design limpo e moderno.
  • Merida — baseado na clássica fonte de xadrez Merida, adaptação SVG mantida pela comunidade Lichess. Licenciado sob GPLv2+.
  • California — por Jerry S. Licenciado sob CC-BY-SA-4.0.
  • Anarcandy — por contribuidores da comunidade 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 — provenientes do Lichess e dos respetivos criadores, distribuídos sob CC BY-SA 3.0 ou licenças compatíveis.
Base de dadosJogosCriador / Curador
Lumbra’s Gigabase~9,57MLumbra (curador comunitário)
Caissabase 2024~5,4MCuradoria comunitária a partir de MillionBase, KingBase e TWIC
Ajedrez Data (OTB)~4,28MComunidade Ajedrez Data
Ajedrez Data (Correspondência)~1,52MComunidade Ajedrez Data
MillionBase~3,45MEd Schroder (autor do motor de xadrez Rebel) e comunidade

Syzygy Endgame Tablebases — criadas por Ronald de Man, com tabelas de 7 peças geradas por Bojun Guo (2018). Alojadas para download pelo Lichess.org.

ChessDB Cloud (chessdb.cn) — por Bojun Guo. Uma enorme base de dados de conhecimento de xadrez construída a partir de análise por motores. Disponibilizada em domínio público.

  • KittenTTS por KittenML — o motor TTS local predefinido, incluído na aplicação. Funciona inteiramente no dispositivo, sem necessidade de chave de API. Utiliza modelos de voz ONNX via ONNX Runtime e eSpeak NG para fonemização.
  • OpenTTS por Michael Hansen (synesthesiam) — servidor TTS opcional auto-alojado, executado localmente via Docker.
  • Google Cloud Text-to-Speech — fornecedor TTS na nuvem opcional com vozes WaveNet. Requer uma chave de API fornecida pelo utilizador.
  • ElevenLabs — fornecedor TTS premium na nuvem opcional com vozes de alta qualidade. Requer uma chave de API fornecida pelo utilizador.

Ecossistema Mantine (todos por Vitaly Rtishchev, MIT)

Seção intitulada “Ecossistema Mantine (todos por Vitaly Rtishchev, MIT)”

Vitaly Rtishchev criou e mantém toda a biblioteca de componentes Mantine — mais de 30.600 estrelas, mais de 100 componentes, mais 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

Pacotes npm do Tauri (The Tauri Programme, Apache-2.0 OR MIT)

Seção intitulada “Pacotes npm do 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 criou o ecossistema TanStack: @tanstack/react-query (obtenção/cache de dados assíncronos), @tanstack/react-table (tabela/datagrid headless), @tanstack/react-virtual (virtualização de listas).

Criado pela Tiptap GmbH. @tiptap/react, @tiptap/starter-kit, @tiptap/extension-link.

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

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

David Tolnay mantém mais de 160 crates Rust e é responsável por algumas das bibliotecas mais fundamentais do ecossistema Rust. Aproximadamente 40% de todos os crates no crates.io dependem transitivamente do serde.

CrateAutorLicença
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
CrateAutorLicença
tokioCarl Lerche, Alice Ryhl, Sean McArthur, Eliza WeismanMIT
reqwestSean McArthurMIT OR Apache-2.0
futures / futures-utilAlex CrichtonMIT OR Apache-2.0
CrateLicençaDescrição
shakmatyGPL-3.0-or-laterGeração de jogadas de xadrez, bitboards, FEN/SAN/UCI
pgn-readerGPL-3.0-or-laterParser PGN em streaming
shakmaty-syzygyGPL-3.0-or-laterConsulta de tablebases Syzygy
CrateAutorLicença
rusqliteJohn Gallagher (original) / programadores 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

Design de interface, ícones e fontes tipográficas

Seção intitulada “Design de interface, ícones e fontes tipográficas”
  • Tabler Icons — mais de 6.000 ícones SVG gratuitos por Pawel Kuna. Utilizados via @tabler/icons-react como parte do ecossistema Mantine. Licenciados sob MIT.
  • CodeMirror — editor de código no navegador por Marijn Haverbeke (também criador do ProseMirror e autor de Eloquent JavaScript), com contribuições de Adrian Heine. Utilizado para edição de PGN. Licenciado sob MIT.
  • Inter — a fonte tipográfica da interface, criada por Rasmus Andersson. Uma fonte variável otimizada para legibilidade em ecrã. Utilizada como família de fontes predefinida do Mantine. Licenciada sob SIL Open Font License 1.1.
  • Fonte de notação de xadrez (lichess.chess) — pelos autores do pgn4web, fornecendo símbolos de notação algébrica figurativa. Licenciada sob GPLv2+.

Ferramentas de compilação e infraestrutura de desenvolvimento

Seção intitulada “Ferramentas de compilação e infraestrutura de desenvolvimento”

O fork En Parlant~ — incluindo a sua integração TTS, o site de documentação, as traduções multilingues, a pipeline de demonstração e esta página de créditos — foi construído quase inteiramente com o Claude Code, a ferramenta de programação agêntica da Anthropic. O Claude Code utiliza o Claude, o assistente de IA da Anthropic, para trabalhar diretamente no terminal — lendo ficheiros, editando código, executando comandos e gerindo fluxos de trabalho git.

A Anthropic foi fundada em 2021 por Dario Amodei e Daniela Amodei, juntamente com vários antigos investigadores da OpenAI, com foco em investigação sobre segurança de IA. Claude é a sua família de modelos de linguagem de grande dimensão.

  • Lichess API — mantida por Thibault Duplessis e pela equipa do Lichess. Exportação de jogos, avaliações na nuvem, explorador de aberturas e dados de puzzles. Parte do projeto Lichess sob AGPL-3.0.
  • Chess.com Published-Data API — API REST apenas de leitura para perfis públicos de jogadores, arquivos de jogos e dados de clubes/torneios.
  • ChessDB Cloud Evaluation — por Bojun Guo. Base de dados de conhecimento de xadrez construída a partir de análise por motores. Domínio público.
  • Stockfish — binários do motor alojados na nossa própria infraestrutura (enparlant.redshed.ai).
  • Lichess — bases de dados de aberturas e base de dados de puzzles, alojadas na nossa própria infraestrutura. CC BY 4.0.

En Parlant~ está licenciado sob GPL-3.0, exigido pela cascata copyleft das suas dependências de xadrez:

LicençaPacotes / Componentes
GPL-3.0 / GPL-3.0-or-laterEn Parlant~ em si, chessground, chessops, shakmaty, pgn-reader, shakmaty-syzygy, Stockfish, Lc0, RubiChess, Fairy-Stockfish, peças Merida, fonte de notação de xadrez
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), linguagem 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.1Fonte Inter
CC0 (domínio público)Base de dados de jogos do Lichess, base de dados de puzzles do Lichess
CC-BY-SA-3.0 / 4.0Peças cburnett, peças California, conjunto de peças Shapes
AGPL-3.0Base de código principal do Lichess (a API é de utilização livre)
Comercial/ProprietárioKomodo, Dragon by Komodo (motores opcionais, não incluídos)

O requisito copyleft da GPL-3.0 significa que qualquer distribuição do En Parlant~ deve incluir o código-fonte ou uma oferta escrita para o disponibilizar, e os trabalhos derivados devem também ser licenciados sob GPL-3.0 ou uma licença compatível. Isto é determinado principalmente pelas bibliotecas de xadrez de Niklas Fiekas e pelo componente Chessground do Lichess.

Este software existe graças às contribuições de centenas de indivíduos em dezenas de projetos. Três pessoas merecem reconhecimento singular: Francisco Salgueiro construiu a aplicação; Niklas Fiekas construiu a infraestrutura de lógica de xadrez (tanto em TypeScript como em Rust); e Thibault Duplessis construiu a interface de tabuleiro de xadrez e o ecossistema mais amplo do Lichess que fornece conjuntos de peças, bases de dados, puzzles e avaliações na nuvem. Para além deles, as bibliotecas de serialização de David Tolnay sustentam o backend em Rust, a equipa do Tauri tornou possível a framework de ambiente de trabalho, e 56 contribuidores da comunidade forneceram funcionalidades, traduções para 10 idiomas e correções de erros que moldaram o produto.

Cada posição de xadrez avaliada deve um tributo à comunidade Stockfish, e cada consulta de final às tablebases Syzygy de Ronald de Man. O ecossistema de xadrez de código aberto é extraordinariamente interligado — uma única aplicação como o En Parlant~ recorre a trabalho que abrange duas décadas, desde as peças de xadrez SVG de Colin M.L. Burnett em 2006 na Wikimedia até às otimizações do compilador do React 19.

Ficou alguém de fora? Envie-nos uma mensagem e podemos corrigir. Se preferir permanecer anónimo, basta indicá-lo também: darrell@redshed.ai.