En Color Vivo hacemos apps de escritorio para Windows y Mac. Las tiendas de Microsoft y Apple te lo dan todo hecho a cambio de su comisión y de sus normas, pero queríamos venderlas también desde nuestra web. Y ahí llega la pregunta de siempre: ¿con quién cobro y dónde guardo las licencias?
Este artículo cuenta qué decidimos, qué hemos construido y por qué creemos que puede servir a otros creadores. También cuenta lo que todavía no sabemos, que no es poco.
El problema: tus clientes viven en casa ajena
La opción cómoda es un vendedor de registro (merchant of record): Paddle, Lemon Squeezy, Gumroad y compañía. Creas el producto, pegas un enlace y a vender. Se ocupan del IVA de cada país, de las facturas y, muchas veces, de las claves de licencia.
Funciona, y para mucha gente es lo más sensato. Pero tiene un precio que no sale en la tabla de comisiones. Tu lista de clientes, sus claves y el historial de pagos se quedan en la cuenta del proveedor. Si un día sube precios, cambia sus condiciones o decide cerrar tu cuenta, no pierdes solo una forma de cobrar: pierdes el sitio donde viven tus clientes.
No es una hipótesis. DevMate, una plataforma de licencias muy usada en apps de Mac, cerró en 2019, y quien dependía de ella tuvo que migrar sus licencias deprisa. Y el SDK de Mac de Paddle solo existe en Paddle Classic, que ya no admite altas nuevas.
Si mañana desaparecemos, tus clientes no deberían notar nada. Esa es la regla que nos pusimos.
Lo que hemos construido para nosotros
Montamos nuestro propio sistema de licencias, con una idea muy simple: todo lo que es nuestro se queda en nuestras cuentas.
- El servidor de licencias es un Worker de Cloudflare con su base de datos D1, en nuestra cuenta de Cloudflare.
- Los cobros van a nuestra cuenta de Stripe. Usamos Managed Payments, así que Stripe hace de vendedor de registro y se ocupa del IVA, pero la cuenta y los clientes son nuestros.
- Las licencias se firman con claves Ed25519 que solo existen en nuestro Worker. Las apps llevan la clave pública y comprueban la licencia sin conexión: nunca esperan a la red para arrancar.
- Hay un portal para que el cliente vea sus licencias y libere equipos, emails desde nuestro dominio y un panel de administración para el soporte.
Nuestras apps de escritorio usan este sistema. Nos ha costado bastante más que pegar un enlace de Paddle, y mantenerlo también tiene su trabajo. A cambio, si mañana queremos cambiar de proveedor de pagos o de lo que sea, nuestros clientes y sus licencias siguen donde estaban.
La idea: el mismo sistema, en tu cuenta
Mientras lo construíamos nos dimos cuenta de que el problema no es solo nuestro. Muchos creadores pequeños venden software con clave (apps, plugins, juegos, herramientas de línea de comandos) y tienen que elegir entre la comodidad de un intermediario y el trabajo de montarse algo propio.
OwnLicense es la idea de ofrecer ese término medio:
- Tu Worker en tu Cloudflare. Instalas el sistema de licencias en tu cuenta. Tus clientes, sus emails, sus equipos y tus claves no salen de ella.
- Tu Stripe. Cobras en tu cuenta, con Managed Payments o con Checkout normal. No nos llevamos comisión de tus ventas: un 0 %.
- Un servicio central, para lo que un Worker solo no hace bien. Estadísticas sin datos personales, avisos cuando algo se rompe, actualizaciones firmadas, el instalador y los SDKs. A ese servicio solo llegarían recuentos y un latido firmado, nunca los datos de tus clientes.
Y si dejas de pagar o desaparecemos, tu Worker sigue vendiendo, activando y renovando. Sin interruptores a distancia.
Lo que todavía no sabemos
Aquí toca ser honestos. Esto es un MVP cerrado: nadie puede usarlo ni contratarlo todavía. El sistema de licencias funciona en nuestras apps, pero hay que hacerlo genérico para otros, y el instalador, el servicio central y los SDKs están por hacer.
Tampoco sabemos aún cómo lo cobraremos. No sabemos si el servicio central será 100 % gratis o si tendrá una pequeña opción de pago para cubrir lo que cuesta mantenerlo. Lo que sí tenemos claro es lo que no va a cambiar: lo que funciona en tu Worker es tuyo y no tiene límites artificiales, y no habrá comisión nuestra sobre tus ventas.
Tampoco te vamos a prometer fechas. Depende sobre todo de cuánta gente tenga el mismo problema que nosotros.
Cómo puedes ayudarnos a decidir
Por eso hemos abierto una lista de espera. Al apuntarte te preguntamos qué vendes, en qué plataformas, con qué lenguaje y si ya usas Stripe. Con esas respuestas sabremos si merece la pena, qué hacer primero (por ejemplo, qué SDK) y cómo plantear el precio del servicio central.
Si te apuntas, te avisaremos cuando abramos una beta cerrada, gratis a cambio de tus opiniones. Y si prefieres contarnos tu caso con calma, escríbenos: contestamos nosotros.
Mientras tanto, puedes ver cómo funciona, nuestro modelo o la comparativa con otras opciones, donde también decimos en qué no tenemos ventaja.