Te sorprendes, pagas $1000
(forestwalk.ai)- Un servicio de CI iniciado con una prueba gratuita envió una factura de $1,000 en vez de suspenderse al superar el límite, dejando al usuario con un costo inesperado
- Blacksmith es una startup de YC que reemplaza GitHub Actions y se presenta como un servicio drop-in replacement más rápido y más barato
- Bajo la condición de prueba gratuita, sin tarjeta de crédito, al exceder el límite el trabajo no se detiene, sino que el uso sigue acumulándose a la tarifa publicada y luego se factura
- La mayoría de los usuarios espera que el límite gratuito funcione como un hard cap hasta ingresar datos de pago, por lo que esta política es un caso inusual que menos del 5% anticiparía
- Dejar que usuarios sin tarjeta sigan consumiendo por encima del límite y luego enviarles una factura vencida es una mala práctica que favorece a usuarios abusivos y daña la confianza
Contexto — intento de reemplazar GitHub Actions
- A medida que aumentó el volumen de PRs, se hizo cada vez más evidente que el CI era lento y caro, acumulando frustración con GitHub Actions
- Tras una recomendación, se intentó adoptar Blacksmith
- Blacksmith es una startup de YC que se promociona como drop-in replacement de GitHub Actions, destacando por ser más rápida y más barata
- Tras importar y aplicar la configuración de GitHub, efectivamente era más rápido; el costo no estaba claro porque seguía dentro de la prueba gratuita
Cómo se llegó al cobro
- Primer correo de advertencia: la organización había consumido el 80% de los minutos gratuitos de ese mes, y pedían registrar una tarjeta para evitar interrupciones
- En ese momento debió revisarse el uso, pero se siguió programando sin detenerse
- Dos semanas después llegó un mensaje de "Has gastado $500.60 en Blacksmith este mes"
- Como seguía en la prueba gratuita, no parecía real; además no había tarjeta registrada y era uno más entre muchos correos de advertencia de uso que no afectaban a usuarios de producción
- Otras dos semanas después, en poco tiempo, llegaron seguidos "registra una tarjeta para evitar interrupciones" → factura por $1,081 → aviso de mora dos días después
- El total del aviso de mora fue de $1,081.45
- Según el contrato, las condiciones de pago exigían pago inmediato al generarse la factura
Aclaración sobre la expresión "disruption"
- Normalmente, si usas gratis sin tarjeta y llegas al límite, el servicio se corta (= interrupción del servicio), pero en este caso terminó en una factura de $1,000 ya vencida
- Explicación del equipo de soporte de Blacksmith
- La palabra "disruption" no significaba suspensión del servicio, sino marcar la cuenta, por ejemplo para revisar actividad sospechosa
- No había texto que indicara la detención automática de trabajos en ejecución y, al superar el límite gratuito, los workflows seguían acumulando uso a la tarifa publicada sin interrumpirse
- En realidad, nunca se dijo explícitamente que al llegar al límite los trabajos se detendrían, ni que "gratis, sin tarjeta requerida" significara que no podrían generarse cargos de miles de dólares; todo eso había sido una suposición basada en la práctica común
Cuatro puntos de debate
-
1. ¿Realmente pueden cobrar así?
- Según los términos de Blacksmith al 8 de junio, parece que el derecho de cobro presupone que se haya proporcionado información de pago
- Aun así, en SaaS puede existir en los términos una obligación de pago por excedentes durante una prueba gratuita
- Como agentes ejecutaron muchas tareas de CI y era esperable llegar al límite gratuito, además de que sí se obtuvo valor del servicio, en esencia no parece tanto una deshonestidad como una forma sorprendente de cobrar: la conclusión es que sí pueden
-
2. ¿Los usuarios se sorprenderían?
- Se estima que la proporción de usuarios que anticiparía una factura por exceder un servicio gratuito y sin tarjeta sería de menos del 5%
- Si se le pregunta a un chatbot, incluso sin mencionar el correo que advertía registrar tarjeta, responde con fuerza que "se cortaría"; eso sugiere lo inusual de esta política
- La mayoría de los usuarios espera que el límite gratuito sea un hard cap hasta ingresar datos de pago
-
3. ¿El servicio debería operar así?
- Permitir el exceso de uso y luego enviar una factura vencida puede inflar métricas de ingresos a corto plazo, pero la tasa real de cobranza es incierta y las cuentas por cobrar y las pérdidas incobrables se dispararían
- En conclusión, es una mala práctica
- Permitir que usuarios sin tarjeta acumulen excedentes genera fricción tanto para el proveedor como para el cliente, y sobre todo da más margen gratuito a usuarios abusivos sin intención de pagar
- Aunque infle ingresos a corto plazo, es difícil pensar que el costo en confianza y abuso sea menor que el ingreso adicional
- Alternativa: una advertencia previa como "si no registras una tarjeta en 72 horas, se suspende el CI"
- Solo se puede especular por qué eligieron cobrar después: growth hacking agresivo, un gerente medio buscando la meta trimestral de ingresos, deuda técnica entre sistemas de pago y aprovisionamiento, o quizá una moda entre startups de YC
- Dado el crecimiento explosivo durante el caos de GitHub en primavera, la hipótesis del autor es un simple descuido administrativo (oversight)
- El equipo de soporte respondió que revisará formas de reducir esta confusión en el futuro
-
4. Aun así, ¿seguiría usando Blacksmith?
- Se volvió a GitHub Actions, pero seguía siendo incómodo
- Blacksmith creció explosivamente porque resuelve rápido un cuello de botella del ciclo de desarrollo
- Al final prevaleció el pragmatismo: la preferencia por una mayor velocidad de desarrollo superó el malestar con la política de cobro
- Tras aceptar el pago, la atención del equipo de soporte también se volvió más amable, y es alta la probabilidad de migrar otra vez
Dos consejos para los lectores
- Si construyes un SaaS, la mayoría de los usuarios espera que las cuentas gratuitas se suspendan antes de acumular excedentes, así que enviar una factura será percibido negativamente por muchos
- Si vas a probar Blacksmith, al menos por ahora lo más seguro es reducir el uso antes de llegar al límite de la prueba
1 comentarios
Opiniones de Hacker News
Hace años, cuando compré mi primer celular con internet, la operadora anunciaba 300 minutos gratis durante el período de prueba, así que pensé que estaba buenísimo
El primer mes usé 297 minutos del servicio de internet, pero resultó que esos “minutos” solo aplicaban a llamadas y me cayó una factura vencida de unos 12,000 dólares por internet móvil. Era una locura, algo así como 360 dólares por MB
Al final, la operadora perdió una gran demanda colectiva, no por la publicidad de los “minutos”, sino porque no informaba correctamente a nadie sobre el costo de los datos. Creo que al final pagué como 300 dólares, y después de que mandaron un acuerdo de 600 dólares a cobranza, cerré con la agencia por el 50%
Durante el viaje, la operadora la llamó para decirle que ya llevaba 1,700 libras en cargos de roaming, y el agente le dijo que “no se preocupara”, que por si acaso bloqueara el débito automático de ese mes y volviera a llamar cuando saliera la factura
Unas semanas después confirmaron que el total final era de unas 2,000 libras, y cuando pregunté “¿no se suponía que mandaban alertas por SMS cuando se usaba como la mitad del bundle y cuando casi se acababa?”, admitieron que ya habían escuchado la grabación de la llamada y que efectivamente eso fue lo que le dijeron
Entonces dijeron que en realidad debieron haberle ofrecido otro bundle de 150 libras, que el uso real era como el 75% de esos datos, y tomando en cuenta las 25 libras del bundle original, lo dejarían en 75 libras. Por eso sigo siendo cliente de esa operadora hasta hoy
Wow, jamás habría esperado que llegara una factura sin siquiera haber registrado una tarjeta
Esto también parece otro caso de que “cobrar y medir es difícil, y puede ser un trabajo de ingeniería más grande que el servicio real”
Hoy estaba viendo este servicio porque nuestros GitHub Actions están demasiado lentos, y aunque se ve bien, si funciona así probablemente me tocaría vigilarlo más de lo que vigilo la mayoría de los trials, así que me quitaría más tiempo
Normalmente estos servicios simplemente se detienen cuando se acaba el período de prueba, y ahí eliges entre “vale la pena, así que me suscribo” o “no vale la pena, así que lo revierto”
Existen estafas que apuntan a eso, y algunos proveedores también pueden aprovecharlo. Si el 30% de tus clientes empieza a pagar la factura sin más, vale la pena encargarse de las demás consultas. Al menos hasta que empiece el daño reputacional
Un ejemplo sencillo que probablemente ha vivido cualquiera que tenga dominios: cuando se acerca el vencimiento, varias empresas mandan “facturas” que parecen costos de renovación de dominio. Si lees la letra chica, dicen que son una “oferta comercial”, pero por fuera se ven exactamente como una factura, y algunos simplemente las pagan
Tenemos un trial realmente gratis por tiempo y no hacemos este tipo de cosas raras. También puedes poner límites de uso para evitar que los costos se disparen inesperadamente
[0] https://depot.dev
Me recordó a las prácticas comerciales de Austrian NIC
Normalmente los dominios expiran si no los renuevas, pero en Austria se renuevan automáticamente por otro año a menos que los canceles explícitamente por fax, y si no pagas lo mandan a cobranza[1]
Al menos para los dominios de nivel superior de código de país (ccTLD), no existe una regla de “si no lo renuevas, el dominio debe expirar”. Es solo una convención, y las convenciones crean suposiciones, y esas suposiciones se pueden usar para engañar a la gente
En general, en los negocios hay modelos prepago, como McDonalds, y modelos pospago, como un restaurante donde te sientas a comer. Aplicar precios pospago a un servicio que por convención es prepago es una estafa perfecta
[1] https://www.reddit.com/r/sysadmin/comments/1bnjus/the_austri...
Los términos dicen que para usar el servicio de Blacksmith Software Inc hay que crear una cuenta, conectar una cuenta de GitHub durante la configuración, instalar la integración de GitHub de Blacksmith en la organización y agregar un método de pago válido, como una tarjeta de crédito procesada por Stripe
Solo en el caso de contratos grandes se puede pedir pago por factura, y también dicen que al proporcionar información de pago autorizas el cobro de las tarifas de uso a la tarjeta, o si se trata de un contrato con factura, aceptas pagar a tiempo según las condiciones de facturación
Si esta persona no cerró un contrato grande y pidió facturación por factura, entonces está incumpliendo los términos, así que simplemente pueden mandarlo al diablo
¿1,000 dólares al mes? ¿Qué demonios están haciendo en CI?
Nosotros usamos Warp build y nos sale como 50% más barato que GitHub; incluso con 6 personas dándole bastante duro en varios repositorios, son unos 150 dólares al mes. Hasta hacemos builds de Rust, que son un caso mucho peor en tiempo de compilación
No sé si Blacksmith ofrece runners más grandes, pero si los estás usando, hay que comprobar si realmente valen la pena. Un runner del doble de tamaño no hace que el build vaya el doble de rápido. Yo fijé objetivos y dimensioné el CI en función de eso
También hace falta caching. TypeScript se puede manejar con Nx si el código está descompuesto en paquetes
En un trabajo anterior teníamos una tarea de medición de tiempo después de la ejecución, y como GitHub Markdown soporta Mermaid, lo mostrábamos en un diagrama de Gantt. No recuerdo si la API de GitHub puede obtener los tiempos del workflow actual; puede que haya sido un segundo workflow
El primero requiere un poco de trabajo manual, y el resto un agente probablemente lo podría hacer en menos de 5 minutos
A largo plazo, esto no parece una forma correcta de llevar un negocio.
Incluso si alguien con suerte termina pagando de verdad la “factura”, se pierde mucha buena voluntad y además se le comunica a toda la industria tecnológica un comportamiento sospechoso.
Como cliente que en distintos momentos ha usado con satisfacción Blacksmith, Depot y Ubicloud, estoy de acuerdo en que los tres ofrecen ejecutores de GitHub Actions más baratos que GitHub mismo, pero este cobro sí está raro.
Aun así, también hay que señalar que para que salga una factura de 1,000 dólares realmente hay que usar muchísimo tiempo de CI. Eso ya está muy por encima de un uso de hobby, y con ese mismo consumo en GitHub tradicional habría costado el doble. Esto se parece más a pedirle a una empresa con una demanda real de cómputo que pague dinero de verdad.
Esto me recordó algo que me pasó con Gusto.
En mayo del año pasado me inscribí en su servicio de compensación de nómina por crédito fiscal de I+D, y la tarifa se calculaba como un porcentaje del beneficio que obtuviéramos. Como presentamos la declaración federal en septiembre, naturalmente no hubo compensación de nómina antes de octubre.
Aun así, cobraron por un servicio que no habían prestado, y desde el primer día el flujo de caja terminó siendo peor, justo lo contrario del propósito de la herramienta. Ellos insistieron en que, cuando marqué la casilla, en la letra pequeña decía “se cobra al suscribirse”, pero me pareció bastante absurdo y todavía lo veo así.
Blacksmith debería entrar a este hilo y dar una explicación directamente.
Y el autor, ¿podrías decir también cuánto habría costado este uso en GitHub Actions?
La pregunta de “¿seguirías usando Blacksmith incluso después de una sorpresa desagradable y una respuesta arisca de soporte?” es interesante, y entiendo que se haya tomado una decisión práctica.
Pero Blacksmith también podría salir muy mal parado por esto. Ojalá cambien su forma de actuar, aunque, como muchas startups, también podrían simplemente fracasar.
Así que, hasta que su viabilidad sea más clara, parece prudente seguir usándolo sin quedar atado al servicio. Ya después se podría pensar en aprovechar funciones de la plataforma.
Aun así, no sé cuánto se puede confiar en Blacksmith ni si querría ponerme en una posición en la que luego sea difícil irse.
Sobre GitHub Actions, Microsoft es muy hábil para hacer productos y funciones suficientemente buenos como para usarlos, aunque no tanto como para que valga la pena migrar a una alternativa mejor una vez que ya controló la plataforma. GitHub Actions es un ejemplo clarísimo, Teams también, y la lista es larga. A mí me parece una versión moderna de las conductas anticompetitivas de los años noventa: crean barreras lo bastante altas como para que no entren competidores y matan la innovación. No me gusta nada.