StandardJS detiene el experimento con anuncios en la terminal después de que Linode retira el patrocinio

Publicado: 2019-08-29

Feross Aboukhadijeh, mantenedor de la biblioteca StandardJS, una guía de estilo de JavaScript, linter y corrector automático de código, lanzó un experimento la semana pasada que coloca anuncios en la terminal para financiar el desarrollo. Desde entonces, el experimento se detuvo después de recibir comentarios negativos de la comunidad de desarrolladores, lo que provocó que Linode, uno de los patrocinadores iniciales, eliminara su anuncio.

“Creo que el modelo actual de mantener el código abierto no está funcionando y necesitamos más experimentación”, dijo Aboukhadijeh. “Este es uno de esos experimentos”. Desarrolló un módulo que inserta un anuncio cada vez que se instala Standard 14. Los fondos de patrocinio están designados para pagar el tiempo de mantenimiento, que definió como "escribir nuevas funciones, corregir errores, responder preguntas de los usuarios y mejorar la documentación".

Aboukhadijeh es un desarrollador prolífico que ha creado más de 100 paquetes en npm que se descargan más de 100 millones de veces al mes. Standard es su proyecto de código abierto más popular y lo utilizan proyectos y empresas de alto perfil, incluidos Node.js, npm, GitHub, Automattic y muchos más.

Aboukhadijeh dijo que su objetivo con el experimento es hacer que Standard y otros proyectos de código abierto sean más saludables.

“Por razones complejas, las empresas generalmente dudan o no están dispuestas a financiar OSS directamente”, dijo. “Cuando sucede, nunca es suficiente y nunca llega a los paquetes que son dependencias transitivas (es decir, paquetes que nadie instala explícitamente y, por lo tanto, nadie sabe que existen). Esencialmente, tenemos un bien público que es consumido por un gran número de usuarios, pero que casi nadie paga. Afortunadamente, existe un modelo de financiación que suele funcionar para bienes públicos como este: los anuncios”.

Este es un ejemplo del anuncio de LogRocket que formaba parte del experimento inicial:

Si bien algunos desarrolladores comunicaron su apoyo a los mantenedores de código abierto para monetizar sus proyectos de la forma que elijan, la mayoría de los comentarios en GitHub, Hacker News, Reddit y las redes sociales criticaron fuertemente este enfoque en particular.

William Hilton, desarrollador de Stoplight, especuló sobre las consecuencias de que este tipo de publicidad se convirtiera en un modelo de financiación popular:

Me preocupa que la instalación de npm se convierta en un largo rastro de anuncios publicitarios, aunque eventualmente no escalará. Porque si cada paquete npm agrega anuncios, la notoriedad de cada anuncio disminuirá. (Curiosamente, el "bienes raíces" más valioso serán los paquetes cuyo banner se muestre en último lugar, por lo que si se convierte en una "carrera hacia el fondo" literal, las personas pueden agregar declaraciones de suspensión a sus scripts posteriores a la instalación para que se muestren más cerca del abajo. ¡Qué experiencia de instalación distópica!)

También señaló que Yarn bloquea la salida de los scripts posteriores a la instalación, que en este caso servirían como un bloqueador de anuncios incorporado. El mantenedor de Yarn intervino en el hilo con más contexto.

“Como mantenedor de Yarn, estoy totalmente en contra de este patrón, aunque no por las razones que podría pensar”, dijo Mael Nison. “Los scripts posteriores a la instalación desoptimizan los paquetes y rompen los flujos de trabajo.

“Yarn ya no imprime los registros de compilación a menos que hagan fallar las instalaciones, por lo que este script posterior a la instalación no tendría ningún efecto visible para nuestros usuarios. Aún así, valoro mucho la salud del ecosistema, tanto desde el punto de vista de los mantenedores como de los usuarios, y me encantaría discutir cómo podemos satisfacer este caso de uso de una manera más integrada y menos intrusiva”.

Dado que este es un experimento más nuevo y no se ha generalizado, no está claro si npm puede decidir bloquear todos los métodos de publicación de anuncios a través de la terminal en el futuro. Se creó un nuevo módulo llamado No CLI Ads en respuesta al módulo de financiación de Aboukhadijeh. Bloquea la aparición de anuncios en la salida de la consola. npm-adblock es una alternativa que funciona de manera diferente. La existencia de formas simples, aunque inconvenientes, de bloquear este tipo de anuncios puede ser todo lo que se necesita para agotar cualquier fuente potencial de ingresos.

