Fuentes de datos y licencias
Faltan datos del titular o de la política comercial. Este borrador debe completarse antes del lanzamiento comercial.
Esta calculadora funciona sobre datos y software creados por otras personas. En algunos casos, citar la fuente es una obligación de la licencia. Esta página es esa mención.
De un vistazo
El servicio no llama a ningún servidor externo mientras calcula. Los datos astronómicos, de zonas horarias y de ciudades se convierten de antemano en tablas estáticas y viajan dentro del despliegue. Todo lo que sigue está en la misma imagen de servidor desde la que corre el servicio.
| Datos o software | Licencia | Para qué |
|---|---|---|
GeoNames cities500 |
CC BY 4.0 | Nombre de ciudad → coordenadas y zona horaria IANA |
| Base de zonas horarias de IANA (2026c) | Dominio público | Hora local oficial → UTC, historial de horario de verano |
| astronomy-engine 2.1.19 | MIT | Longitud solar → instantes de entrada de los 24 términos solares |
| Noto Serif KR (subconjunto de 104 sinogramas) | SIL OFL 1.1 | Muestra de los sinogramas de los pilares. Alojado por nosotros, sin petición externa. Texto completo de la licencia |
| API de términos solares y calendario lunar del KASI | Publicadas en el portal coreano de datos públicos, con las condiciones que fija el proveedor | Contraste de nuestros propios cálculos (solo en la compilación) |
| Software libre | Ver la tabla de dependencias de software | Ejecución del servidor y de la pantalla |
Datos de ciudades de GeoNames
- Creador — GeoNames (geonames.org)
- Aviso de derechos de autor — © GeoNames
- Licencia — Creative Commons Atribución 4.0 Internacional (CC BY 4.0)
- Archivo original —
cities500.txt(download.geonames.org) - Exención de garantía — GeoNames facilita los datos tal cual, sin garantía ni declaración alguna sobre su exactitud, actualidad o integridad.
Los datos han sido modificados. No redistribuimos el archivo
original. Convertimos el volcado cities500.txt en una base de
datos SQLite, normalizamos en una tabla aparte las distintas grafías de cada
ciudad para poder buscarlas y añadimos índices de prefijo. Lo que se
distribuye es esa base derivada: 235.046 ciudades y 873.241 nombres
alternativos, unos 49,5 MiB.
La búsqueda de ciudades se resuelve por completo dentro de esa base local. No sale ninguna petición hacia GeoNames al buscar, y la base no tiene ninguna tabla que registre los términos buscados. La conexión se abre en modo solo lectura y únicamente lee.
Base de zonas horarias de IANA
La hora oficial y el historial del horario de verano proceden de la base de
zonas horarias de IANA
(iana.org/time-zones),
que está en el dominio público. El servicio usa la versión
IANA 2026c, fijada mediante el paquete de distribución de
Python tzdata 2026.3. El código de ese proyecto de empaquetado
está a su vez bajo la licencia Apache 2.0.
Por qué se fija la versión. Esta base se actualiza varias veces al año y los periodos pasados también se corrigen con efecto retroactivo. Una misma fecha de nacimiento no puede dar una carta el mes pasado y otra distinta este mes, así que la versión se fija y se registra junto con el resultado.
Lo que estos datos no pueden decir. Las zonas se separan según si coinciden desde 1970. Por eso lugares que diferían antes de 1970 pueden quedar en la misma zona. Para nacimientos de aquel periodo, la zona horaria es incierta ya en la propia fuente, y eso no es algo que este servicio pueda arreglar.
Astronomía — astronomy-engine
Un término solar empieza en una longitud solar concreta. Ese cálculo usa astronomy-engine 2.1.19, con licencia MIT.
Se ejecuta una sola vez, en la compilación. Los 4.872 instantes de entrada de los términos solares entre 1899 y 2101 se calculan de antemano en una tabla, y una consulta real se limita a mirar esa tabla. La tabla resultante es producción propia, no una redistribución de astronomy-engine.
Datos de términos solares y calendario lunar del KASI
Usamos el servicio de los 24 términos solares y el servicio de calendario lunar que el Instituto Coreano de Astronomía y Ciencias del Espacio (KASI) publica en el portal coreano de datos públicos (data.go.kr). El uso queda sujeto a las condiciones que fija el organismo proveedor.
La finalidad fue el contraste. Comparamos nuestros propios instantes de entrada de los términos solares y nuestros pilares del día con los valores del KASI y dejamos constancia de las divergencias, incluida la lista de defectos confirmados. Nuestra tabla calculada sigue siendo la de referencia.
El servicio en funcionamiento nunca llama a la API del KASI. La clave de acceso no se incluye ni en el despliegue ni en el repositorio.
Lo que deliberadamente no usamos
Lo que falta también es un hecho de licencias, así que le corresponde estar aquí. Ninguno de los dos elementos siguientes se descartó por falta de capacidad: se dejaron fuera porque este servicio no puede cumplir las condiciones que imponen sus licencias.
- Swiss Ephemeris — se distribuye bajo AGPL-3.0. La AGPL extiende la obligación de publicar todo el código fuente al software ofrecido a través de una red. No podemos cumplir esa condición, así que nunca la adoptamos. La única magnitud astronómica que este método necesita es la longitud solar, y astronomy-engine bajo MIT basta para eso.
- timezonefinder — el código es MIT, pero los polígonos de fronteras de zonas horarias que lo acompañan son ODbL, derivados de OpenStreetMap. Distribuir esos polígonos añadiría a esos datos una condición de compartir igual. No lo adoptamos: las zonas horarias salen de la zona IANA que GeoNames ya trae para cada ciudad.
El resultado es que nada del despliegue arrastra una obligación AGPL ni ODbL. Esto es cumplimiento de licencias, no elusión: no usamos código ni datos cuyas condiciones no podamos honrar de verdad.
Dependencias de software
Estos son los principales componentes libres. El texto que prevalece es la
licencia incluida con cada paquete; las versiones están fijadas en
requirements.txt y frontend/package.json.
| Nombre | Licencia | Para qué |
|---|---|---|
| Python | PSF License | Entorno de ejecución del servidor |
| FastAPI | MIT | API web |
| Starlette | BSD 3-Clause | Capa web bajo FastAPI |
| Uvicorn | BSD 3-Clause | Servidor web |
| Pydantic | MIT | Validación de peticiones y respuestas |
| Jinja2 | BSD 3-Clause | Renderizado en servidor, incluida esta página |
| Requests | Apache-2.0 | Recogida de datos en la compilación |
| tzdata (paquete de Python) | Apache-2.0 | Distribución de los datos de zonas IANA |
| SDK de Python de OpenAI | Apache-2.0 | Solo se usa si la redacción asistida está activada |
| httpx | BSD 3-Clause | Solo pruebas |
| React · React DOM | MIT | Pantalla de la calculadora |
| Vite | MIT | Compilación del front-end |
| TypeScript | Apache-2.0 | Herramientas del front-end |
Todos los scripts, hojas de estilo, tipografías e imágenes que carga la pantalla de la calculadora los sirve este mismo servidor. Ningún recurso del front-end se descarga de una CDN externa, así que tu navegador nunca envía una petición a un host de terceros. Sí incluimos una obra de terceros: Noto Serif KR, la tipografía de los sinogramas de los pilares. Como la redistribuimos alojándola nosotros, su licencia se acredita en la tabla de arriba (SIL Open Font License 1.1). Solo contiene los 104 sinogramas que esta calculadora puede mostrar.
Lo que este servicio escribió por su cuenta
Las tablas sexagenarias, las reglas de juicio, las reglas de interpretación de la carta natal y de los periodos junto con su redacción, y las traducciones a cuatro idiomas se escribieron para este servicio. El método tradicional en sí no es una obra con autor identificable, pero las decisiones sobre cómo implementarlo y las frases que llegan a la pantalla son nuestras.
Puede usarse un modelo de lenguaje externo para pulir la redacción de esas frases de reglas fijas. Ese modelo no calcula nada ni emite ningún juicio. El Aviso legal lo explica en detalle.
Esta página acredita fuentes; no te concede ninguna licencia. Lo que puedes hacer con los resultados y con los textos de interpretación lo establecen los Términos del servicio.
Si falta alguna mención
Si una atribución o una mención de licencia falta o es incorrecta, avísanos: lo comprobaremos y lo corregiremos. Los datos de contacto están en la página de Contacto.
Esta lista se actualiza cada vez que cambian los componentes. La fecha de entrada en vigor y la versión de este documento están en la parte superior de la página.