Filarr publica su código fuente: por qué la BSL 1.1 y no el código abierto inmediato

El cliente de escritorio de Filarr se publica en GitHub con la Business Source License 1.1. Qué significa, qué sigue cerrado y por qué elegí esta licencia.

Mathis Belouar-Pruvot

· fundador de Filarr · · 7 min de lectura

Respuesta rápida. El cliente de escritorio de Filarr se publica con la Business Source License 1.1 (BSL 1.1), en github.com/matbel91765/filarr. Puedes leer el código, compilarlo tú mismo y verificar lo que el cliente afirma sobre su criptografía. El backend en la nube sigue siendo propietario. El término exacto es «source available» (código fuente disponible): el código solo pasa a ser de código abierto en el sentido de la OSI el 19 de abril de 2030, cuando se convierte automáticamente a Apache 2.0; la fecha está fijada en la licencia.

Hoy, el código fuente del cliente de escritorio de Filarr se hace público.

El código está publicado en github.com/matbel91765/filarr con la Business Source License 1.1. Puedes leerlo, clonarlo, compilarlo y proponer correcciones. Este artículo explica qué se publica, qué sigue cerrado, por qué elegí la BSL y qué cambia esto en concreto para ti.

¿Por qué publicar ahora el código de Filarr?

Desde el primer día, Filarr vende una promesa precisa: tus datos viven cifrados en tu disco, y mis servidores no pueden leerlos. Eso se puede verificar en el código. Es una afirmación criptográfica concreta.

Mientras el código era privado, esa promesa se apoyaba en mi palabra. Podías confiar en mí o no. Era una deuda de confianza que no quería dejar pendiente.

Publicar el código hace dos cosas:

  1. Ya no tienes que fiarte de mi palabra. Puedes leer los módulos criptográficos y el algoritmo de derivación de claves, y comprobarlo por ti mismo.
  2. Los investigadores de seguridad, los curiosos y los colaboradores pueden señalar lo que está roto. Más ojos sobre el código = menos errores que se cuelan.

¿Qué hay en el repositorio de Filarr (y qué no)?

El repositorio contiene el núcleo local-first del producto. Exactamente lo que usas cuando no has iniciado sesión en una cuenta:

  • El cliente de escritorio en Electron/React
  • Los módulos criptográficos (AES-256-GCM, arquitectura KEK/FEK, derivación PBKDF2 con 600 000 iteraciones)
  • El editor de bloques TipTap (tareas, tablas, wikilinks, transclusión)
  • La vista de grafo (simulación física, detección de comunidades)
  • El lienzo 2D integrado
  • El sistema de varios perfiles con aislamiento completo de las claves
  • El almacenamiento cifrado en disco
  • La vista previa de archivos en más de 80 formatos

Lo que no está en el repositorio:

  • El backend api.filarr.com (autenticación, sesiones, gestión de cuentas, facturación)
  • La lógica de sincronización en la nube entre dispositivos
  • La infraestructura de Cloudflare R2 y los workers asociados
  • La gestión de suscripciones y pagos

El binario oficial de filarr.com combina las dos cosas. Sin una cuenta, se comporta exactamente como el repositorio público. Con una cuenta, se activan los módulos en la nube propietarios. Es el modelo «open core», en su versión source available: el núcleo del producto es público, y los servicios alojados son el modelo de negocio.

¿Por qué la BSL 1.1 y no MIT, Apache o AGPL?

La elección de la licencia importa. Refleja lo que quieres proteger y lo que quieres abrir. Había tres opciones sobre la mesa.

MIT o Apache 2.0 de inmediato

Ventaja: la licencia más permisiva, la más adoptada y la más sencilla.

Problema: permite que un competidor bifurque Filarr, le cambie el nombre y venda el mismo producto al día siguiente. Soy un desarrollador en solitario. Unos meses de trabajo copiados en una tarde acabarían con el proyecto. Una licencia que mata el producto que libera no ayuda a nadie.

AGPL

Ventaja: copyleft fuerte, obliga a que las modificaciones sigan siendo abiertas.

Problema: la AGPL es un copyleft de red. Si usas el código en un servicio, tienes que abrir todo tu stack. Eso frena la adopción y las contribuciones, sobre todo en las empresas, donde el departamento jurídico suele rechazar la AGPL sin más. Y no protege de verdad frente a la competencia: un competidor puede devolver sus cambios y después vender el mismo servicio.

