Sobre no aceptar lo gratis

En las últimas semanas ha habido un goteo constante de quejas de desarrolladores sobre el precio de Private Cloud Compute de Apple. La historia es que el nuevo nivel de IA en servidor es gratuito, pero solo para los desarrolladores del App Store Small Business Program, que limita la elegibilidad a dos millones de descargas a lo largo de la vida del app. Muchos desarrolladores están por encima de ese límite — a veces con apps que no han ganado dinero en años — y ahora mismo no hay una vía de pago para acceder a PCC ni aunque quisieran. Están fuera, y no les gusta nada.

Yo no estoy fuera. Patter está muy por debajo del límite, y Gums & Bones es exactamente el tipo de estudio pequeño para el que el programa está pensado. Tenía el nivel gratuito disponible. Pensé en usarlo. Decidí no hacerlo. Y cuanto más pensaba por qué, más empecé a pensar que a los desarrolladores que se quedaron fuera les han dado un regalo, aunque desde donde están no lo parezca.

Esto es lo que ofrece Apple. El modelo de IA en el dispositivo que viene con iOS es realmente capaz, pero tiene una ventana de contexto pequeña — alrededor de 4.000 tokens en el momento de escribir esto — lo que significa que no puede razonar sobre una carpeta llena de documentos o una entrada muy larga. Para los desarrolladores que quieren hacer ese tipo de trabajo, Apple tiene Private Cloud Compute: su equivalente en servidor, ejecutándose sobre silicio Apple en centros de datos de Apple, con una arquitectura que de verdad no almacena ni registra las peticiones. PCC es, según los estándares actuales, el servicio de IA en servidor más respetuoso con la privacidad del mercado. Esa no es la parte que me preocupa.

La parte que me preocupa es que es gratis. Y por “gratis” quiero decir: gratis para desarrolladores pequeños, hoy, mientras Apple construye la atracción gravitatoria de la plataforma. No hay un precio publicado para lo que cuesta cuando se sobrepasa el límite del programa para pequeños. No hay todavía un nivel de pago para los desarrolladores que se quejan de estar fuera. No hay un precio comprometido para lo que el nivel gratuito costará dentro de dos años, o de cinco, cuando el programa cambie — y los programas siempre acaban cambiando.

Imagina que, como desarrollador pequeño, montas una funcionalidad sobre PCC gratuito. Hace algo realmente útil — pongamos que le permite a un usuario apuntar tu app a una carpeta de documentos y sintetizar todo aquello en algo coherente. A los usuarios les encanta. Las reseñas la elogian. La gente paga el upgrade específicamente por ella. Pasan dos años. Apple anuncia que el cupo gratuito de PCC del programa para pequeños desarrolladores se va a limitar a, digamos, diez mil peticiones al mes por app, con un coste por petición a partir de ahí. O Apple anuncia un nivel de pago de PCC y el nivel gratuito pasa a ser una especie de “pruébalo antes de comprarlo”. O creces por encima del límite de dos millones de descargas, sigue sin haber opción de pago, y tu funcionalidad deja de funcionar para los nuevos usuarios. O cualquier otra de las cosas que hacen las plataformas.

En ese momento tienes tres opciones. Puedes absorber el coste y dejar que se coma para siempre la economía de un app de compra única. Puedes introducir una suscripción, lo cual, si has hecho otras promesas a tus usuarios, las rompe. O puedes retirar la funcionalidad, que es la opción que protege tu negocio pero te convierte en el malo. No hay una buena cuarta opción. El árbol de decisiones quedó fijado en el momento en que te apuntaste.

Así es como funciona en realidad el lock-in de plataforma, por cierto. No obligando a nadie. Ni siquiera por mala intención — no creo que Apple esté haciendo esto de mala fe, y creo que su arquitectura de privacidad está construida con sinceridad. El lock-in funciona a través del subsidio. Le das a los desarrolladores algo realmente valioso, gratis, mientras construyes la integración. Con el tiempo, los productos de los desarrolladores evolucionan hasta depender del recurso subsidiado. Luego, cuando la economía tiene que cambiar — y siempre tiene que cambiar — los desarrolladores no pueden irse, porque sus usuarios ya esperan la funcionalidad, y reconstruir sin el recurso subsidiado ya no es posible. La plataforma no les hizo nada. Se lo hicieron ellos mismos, una decisión racional tras otra.

