Los mantenedores de ESLint comparten los desafíos de financiar servicios públicos de código abierto a través del patrocinio

Publicado: 2020-10-23

ESLint, una de las utilidades de linting de JavaScript más populares, rápidamente eclipsó a los primeros competidores más establecidos, gracias a su licencia de código abierto. La licencia clara permitió que el proyecto se usara ampliamente, pero no se tradujo de inmediato en fondos para su desarrollo continuo. A pesar de ser descargado más de 13 millones de veces por semana, sus mantenedores todavía luchan por respaldar la utilidad.

Un poco más de un año desde el lanzamiento de ESLint Collective para financiar los esfuerzos de los contribuyentes, el liderazgo del proyecto compartió algunos de los éxitos y desafíos de seguir el modelo de patrocinio. Un esfuerzo que no funcionó fue contratar a un mantenedor dedicado:

Esto fue algo difícil de resolver para el equipo, y creemos que hay una lección importante sobre la sostenibilidad del código abierto: aunque recibimos donaciones, ESLint no aporta lo suficiente para pagar a los mantenedores a tiempo completo. Cuando eso sucede, los mantenedores se enfrentan a una decisión difícil: podemos intentar que el desarrollo a tiempo parcial funcione, pero es difícil encontrar otro trabajo a tiempo parcial para compensar los ingresos mensuales que necesitamos para que valga la pena. En algunos casos, hacer el trabajo a tiempo parcial hace que sea más difícil encontrar otro trabajo porque tienes limitaciones de tiempo que otros trabajadores autónomos no tienen.

Un experimento algo exitoso que exploró ESLint es pagar a su Comité Directivo Técnico (TSC) de cinco personas, el líder del proyecto responsable de administrar lanzamientos, problemas y solicitudes de incorporación de cambios. Los miembros reciben $50/hora por contribuciones y tiempo dedicado al proyecto, con un tope máximo de $1,000/mes. El límite evita que los miembros de TSC pasen demasiado tiempo en el proyecto además de su trabajo diario para que no se agoten.

El equipo informa que este arreglo de estipendio ha funcionado "extremadamente bien" y las contribuciones han aumentado lentamente: "Hay algo que decir sobre pagar a las personas por un trabajo valioso: cuando el trabajo se valora explícitamente, las personas están más dispuestas a hacerlo".

En proyectos más grandes como WordPress, las contribuciones corporativas son fundamentales para su desarrollo continuo. En los últimos años, la campaña Five for the Future ha ayudado a compensar a muchos colaboradores ya que sus empleadores les pagan un salario mientras donan su tiempo para trabajar en WordPress.

Algunos de los principales avances en WordPress requieren una inmensa inversión de tiempo y experiencia. Es la resolución de problemas que requiere trabajar en equipos durante meses para crear soluciones complejas que funcionen para millones de usuarios. Es por eso que no ves ejércitos de gente construyendo Gutenberg gratis. Gran parte del desarrollo está impulsado por empleados remunerados y, de otro modo, podría no haber ocurrido sin las donaciones corporativas del tiempo de los empleados. Automattic, Google, Yoast SEO, 10up, GoDaddy, Human Made, WebDevStudios, WP Engine y muchas otras empresas han prometido colectivamente miles de horas de trabajo al mes. La diversidad de empresas e individuos que apoyan a WordPress ayuda al proyecto a mantener la estabilidad y capear mejor las tormentas de la vida.

Los proyectos de código abierto más pequeños como ESLint rara vez tienen los mismos recursos a su disposición y tienen que experimentar. Al resumir la revisión de un año de pago de los contribuyentes de los patrocinios, el equipo afirma: “Mantener un proyecto como ESLint requiere mucho trabajo y muchas contribuciones de muchas personas. La única forma de que eso continúe es pagarle a la gente por su tiempo”.

Cuando incluso las empresas de servicios públicos más populares luchan por obtener suficientes patrocinios, ¿qué esperanza hay para proyectos más pequeños? Muchas utilidades que se han vuelto indispensables en los flujos de trabajo de los desarrolladores están en camino de volverse insostenibles.

