Repository navigation
Licencia
English · Español
El código fuente de Tapete es software libre bajo la Licencia Pública General de GNU v3.0 o posterior (SPDX GPL-3.0-or-later). El texto completo es el fichero LICENSE de la raíz del repositorio, la GPL v3 oficial de gnu.org sin cambios.
- Cualquiera puede usar, estudiar, compartir y modificar el código.
- Quien distribuya una versión modificada (un instalador, un APK, un fork) tiene que publicar su código fuente con la misma licencia. Usar en privado una copia modificada no obliga a nada.
- «O posterior» permite usar el código bajo cualquier GPL posterior que publique la FSF. Es la forma que recomienda el proyecto GNU; pasar a
GPL-3.0-onlysupondría cambiar el identificador en todos los sitios de la tabla de abajo.
El identificador es el mismo en todos los manifiestos, así las herramientas de empaquetado y los analizadores de dependencias leen una sola respuesta:
| Fichero | Campo |
|---|---|
LICENSE |
Texto completo |
package.json |
license |
src-tauri/Cargo.toml, src-tauri/crates/mesa/Cargo.toml, src-tauri/crates/proxy-core/Cargo.toml, src-tauri/plugins/android-extra/Cargo.toml
|
license |
src-tauri/tauri.conf.json |
bundle.license |
README.md, README.es.md
|
Sección «License» / «Licencia», antes de los créditos |
bundle.license solo rellena los metadatos del paquete (por ejemplo, el campo de licencia del .deb y del .rpm). Deducido: no añade ninguna pantalla de aceptar la licencia a ningún instalador, porque no hay ninguna configurada (licenseFile no está puesto).
- Magic: The Gathering: los nombres de las cartas, el texto de reglas, las imágenes, los símbolos de expansión y los marcos oficiales son de Wizards of the Coast. La app los descarga (Scryfall, Card Conjurer) y no los distribuye.
-
Los recursos de terceros conservan su licencia: las letras incluidas, Noto Color Emoji, los juegos de iconos de Iconify (
game-icons:*, incluido el del logo, pide atribución), la letra del pack Balatro y las fuentes de datos. Las plantillas y las cartas de ejemplo del pack Balatro son de u/Poke_Hybrids; no consta ninguna licencia para ellas y la autorización expresa para redistribuirlas dentro de Tapete está pendiente de confirmación (véase Packs de marcos). Están en la sección «Créditos» delREADME.es.md. - El contenido descargable (los marcos «Original», packs como Balatro, letras libres, temas de tweakcn) se baja bajo demanda con un commit fijado y un SHA-256 por fichero y nunca va en los instaladores (véase Packs de marcos), así que la licencia de la app no le cambia la suya.
- El servidor de amigos y el repositorio de packs de marcos son proyectos aparte, con su propia licencia: el servidor es
AGPL-3.0-or-later(la GPL para software que se usa por la red: quien ponga en marcha una copia modificada para otros tiene que ofrecerles su código), y en el de packs solo los scripts de construcción sonGPL-3.0-or-later, mientras que cada pack conserva las condiciones de sus autores (suCREDITS.md).
Cada crate de Rust y cada paquete de npm que acaba dentro de la app tiene que tener una licencia compatible con la GPL v3. Las permisivas de siempre lo son: MIT, Apache-2.0, BSD-2/3-Clause, ISC, Zlib, 0BSD, Unlicense, CC0-1.0, BSL-1.0, Unicode-3.0 y MPL-2.0. Apache-2.0 es compatible con la GPL v3 pero no con la v2, un motivo más para que el proyecto sea v3.
No valen para código que se distribuye: GPL-2.0-only, SSPL, BUSL y licencias parecidas de «código visible», licencias privativas y licencias CC con cláusulas NC o ND. Un crate con licencia doble (MIT OR Apache-2.0) cuenta por la opción compatible.
Las herramientas que solo sirven para compilar (Biome, TypeScript, caniuse-lite con CC-BY-4.0…) no acaban en la app, así que no necesitan ser compatibles.
No hace falta cargo-deny ni cargo-license; las licencias declaradas salen de las herramientas que ya se usan:
# Rust: cada paquete de Cargo.lock con su licencia declarada
cd src-tauri
cargo metadata --format-version 1 --locked \
| python3 -c 'import json,sys,collections; c=collections.Counter(p.get("license") or "(none: see license_file)" for p in json.load(sys.stdin)["packages"]); [print(n, l) for l, n in c.most_common()]'
# npm: solo lo que se distribuye (--prod), agrupado por licencia
pnpm licenses list --prodUn paquete sin campo license (solo license_file) hay que leerlo a mano. Deducido: conviene repetirlo al añadir una dependencia, junto con cargo audit (véase Tests y CI); no hay ninguna puerta del CI para las licencias.
Use and build · Uso y desarrollo
- User-Guide · Guía de usuario
- Development-Setup · Preparación del entorno de desarrollo
- Testing-and-CI · Tests y CI
- Releases-and-Auto-Updates · Versiones y actualizaciones automáticas
- Conventions · Convenciones
- Rename-to-Tapete · Cambio de nombre a Tapete
- License · Licencia
Architecture · Arquitectura
- Architecture · Arquitectura
- IPC-and-Error-Handling · IPC y manejo de errores
- Rust-App-Layer · Capa de aplicación Rust
Data · Datos
- Deck-Model · Modelo del mazo
- Storage-and-Blobs · Almacenamiento y blobs
- Deck-Package-Format · Formato del paquete de mazo
- Deck-Library · Biblioteca de mazos
Getting cards · Conseguir cartas
- Decklist-Parsing · Parseo de la lista del mazo
- Scryfall-Integration · Integración con Scryfall
- External-Sources · Fuentes externas
- Card-Identification-and-OCR · Identificación de cartas y OCR
Layout, images, PDF · Maquetación, imagen y PDF
- Layout-Engine · Motor de maquetación
- Imaging-and-PDF · Imagen y PDF
- Export · Exportación
- The-Card-Stamp · El sello de las cartas
- Live-Preview · Vista previa en vivo
- Statistics · Estadísticas
Card designer · Diseñador de cartas
- Designer-Overview · Visión general del diseñador
- Designer-Engine · Motor del diseñador
- Designer-Composition · Composición del diseñador
- Frame-Packs · Packs de marcos
- Designer-App-Layer · Capa de aplicación del diseñador
- Designer-UI · Interfaz del diseñador
- Card-Editor-Dialog · Diálogo Editar carta
Game table · Mesa de juego
- Game-Engine · Motor de la mesa
- Game-Table · Mesa de juego
- Online-Play · Juego en línea
- Friends-and-Messages · Amigos y mensajes
Mobile · Móvil
Frontend · Frontend
- Frontend-Architecture · Arquitectura del frontend
- State-Stores · Stores de estado
- Internationalization · Internacionalización
- Themes-and-Skins · Temas y skins
- Icons · Iconos
- Settings-and-Shell · Ajustes y shell
- Tutorials · Tutoriales
- Decklist-Panel · Panel de la lista del mazo
- Add-Card-and-Variants · Añadir carta y variantes
- Card-Search · Búsqueda de cartas
- Set-Browser · Explorador de sets
Reference · Referencia