A los desarrolladores que ahora mismo están fuera del PCC gratuito porque sus apps superaron los dos millones de descargas se les está evitando hacer ese trato. Pueden mirar PCC, decidir si vale la pena pagar lo que sea que termine costando, y elegir con los ojos abiertos. A los desarrolladores dentro del programa se les está ofreciendo algo que parece una ganga y en realidad es un compromiso.

Ese es el argumento para tratar “no puedo acceder” como un problema mejor que tener que “tengo acceso gratis del que podría volverme dependiente”.

Para ser justos con Apple, el programa para pequeños desarrolladores es un beneficio real, las garantías de privacidad son reales, y los ingenieros que construyeron PCC claramente se preocupan por lo que construyeron. Nada de esto es un argumento de que PCC sea malo. Es un argumento de que una funcionalidad cuya existencia continuada depende de un subsidio que no controlas es una clase distinta de funcionalidad que una cuya existencia continuada depende del hardware que el usuario ya pagó. El modelo en el iPhone de tu usuario sigue funcionando esté Apple contenta contigo o no. Sigue funcionando si Apple cambia su estrategia de precios. Sigue funcionando si Apple modifica el programa. Sigue funcionando dentro de cinco años, sobre hardware que ya se compró. Eso es una categoría de activo distinta a la de un servicio.

Así que la funcionalidad de IA de Patter usa el modelo en el dispositivo y solo el modelo en el dispositivo. Hay cosas reales que no puede hacer. El caso de la carpeta entera es al que vuelvo una y otra vez — un usuario con una carpeta de Notas llena de fragmentos a la que le gustaría que la app le sacara una rutina de todo aquello. Eso es algo útil, y no entra en 4.000 tokens. Por ahora, esos usuarios tendrán que resumir primero, o escribir la rutina ellos mismos. El coste de esa limitación es real, y no voy a fingir que no lo sea. Pero es el coste de tener una funcionalidad que puedo sostener para siempre, en mis propios términos, sin tener que revisar la decisión cada vez que Apple revise sus precios.

Hay dos cosas en las que estoy haciendo cábalas, y podría estar equivocado en las dos. La primera es si Apple acabará ofreciendo un nivel de pago de PCC con un precio limpio y un compromiso a largo plazo. Si lo hacen, todo el cálculo cambia — un servicio de pago transparente con el que puedes presupuestar es una cosa muy distinta a un servicio gratuito cuyo futuro no puedes predecir. Lo reconsideraría entonces. La segunda es si la ventana de contexto del modelo en el dispositivo crece. Es casi seguro que sí. Si el modelo del año que viene maneja 32.000 tokens en lugar de 4.000, el caso de la carpeta entera al que sigo dándole vueltas podría simplemente caerse en el camino del dispositivo, y la cuestión con la que aquí estoy peleando se resuelve en silencio gracias al progreso del hardware. Ese es el resultado más probable, y es otra razón para no comprometerse ahora con una ruta de servidor.

Los estudios que cogieron el nivel gratuito cuando se ofreció, en muchos casos saldrán bien. Algunos tomarán las decisiones correctas cuando los términos cambien. Otros no, y leeremos sobre ellos más adelante — funcionalidades retiradas, promesas rotas, giros incómodos hacia la suscripción disfrazados de “invertir en el futuro del producto”. Unos pocos absorberán en silencio costes que deberían haberlos matado, sostenidos por usuarios que no saben que eso es lo que está pasando.

Los estudios que estaban fuera, y los que han elegido quedarse fuera, no van a tener ninguno de esos problemas. Tendrán un problema distinto, que es que su app no puede hacer tanto. Eso es un problema real. Pero es un problema que puedes resolver siendo honesto sobre él, en lugar de un problema que te resuelve a ti cuando cambian los términos.

Yo elegí el problema más pequeño. La mayoría de los días estoy bastante seguro de que fue la decisión correcta.