Actualización: esta publicación se volvió bastante viral más allá de la comunidad de Exercism. Gracias a todos los que han ofrecido su apoyo y a los cientos que han donado en respuesta. Añadí un poco más de contexto y aclaré algunas cosas en un comentario de Hacker News.
¡Hola a todos!
La semana pasada alcanzamos el enorme hito de dos millones de usuarios. En unas pocas horas, alcanzamos también 45 millones de envíos de ejercicios.
Un día después, pagué la última nómina para mí, Erik y Aron, y nuestra cuenta bancaria se redujo hasta el punto de que no podemos pagar otra.
Creo que esto resume bastante bien la historia de Exercism. Más de 1,200 personas se registran cada día en Exercism. Decenas de miles resuelven ejercicios cada día. Pero no tenemos suficiente dinero para seguir trabajando en la plataforma.
Hemos intentado muchas cosas para cambiarlo. Hemos hablado con cientos de financiadores y empresas, pero Exercism no encaja en su forma de dar apoyo. No encaja en un nicho que tenga sentido para ellos. Al servir a personas de todo el mundo, parece que no atendemos a un grupo demográfico lo bastante acotado como para alinearnos con las misiones, a menudo igual de acotadas, de los financiadores.
El único ámbito donde hemos tenido cierto éxito prometedor es la publicidad en el sitio. Pero el esfuerzo que supone encontrar anunciantes y gestionarlos, junto con mi deseo general de no llenar Exercism de anuncios, hace que sienta que no es una estrategia muy sostenible.
Creo que es justo decir que, a estas alturas, he perdido la fe en que el modelo de negocio sin fines de lucro funcione de una manera que permita a Exercism alcanzar todo su potencial. Mantener algo gratis para todos depende de que el usuario sea el producto o de donaciones importantes, y sin ninguna de las dos cosas es muy difícil crecer.
Reestructuración de Erik y del código abierto (OSS)
Probablemente lo más difícil de la situación actual es que ya no podemos permitirnos pagarle a Erik, así que deja de ser empleado al final de esta semana.
Erik ha sido una parte absolutamente fundamental del crecimiento y el éxito de Exercism en los últimos años. También ha sido un colega y amigo maravilloso, y de verdad extrañaré trabajar a su lado. Ni qué decir que estoy increíblemente agradecido con Erik por todo su esfuerzo y apoyo. Y sé que muchos de ustedes sentirán lo mismo (si es así, ¡escríbanle y díganle!).
Erik es un fan incondicional de Exercism y seguirá como maintainer sénior de algunos tracks, y conservará sus privilegios de super-admin, pero la gran cantidad de cosas ocultas (y a menudo algo aburridas) que hace a diario tiene que repartirse por toda la organización.
Lo clave que estamos imponiendo es que cada PR en un repositorio activo de Exercism reciba una revisión antes de poder fusionarse (con una sola excepción que describimos abajo). En general, esto ya era así desde hace mucho tiempo, pero hay lugares donde se ha pasado por alto, así que ahora hemos automatizado cosas para asegurarnos de que siempre sea así.
Para ello, hemos ideado un nuevo sistema de clasificación para los repositorios, con reglas específicas para cada tipo:
-
maintained: un repositorio con varios maintainers. Todos los PR requieren revisiones de un maintainer del track. -
maintained-solitary: un repositorio con un solo maintainer. Se avisará a un nuevo equipo de cross-track-maintainers para que revise todos los PR. -
unmaintained: un repositorio sin maintainers. Aquí también se avisará al equipo de cross-track-maintainers. -
maintained-autonomous: un repositorio en el que todos los maintainers también forman parte del equipo de cross-track-maintainers. Esta es la excepción: pueden fusionar sus propios PR. -
wip-track: un track que aún no se ha lanzado. Como todavía no está «activo», no tiene restricciones.
Hemos creado dos nuevos equipos de GitHub que hacen cumplir esto.
-
@exercism/guardians: un equipo que verifica la seguridad de los PR en los repositorios de herramientas (test runners, analyzers, etc.). Lo forman algunos políglotas veteranos. -
@exercism/cross-track-maintainers: un equipo nuevo formado por políglotas veteranos que están activos en el sitio a diario y que tienen el mismo nivel de pedantería al revisar que yo (es decir, no son ni más estrictos ni más flexibles que yo). Esto es importante, porque quiero una experiencia coherente y ágil con este equipo.
Ambos equipos son por invitación. Los revisaré de manera esporádica.
También hemos invitado a nuevos maintainers y hemos «podado» a muchos maintainers inactivos como parte de esto. A quienes han sido removidos: gracias por todo lo que han hecho y sepan que serán muy bienvenidos si encuentran el tiempo o el deseo de contribuir de nuevo y en serio a Exercism.
Entonces, ¿qué sigue?
Hasta ahora todo esto ha sido un poco deprimente. Las cosas no siempre salen como uno espera en la vida, pero hay que hacer limonada con los limones.
Ahora mismo tenemos unos 800 donantes mensuales y alrededor de $7,500 en donaciones mensuales. Eso cubre nuestros costos de servidores casi exactamente. Así que si donas ahora mismo, gracias. Literalmente mantienes nuestros servidores encendidos. Nuestra base de donantes es bastante estable en general, así que no me preocupa demasiado el futuro existencial de Exercism.
(Sería muy bueno construir un pequeño colchón financiero, así que si puedes permitírtelo, considera hacer una donación recurrente o única 💙)
También tenemos una comunidad increíble, un equipo de maintainers y un grupo de mentores que siguen añadiendo nuevos ejercicios (¡y tracks!), ayudando a estudiantes y haciendo muchísimas otras cosas. Probablemente nunca antes Exercism había estado tan saludable como organización. Está creciendo más rápido que nunca, más personas lo usan que nunca y creo que el producto y la experiencia educativa son mejores que nunca. Así que sigo profundamente dedicado a hacer crecer y cuidar Exercism.
Durante los últimos meses he estado trabajando en un nuevo producto educativo que enseña fundamentos de programación y que voy a lanzar en 2025. El 96 % de las personas que intentan aprender a programar se rinden, lo cual me parece inaceptable, así que mi objetivo es cambiar eso. Mi plan es dar a los principiantes una base sólida como una roca y luego canalizarlos hacia Exercism. Estoy creando una nueva empresa con fines de lucro para ese nuevo proyecto, y usaré las ganancias de ella para que Exercism siga creciendo. He conseguido un poco de inversión para esto, lo que significa que puedo seguir pagando el salario de Aron, así que se quedará, trabajando en eso conmigo y ajustando Exercism según sea necesario.
También tengo planeado (con probablemente un 90 % de certeza) impartir un curso dedicado para aprender a programar de enero a marzo de 2025, donde podré probar parte de lo que hemos estado construyendo y poner manos a la obra trabajando con los estudiantes a los que las plataformas existentes no atienden. Así que pronto habrá un anuncio sobre esto, ¡mantente al tanto!
Estoy explorando lanzar una versión básica de Exercism Teams, como forma de generar ingresos extra. Hay una publicación en el foro donde puedes dejar tus ideas. ¡Agradecería mucho las que tengas!
Pero primero, ¡necesito un respiro! Me tomaré las próximas dos semanas libres, para desconectarme y recuperarme un poco.
Gracias por todo tu apoyo, tanto emocional como económico. La comunidad de Exercism es fenomenal y estoy profundamente agradecido con todos los que forman parte del proyecto.