StandardJS interrompt l'expérience avec des publicités dans le terminal après que Linode ait retiré le parrainage

Publié: 2019-08-29

Feross Aboukhadijeh, mainteneur de la bibliothèque StandardJS, un guide de style JavaScript, linter et fixateur de code automatique, a lancé la semaine dernière une expérience qui place des publicités dans le terminal afin de financer le développement. L'expérience a depuis été interrompue après avoir reçu des commentaires négatifs de la communauté des développeurs, obligeant Linode, l'un des sponsors initiaux, à supprimer sa publicité.

"Je pense que le modèle actuel de maintien de l'open source ne fonctionne pas et nous avons besoin de plus d'expérimentation", a déclaré Aboukhadijeh. "C'est une de ces expériences." Il a développé un module qui insère une publicité chaque fois que la norme 14 est installée. Les fonds de parrainage sont destinés à payer le temps du responsable, qu'il a défini comme "l'écriture de nouvelles fonctionnalités, la correction de bogues, la réponse aux questions des utilisateurs et l'amélioration de la documentation".

Aboukhadijeh est un développeur prolifique qui a créé plus de 100 packages sur npm qui sont téléchargés plus de 100 millions de fois par mois. Standard est son projet open source le plus populaire et est utilisé par des projets et des entreprises de premier plan, notamment Node.js, npm, GitHub, Automattic et bien d'autres.

Aboukhadijeh a déclaré que son objectif avec l'expérience était de rendre Standard et d'autres projets open source plus sains.

"Pour des raisons complexes, les entreprises hésitent ou ne veulent généralement pas financer directement l'OSS", a-t-il déclaré. « Quand cela arrive, ce n'est jamais assez et cela n'atteint jamais les packages qui sont des dépendances transitives (c'est-à-dire des packages que personne n'installe explicitement et donc dont personne ne sait qu'ils existent). Essentiellement, nous avons un bien public qui est consommé par un grand nombre d'utilisateurs, mais pour lequel presque personne ne paie. Heureusement, il existe un modèle de financement qui fonctionne généralement pour des biens publics comme celui-ci : les publicités.

Voici un exemple de l'annonce LogRocket qui faisait partie de l'expérience initiale :

Alors que certains développeurs ont communiqué leur soutien aux mainteneurs open source pour monétiser leurs projets de la manière qu'ils choisissent, la majorité des commentaires sur GitHub, Hacker News, Reddit et les médias sociaux ont fortement critiqué cette approche particulière.

William Hilton, développeur chez Stoplight, a spéculé sur les conséquences si ce type de publicité devenait un modèle de financement populaire :

Je crains que l'installation de npm ne devienne finalement qu'une longue traînée de bannières publicitaires et qu'elle ne se mette pas à l'échelle. Parce que si chaque package npm ajoute des publicités, la visibilité de chaque publicité diminuera. (Il est intéressant de noter que les «biens immobiliers» les plus précieux seront les packages dont la bannière est affichée en dernier, donc si cela devient une «course vers le bas» littérale, les gens peuvent ajouter des déclarations de veille à leurs scripts post-installation afin qu'ils soient affichés le plus près du en bas. Quelle expérience d'installation dystopique !)

Il a également noté que Yarn bloque la sortie des scripts de post-installation, qui dans ce cas serviraient de blocage de publicité intégré. Le mainteneur de Yarn est intervenu sur le fil avec plus de contexte.

"En tant que mainteneur de Yarn, je suis fortement contre ce modèle, mais pas pour les raisons que vous pourriez penser", a déclaré Mael Nison. « Les scripts post-installation désoptimisent les packages et interrompent les flux de travail.

"Yarn n'imprime déjà pas les journaux de construction à moins qu'ils ne fassent planter les installations, donc ce script de post-installation n'aurait aucun effet visible pour nos utilisateurs. Pourtant, j'accorde beaucoup d'importance à la santé de l'écosystème, tant du point de vue des responsables que des utilisateurs, et je serais heureux de discuter de la manière dont nous pourrions satisfaire ce cas d'utilisation d'une manière plus intégrée et moins intrusive.

Comme il s'agit d'une expérience plus récente et qu'elle n'est pas devenue courante, il n'est pas clair si npm peut décider de bloquer toutes les méthodes de diffusion de publicités via le terminal à l'avenir. Un nouveau module appelé No CLI Ads a été créé en réponse au module de financement d'Aboukhadijeh. Il empêche les publicités d'apparaître dans la sortie de la console. npm-adblock est une alternative qui fonctionne différemment. L'existence de moyens simples, bien que peu pratiques, de bloquer ces types de publicités peut suffire à tarir toute source de revenus potentielle.

Les commentaires sur cette expérience démontrent qu'il existe un large soutien pour trouver une solution au problème du financement open source, mais la plupart s'accordent à dire que les publicités sur les terminaux ne sont pas une option viable. En fait, de nombreux commentateurs ont identifié cette approche comme la chose la plus ennuyeuse qu'un responsable de paquet puisse faire, à part supprimer le paquet. Les développeurs ne souhaitent pas être spammés lors de l'installation d'une dépendance. Un commentateur décrit son terminal comme "le dernier bastion" et "le havre de paix" qui ne diffuse pas les publicités des seigneurs des entreprises.

"La vente d'espaces publicitaires n'est pas innovante", a déclaré le développeur Matthias Hogerheijde. « Et c'est particulièrement inutile dans mes journaux. Pour moi, le problème est plus que je ne veux pas de choses qui ne m'aident pas dans mes journaux. Je suis tout à fait d'accord pour mettre votre "soutenu par la société X" dans le fichier readme. Cela m'aide à comprendre, cela résonne en moi quand je vois certaines entreprises donner de l'argent à OSS. Moi aussi, je veux vivre dans un monde parfait où chaque développeur peut vivre, payer un loyer et ne travailler que sur des projets qu'il aime. Ce monde parfait pour moi n'inclut pas de publicités dans mon terminal. »

Les commentateurs de Reddit ont pris l'idée avec humour, écrivant des exemples de publicités qui interrompent le processus de construction :

Linode retire le parrainage de l'expérience Terminal Ads de Standard

Les utilisateurs de Standard.js qui n'étaient pas satisfaits des publicités dans leurs terminaux se sont plaints aux sponsors et Linode a décidé de retirer sa publicité de l'expérience.

"Nous avons reconsidéré après avoir réfléchi à la réaction de la communauté des développeurs", a déclaré un représentant de Linode sur Twitter. "Nous soutenons toujours avec passion les logiciels open source avec @feross, mais nous ferons plus attention à expérimenter à l'avenir tout en continuant à innover."

Avant de suspendre l'expérience, Aboukhadijeh a indiqué qu'il avait collecté 2 000 dollars, suffisamment pour financer cinq jours de son temps pour publier la norme 14.

"Si nous sommes en mesure de lever des fonds supplémentaires, la prochaine chose sur laquelle je voudrais me concentrer est la prise en charge de TypeScript prête à l'emploi dans StandardJS (l'une des demandes de fonctionnalités les plus courantes !) Et la modernisation des différents plugins d'éditeur de texte ( dont beaucoup ne sont actuellement pas entretenus) », a déclaré Aboukhadijeh. "Si d'autres membres de la communauté souhaitent prendre l'initiative sur l'un de ces problèmes, j'aimerais vous verser des fonds."

L'expérience n'est pas entièrement hors de propos, car elle semble avoir atteint l'un des objectifs immédiats d'Aboukhadijeh, malgré l'agacement (et dans certains cas l'exaspération) de la communauté des développeurs.