BSL 1.1

La BSL se diseñó exactamente para este escenario: abrir el código a la auditoría y a las contribuciones, pero prohibir temporalmente los usos comerciales que acabarían con el proyecto.

Esto es lo que dice en concreto:

  • Puedes: leerlo, clonarlo, modificarlo, compilarlo y usarlo con fines personales, educativos, de investigación, de evaluación o de desarrollo.
  • No puedes: desplegarlo en producción en tu empresa, vender un servicio basado en este código ni alojar una oferta comercial que compita con él. Para eso hace falta una licencia comercial aparte (escribe a contact@filarr.com).
  • Change Date (fecha de cambio): 19 de abril de 2030. Esta fecha está fijada en la licencia. A partir de ese día, el código pasa automáticamente a la Apache License 2.0: código abierto completo, sin restricciones.

MariaDB creó este modelo para MaxScale, y Couchbase lo usa. Sentry lo usó de 2019 a 2023, cuando pasó a su propia Functional Source License; CockroachDB lo usó de 2019 a 2024, cuando pasó a una única licencia empresarial. Su recorrido muestra lo que ofrece el modelo (transparencia inmediata y, después, protección comercial durante unos años) y que una empresa puede cambiar de rumbo para las versiones futuras: lo que conserva cada versión es la Change Date que lleva escrita.

En 2030, el código de hoy será Apache 2.0. Cada versión intermedia tendrá su propia Change Date. Esa es la garantía pública: este código acabará siendo de código abierto por completo, sin vuelta atrás posible.

¿Qué cambia para los usuarios la publicación del código de Filarr?

Si usas Filarr hoy, no cambia nada en tu uso:

  • El binario de filarr.com es idéntico
  • Los planes Free, Solo y Pro siguen igual
  • Tus archivos cifrados siguen exactamente donde estaban, en tu disco

Lo que cambia es lo que puedes hacer además:

  • Leer el código que se ejecuta en tu equipo. electron/storageService.ts es el punto de entrada si quieres verificar una afirmación criptográfica concreta.
  • Informar de problemas de seguridad mediante divulgación responsable a security@filarr.com.
  • Compilar el binario tú mismo si prefieres no fiarte del que firmo y distribuyo.
  • Contribuir: errores, funciones, traducciones, documentación. El archivo CONTRIBUTING.md explica cómo.

¿Cómo leer el código fuente de Filarr?

El repositorio es grande. Si quieres ir directo a las partes importantes:

  • Para verificar el cifrado: empieza por electron/storageService.ts (derivación de claves, envoltura y almacenamiento: la arquitectura KEK/FEK).
  • La cadena de subida a la nube (electron/sync/) no está en el repositorio público: como el backend, pertenece a los módulos en la nube.
  • Para la interfaz React: src/renderer/ contiene toda la interfaz de usuario.

Un README.md en la raíz da las instrucciones de compilación (Node, npm, electron-builder) y un SECURITY.md documenta el modelo de amenazas.

¿Cómo informo de un problema de seguridad en Filarr?

Todo el sentido de abrir el código es hacerlo auditable. Si detectas una vulnerabilidad (criptografía rota, fuga de claves, escalada de privilegios), infórmala mediante divulgación responsable y no en una incidencia pública.

Contacto de seguridad: security@filarr.com. Respuesta en 48 horas laborables. Reconoceré públicamente a cualquiera que informe de una vulnerabilidad real y respete el embargo de divulgación.

¿Qué viene ahora para el código público de Filarr?

Para los próximos meses, tengo previsto:

  1. Una auditoría de seguridad independiente a cargo de un equipo externo, con el informe publicado
  2. Un CHANGELOG.md detallado en el repositorio, que corresponda con las versiones distribuidas en filarr.com
  3. Una página sobre la cadena de compilación para que puedas verificar que el binario distribuido corresponde a un commit etiquetado del repositorio
  4. Abrir progresivamente la lógica de sincronización en la nube, si tiene sentido sin comprometer el modelo de negocio

Si solo quieres probarlo: descarga Filarr. Si prefieres leer primero: el repositorio es público. Si tienes preguntas: contact@filarr.com.

Gracias a todas las personas que usaron Filarr mientras aún era cerrado. Esa paciencia ayudó a estabilizar el producto hasta el punto en que abrir el código tenía sentido de verdad. Ahora se puede leer.