Los comentarios sobre este experimento demuestran que existe un amplio apoyo para encontrar una solución al problema de la financiación de fuente abierta, pero la mayoría está de acuerdo en que los anuncios de terminales no son una opción viable. De hecho, muchos comentaristas identificaron este enfoque como lo más molesto que puede hacer un mantenedor de paquetes, además de eliminar el paquete. Los desarrolladores no desean recibir spam mientras instalan una dependencia. Un comentarista describe su terminal como "el último bastión" y "refugio de paz" que no muestra anuncios de los amos corporativos.

“Vender espacios publicitarios no es innovador”, dijo el desarrollador Matthias Hogerheijde. “Y es particularmente inútil en mis registros. Para mí, el problema es más que no quiero cosas que no me ayuden en mis registros. Estoy totalmente de acuerdo con poner su 'apoyado por la empresa X' en el archivo Léame. Eso me ayuda a entender, resuena conmigo cuando veo ciertas compañías donando dinero a OSS. Yo también quiero vivir en un mundo perfecto donde cada desarrollador pueda vivir, pagar el alquiler y solo trabajar en los proyectos que les gustan. Ese mundo perfecto para mí no incluye anuncios en mi terminal”.

Los comentaristas de Reddit se burlaron de la idea y escribieron anuncios de muestra que interrumpen el proceso de creación:

Linode retira el patrocinio del experimento de anuncios de terminal de Standard

Los usuarios de Standard.js que no estaban contentos con los anuncios en sus terminales se quejaron con los patrocinadores y Linode decidió eliminar su anuncio del experimento.

“Reconsideramos después de reflexionar sobre la reacción de la comunidad de desarrolladores”, dijo un representante de Linode en Twitter. "Seguimos apoyando apasionadamente el software de código abierto junto con @feross, pero seremos más cuidadosos con la experimentación en el futuro mientras continuamos innovando".

Antes de pausar el experimento, Aboukhadijeh informó que había recaudado $ 2,000, lo suficiente para financiar cinco días de su tiempo para lanzar el Estándar 14.

“Si podemos recaudar fondos adicionales, lo siguiente en lo que me gustaría centrarme es en la compatibilidad inmediata con TypeScript en StandardJS (¡una de las solicitudes de funciones más comunes!) Y la modernización de los diversos complementos del editor de texto ( muchos de los cuales actualmente no reciben mantenimiento)”, dijo Aboukhadijeh. “Si otros miembros de la comunidad están interesados ​​en tomar la iniciativa en cualquiera de estos temas, me gustaría enviarle algunos fondos”.

El experimento no está del todo descartado, ya que parece haber cumplido uno de los objetivos inmediatos de Aboukhadijeh, a pesar de molestar (y en algunos casos enfurecer) a la comunidad de desarrolladores.

Hace cuatro días, Standard bloqueó el hilo de GitHub que discutía el nuevo modelo de financiación después de que se calentó demasiado. Los mantenedores del proyecto ahora están evaluando esta iteración del experimento, pero la discusión se extiende más allá de la simple cuestión de si a los desarrolladores les gustan los anuncios en sus terminales. Un nuevo hilo en el repositorio del proyecto, titulado "¿Qué tiene de malo el código abierto en este momento?" ha desviado algunos de los comentarios negativos hacia una discusión más amplia y productiva.

El experimento ha reavivado conversaciones importantes sobre la sustentabilidad del código abierto y hacia dónde quieren verlo los mantenedores del proyecto en el futuro. En un tweet reciente, Aboukhadijeh compartió un enlace a una situación particular que enfrentó un mantenedor al apoyar una biblioteca de resaltado de sintaxis gratuita.

Después de recibir comentarios y correos electrónicos urgentes después de un lanzamiento que tenía errores que provocaban la interrupción de las dependencias, Ivan Sagalaev, el autor original de Highlight.js, resumió acertadamente el estado actual de la relación entre las empresas y los proyectos de código abierto:

Estimados compañeros ingenieros, aprovechen este contratiempo de compilación como una oportunidad para explicar a su gente de negocios en particular que toda su propiedad intelectual es una capa delgada sobre una base inestable de código abierto mantenido perezosamente por aficionados o pagado por otras empresas que tienen sus propios objetivos en mente.

Si realmente quieren estabilidad, tienen que invertir en ella, por ejemplo, contratando ingenieros para que se ocupen de una miríada de dependencias, mantengan bifurcaciones estables locales, contribuyan con parches aguas arriba, o lo que sea. trabaja' en polvo de hadas.