Il y a quatre jours, Standard a verrouillé le fil GitHub discutant du nouveau modèle de financement après qu'il soit devenu trop houleux. Les responsables du projet évaluent actuellement cette itération de l'expérience, mais la discussion va au-delà de la simple question de savoir si les développeurs aiment les publicités dans leurs terminaux. Un nouveau fil sur le référentiel du projet, intitulé "Qu'est-ce qui ne va pas avec l'Open Source en ce moment ?" a détourné une partie des commentaires négatifs vers une discussion plus large et plus productive.

L'expérience a relancé des conversations importantes sur la durabilité de l'open source et sur la direction que les responsables du projet souhaitent voir évoluer à l'avenir. Dans un tweet récent, Aboukhadijeh a partagé un lien vers une situation particulière à laquelle un responsable a été confronté en prenant en charge une bibliothèque de coloration syntaxique gratuite.

Après avoir reçu des commentaires et des e-mails urgents à la suite d'une publication contenant des erreurs provoquant la rupture des dépendances, Ivan Sagalaev, l'auteur original de highlight.js, a bien résumé l'état actuel de la relation entre les entreprises et les projets open source :

Chers collègues ingénieurs, veuillez saisir ce contretemps de construction comme une occasion d'expliquer à vos hommes d'affaires particuliers que toute leur propriété intellectuelle n'est qu'une fine couche au-dessus d'une base fragile de code open source entretenu paresseusement par des amateurs ou payé par d'autres entreprises ayant leurs propres objectifs à l'esprit.

S'ils veulent vraiment de la stabilité, ils doivent y investir, par exemple, en embauchant des ingénieurs pour gérer une myriade de dépendances, maintenir des fourches stables locales, apporter des correctifs en amont, etc. fonctionne sur la poussière de fée.