“Desafortunadamente, los servicios públicos como estos rara vez generan una cantidad significativa de dinero de las donaciones, sin importar cuán ampliamente utilizados o amados sean”, dijo el ingeniero de OSS Colin McDonnell en su propuesta para un nuevo modelo de financiación. “Considere el enrutador de reacción. Incluso con 41,3 mil estrellas en GitHub, 3 millones de descargas semanales de NPM y una adopción casi universal en aplicaciones de una sola página basadas en React, solo genera ~ $ 17 mil en donaciones al año".

McDonnell propuso el concepto de "grupos de patrocinadores" para financiar proyectos más pequeños que no pueden beneficiarse de los modelos de financiación de código abierto existentes. En lugar de hacer donaciones por proyecto, los partidarios del código abierto podrían donar una cantidad fija en una "billetera" cada mes y luego distribuir esos fondos a los proyectos que seleccionen para sus grupos de patrocinadores. La parte clave de la implementación es que agregar nuevos proyectos al grupo solo debe tomar un clic, lo que reduce la fricción psicológica asociada con el apoyo a proyectos adicionales.

McDonnell sugirió que GitHub es la única organización con la infraestructura para implementar este modelo como una extensión de los patrocinadores de GitHub. Un comentarista de Hacker News propone que los patrocinadores y la idea de un "grupo de patrocinadores" podrían existir en paralelo.

“Creo que hay una diferencia significativa entre ser el mecenas de un desarrollador y sentir que estás respaldando a un creador con sentimientos y una historia y una familia… y querer ser un buen ciudadano que tiene una lista aprobada de proyectos que me benefician. y quiero apoyar”, dijo Pete Forde.

“Puedo patrocinar a Matz, recibir sus actualizaciones y sentirme bien al saber que me cuentan como colaborador Y reservar $$$ por mes para contribuir con todas las herramientas que uso en mis proyectos simplemente porque es lo correcto y yo queremos que esos proyectos existan a largo plazo. Son iniciativas completamente diferentes. Patreon vs Humble Bundle, por así decirlo”.

Tidelift es otro concepto que se destacó en la discusión de HN. Tiene un enfoque diferente y único para financiar el trabajo de código abierto. Tidelift reúne fondos de las organizaciones que utilizan el software para apoyar a los mantenedores.

“Mantengo uva rubí, un proyecto de tamaño mediano”, dijo Daniel Doubrovkine. “Obtenemos $144/mes de Tidelift. A medida que más empresas se registran para el patrocinio corporativo, la cantidad en dólares aumenta. Es una piscina.

Snowdrift adopta un enfoque más inusual para agrupar patrocinios en los que los patrocinadores “combinan” las donaciones de los demás para financiar bienes públicos. Funciona como una cooperativa sin fines de lucro para financiar proyectos gratuitos y abiertos que sirven al interés público.

Flossbank está dirigido más específicamente a la financiación de proyectos de código abierto y adopta un enfoque técnico para garantizar contribuciones equitativas a todo el árbol de dependencias de sus paquetes de código abierto instalados. La organización afirma proporcionar "una forma gratuita y sin fricciones" de retribuir a los mantenedores. Los desarrolladores pueden optar por anuncios seleccionados y centrados en la tecnología en la terminal al instalar paquetes de código abierto. Como alternativa, pueden establecer un monto de donación mensual para distribuir entre los paquetes que instalan.

Ningún modelo de financiación único es adecuado para todos los proyectos, pero los experimentos que agrupan los patrocinios de varias maneras parecen estar de moda, especialmente para apoyar a los mantenedores que pueden no ser tan hábiles en la comercialización de sus esfuerzos. La conversación sobre las utilidades de soporte continúa en Hacker News. Los desarrolladores de WordPress que dependen de algunas de estas utilidades pueden unirse y compartir sus experiencias en la financiación de pequeños proyectos.