Beekeeper Studio se lanzó en 2020 como un proyecto 100% gratuito y de código abierto.
Dedicamos 8 meses de noches y fines de semana a crear esa primera versión. Ya habíamos lanzado otras apps que nadie usó, pero Beekeeper fue diferente: en cuanto la lanzamos y empezamos a compartirla, a la gente le interesó y comenzó a descargarla y usarla.
El interés fue tanto que terminamos en la portada de Hacker News. La habíamos publicado ese mismo día sin ponerle mucha atención, y en un par de horas ya teníamos miles de primeros usuarios.
Pero luego vino lo difícil: mantener y mejorar una app real, usada por personas reales…. ¿por cuánto tiempo? ¿Años? ¿Décadas?
El cementerio del código abierto
La mayoría de los proyectos, apps y negocios terminan fracasando y desaparecen. Esto no es exclusivo del código abierto, pero ahí es más marcado. Al fin y al cabo, desde el inicio la mayoría de los proyectos de código abierto están pensados para ser gratuitos. Eso es un gran obstáculo para que un proyecto sea sostenible.
De hecho, creamos Beekeeper Studio porque una herramienta muy querida, Sequel Pro, quedó abandonada, a pesar de ser la mejor app de bases de datos que había usado.
¿Quién quería que SequelPro muriera? Yo no, desde luego. Tampoco los miles de personas que la usaban a diario. Yo quería lo contrario: quería usarla en Linux y con PostgreSQL.
Con gusto habría pagado por ella. Qué app tan increíble, pero por desgracia ya no existe.
Este destino lo han sufrido muchas, muchas otras apps similares.
Por qué mueren los buenos proyectos
¿Por qué las otras herramientas murieron y Beekeeper Studio sigue adelante? La respuesta corta: dinero y tiempo.
Por dinero me refiero sobre todo a tiempo, pero ya sabes, el tiempo es dinero (aquí ponen los ojos en blanco). Así que la respuesta es tiempo y más tiempo, o dinero y más dinero, como lo quieras ver.
Crear software es difícil. Crear software bueno es más difícil. Y también es lento. Requiere mucho tiempo y esfuerzo, incluso con la ayuda de un LLM. En serio: MUCHO tiempo. No puedo exagerar cuánto tiempo requiere. ¿Ya mencioné que toma mucho tiempo?
Simplemente no es posible sostener un proyecto de código abierto popular y activo tú solo, en noches y fines de semana, sin financiamiento, año tras año. Tan solo gestionar issues y pull requests es un trabajo de tiempo completo.
Enfoques para la sostenibilidad del código abierto
Hay varias formas de hacer sostenible un proyecto de código abierto. Proyectos clave y grandes como Vue.js son lo bastante visibles para sostenerse con donaciones. Otros proyectos grandes como React están financiados por completo por una empresa patrocinadora que paga directamente a los desarrolladores.
En el lado comercial, el software de infraestructura grande como Kafka y Trino domina como proyectos de ‘núcleo de código abierto’: la parte central del sistema es abierta, pero venden un montón de extras para que sea útil a las empresas. Seguir este camino normalmente requiere levantar mucho dinero y apuntar alto para convertirte en una startup unicornio. Por desgracia, este enfoque solo funciona si tu proyecto ya logró convertirse en un estándar de la industria y lo adoptaron millones de desarrolladores primero.
Kafka fue financiado y mantenido por un equipo interno de LinkedIn durante años antes de separarse y convertirse en su propio negocio.
Este enfoque también puede funcionar para bibliotecas de componentes como AG-Grid, aunque a menor escala. Aun así, requiere que la biblioteca se vuelva más o menos un estándar.
Las apps más pequeñas como Beekeeper Studio tienen menos opciones. Nuestros ingresos por donaciones llegaron como máximo a $30 al mes, a pesar de superar el millón de descargas. Tampoco somos un ‘estándar de la industria’ de nada: somos una app que usan personas, no un motor de procesamiento de eventos desplegado en servidores.
Nuestro modelo es vender software que la gente quiere
Vender algo útil por lo que la gente está dispuesta a pagar es un modelo de ingresos sencillo, y es el que adoptamos para Beekeeper Studio.
Creo que es la forma más limpia y sencilla de sostener el proyecto sin dejar de centrarnos en los usuarios: vender funciones extra a quienes están dispuestos a pagar por ellas.
Dicho esto, es imposible ignorar la ironía de que la mejor forma de mantener nuestra app gratuita y abierta sea cerrar algunas partes y cobrar por ellas. De verdad es un equilibrio difícil. Por un lado, no queremos quedarle mal a la comunidad de código abierto y, por otro, la versión de pago tiene que ser lo bastante buena para pagar las cuentas.
También es lento (¿ya mencioné que hacer buen software toma mucho tiempo?): lanzamos nuestras primeras funciones de pago en 2022, pero no pude dedicarme de tiempo completo al proyecto hasta 2026, 4 años después.
Por suerte, este enfoque tiene precedentes: software de código abierto excelente como Sidekiq de Mike Perham usa este modelo con gran éxito sin alejar a la comunidad.
Somos auténticos
Hasta ahora nuestro enfoque funciona. Somos un negocio rentable, pero también seguimos siendo un proyecto comunitario de código abierto que atrae participación y contribuciones reales de la comunidad. Incluso publicamos el código fuente de nuestras funciones comerciales, aunque no sean completamente de código abierto.
Vamos en serio con mantener Beekeeper Studio lo más abierto y accesible posible. Por ejemplo, procuramos convertir con regularidad funciones de pago en gratuitas, nunca quitamos funciones gratuitas una vez lanzadas y hacemos gratuitas y abiertas todas las funciones aportadas por la comunidad, aunque preferiríamos cobrar por ellas.
Lo mejor de lo mejor
Creo que nuestro enfoque de sostenibilidad es el equilibrio correcto para nosotros, y nos da algunos superpoderes, como tener una Community Edition absurdamente potente.
Estamos aquí a largo plazo. Mientras tanto, espero que disfrutes usar nuestro software tanto como nosotros disfrutamos creándolo.
