StandardJS întrerupe experimentul cu anunțuri în terminal după ce Linode retrage sponsorizarea

Publicat: 2019-08-29

Feross Aboukhadijeh, menținătorul bibliotecii StandardJS, un ghid de stil JavaScript, linter și reparator automat de coduri, a lansat săptămâna trecută un experiment care plasează reclame în terminal pentru a finanța dezvoltarea. Experimentul a fost întrerupt de atunci după ce a primit feedback negativ din partea comunității dezvoltatorilor, ceea ce a determinat Linode, unul dintre sponsorii inițiali, să-și elimine reclama.

„Cred că modelul actual de susținere a sursei deschise nu funcționează și avem nevoie de mai multe experimente”, a spus Aboukhadijeh. „Acesta este un astfel de experiment.” El a dezvoltat un modul care inserează un anunț ori de câte ori este instalat Standard 14. Fondurile de sponsorizare sunt desemnate pentru a plăti timpul de întreținere, pe care el l-a definit ca „scrierea de noi funcții, remedierea erorilor, răspunsul la întrebările utilizatorilor și îmbunătățirea documentației”.

Aboukhadijeh este un dezvoltator prolific care a creat peste 100 de pachete pe npm care sunt descărcate de peste 100 de milioane de ori pe lună. Standard este cel mai popular proiect open source al său și este folosit de proiecte și companii de profil înalt, inclusiv Node.js, npm, GitHub, Automattic și multe altele.

Aboukhadijeh a spus că scopul său cu experimentul este de a face Standard și alte proiecte open source mai sănătoase.

„Din motive complexe, companiile sunt în general ezitante sau nu doresc să finanțeze direct OSS”, a spus el. „Când se întâmplă, nu este niciodată suficient și nu ajunge niciodată la pachete care sunt dependențe tranzitive (adică pachete pe care nimeni nu le instalează în mod explicit și, prin urmare, nimeni nu știe că există). În esență, avem un bun public care este consumat de un număr mare de utilizatori, dar pentru care aproape nimeni nu îl plătește. Din fericire, există un model de finanțare care funcționează de obicei pentru bunuri publice ca acesta – reclame.”

Iată un exemplu de anunț LogRocket care a făcut parte din experimentul inițial:

În timp ce unii dezvoltatori au comunicat sprijin pentru menținerii open source pentru a-și monetiza proiectele în orice mod au ales, majoritatea feedback-urilor despre GitHub, Hacker News, Reddit și rețelele sociale au criticat ferm această abordare specială.

William Hilton, dezvoltator la Stoplight, a speculat cu privire la consecințele ca acest tip de publicitate să devină un model de finanțare popular:

Îmi fac griji că instalarea npm va deveni o urmă lungă de anunțuri banner, deși în cele din urmă și nu se va extinde. Pentru că dacă fiecare pachet npm adaugă reclame, vizibilitatea fiecărui reclamă va scădea. (Interesant, cel mai valoros „imobiliar” vor fi pachetele al căror banner este afișat ultimul, așa că dacă devine o „cursă până la jos” literal, oamenii ar putea adăuga instrucțiuni de somn la scripturile lor post-instalare, astfel încât acestea să fie afișate cel mai aproape de jos. Ce experiență de instalare distopică!)

El a remarcat, de asemenea, că Yarn blochează ieșirea scripturilor post-instalare, care în acest caz ar servi ca blocare a reclamelor încorporată. Menținătorul lui Yarn a intervenit pe fir cu mai mult context.

„În calitate de întreținător al Yarn, sunt ferm împotriva acestui tipar, deși nu din motivele pe care le-ați putea crede”, a spus Mael Nison. „Scripturile post-instalare deoptimizează pachetele și întrerup fluxurile de lucru.

„Yarn nu tipărește deja jurnalele de construcție decât dacă fac instalarea să se blocheze, așa că acest script de post-instalare nu ar avea niciun efect vizibil pentru utilizatorii noștri. Cu toate acestea, prețuiesc foarte mult sănătatea ecosistemului, atât din punctul de vedere al întreținătorilor, cât și al utilizatorilor, și aș fi bucuros să discutăm despre cum am putea satisface acest caz de utilizare într-un mod mai integrat și mai puțin intruziv.”

Deoarece acesta este un experiment mai nou și nu a devenit popular, nu este clar dacă npm poate decide să blocheze toate metodele de difuzare a reclamelor prin terminal în viitor. Un nou modul numit No CLI Ads a fost creat ca răspuns la modulul de finanțare al lui Aboukhadijeh. Blochează reclamele să apară în ieșirea consolei. npm-adblock este o alternativă care funcționează într-un mod diferit. Existența unor modalități simple, deși incomode, de blocare a acestor tipuri de reclame poate fi tot ceea ce este necesar pentru a seca orice potențial flux de venituri.

Feedback-ul cu privire la acest experiment demonstrează că există un sprijin larg pentru găsirea unei soluții la problema finanțării cu sursă deschisă, dar majoritatea sunt de acord că reclamele terminale nu sunt o opțiune viabilă. De fapt, mulți comentatori au identificat această abordare ca fiind cel mai enervant lucru pe care îl poate face un întreținător de pachete, în afară de eliminarea pachetului. Dezvoltatorii nu doresc să fie spam în timpul instalării unei dependențe. Un comentator își descrie terminalul ca fiind „ultimul fortăreață” și „paradis de pace” care nu difuzează reclame de la stăpânii corporativi.

„Vânzarea de spațiu publicitar nu este inovatoare”, a spus dezvoltatorul Matthias Hogerheijde. „Și este deosebit de inutil în jurnalele mele. Pentru mine, problema este mai mult că nu vreau lucruri care nu mă ajută în jurnalele mele. Sunt din toată inima de acord cu introducerea „susținut de compania X” în fișierul readme. Asta mă ajută să înțeleg, rezonează cu mine când văd anumite companii donând bani către OSS. Și eu vreau să trăiesc într-o lume perfectă în care fiecare dezvoltator poate locui, poate plăti chirie și poate lucra doar la proiectele care îi plac. Acea lume perfectă pentru mine nu include reclame în terminalul meu.”

Comentarii Reddit au luat idei pline de umor, scriind exemple de reclame care întrerup procesul de construire:

Linode retrage sponsorizarea de la Experimentul Standard Ads pentru terminale

Utilizatorii Standard.js care erau nemulțumiți de anunțurile din terminalele lor s-au plâns sponsorilor, iar Linode a decis să-și elimine anunțul din experiment.

„Ne-am reconsiderat după ce am reflectat la reacția comunității dezvoltatorilor”, a spus un reprezentant Linode pe Twitter. „Susținem în continuare cu pasiune software-ul open source împreună cu @feross, dar vom fi mai atenți la experimentarea în viitor, continuând să inovăm.”

Înainte de a întrerupe experimentul, Aboukhadijeh a raportat că a strâns 2.000 de dolari, suficienți pentru a finanța cinci zile din timpul său pentru a lansa Standard 14.

„Dacă reușim să strângem fonduri suplimentare, următorul lucru pe care aș dori să mă concentrez este suportul complet TypeScript în StandardJS (una dintre cele mai comune solicitări de funcții!) și modernizarea diferitelor plugin-uri pentru editorul de text ( dintre care multe sunt în prezent neîntreținute),” a spus Aboukhadijeh. „Dacă alții din comunitate sunt interesați să preia conducerea cu privire la oricare dintre aceste probleme, aș dori să vă direcționez niște fonduri.”

Experimentul nu este în întregime exclus, deoarece pare să fi îndeplinit unul dintre obiectivele imediate ale lui Aboukhadijeh, în ciuda enervării (și, în unele cazuri, enervante) comunitatea de dezvoltatori.

Acum patru zile, Standard a blocat firul GitHub discutând despre noul model de finanțare, după ce acesta a devenit prea încălzit. Susținătorii proiectului evaluează acum această iterație a experimentului, dar discuția se extinde dincolo de simpla întrebare dacă dezvoltatorilor le plac reclamele în terminalele lor. Un nou thread pe depozitul proiectului, intitulat „Ce este în neregulă cu Open Source acum?” a deturnat o parte din feedback-ul negativ către o discuție mai largă și mai productivă.

Experimentul a reaprins conversații importante despre sustenabilitatea sursei deschise și unde întreținerii proiectelor doresc să vadă acest lucru în viitor. Într-un tweet recent, Aboukhadijeh a distribuit un link către o anumită situație cu care s-a confruntat un întreținător pentru a susține o bibliotecă gratuită de evidențiere a sintaxei.

După ce a primit comentarii urgente și e-mailuri în urma unei versiuni care avea erori care au cauzat ruperea dependențelor, Ivan Sagalaev, autorul original al highlight.js, a rezumat în mod adecvat starea actuală a relației dintre afaceri și proiecte open source:

Dragi colegi ingineri, vă rugăm să luați această problemă de construcție ca pe o oportunitate de a explica oamenilor de afaceri anumiți că întreaga lor proprietate intelectuală este un strat subțire peste o bază șubredă de cod open-source întreținut leneș de pasionați sau plătit de alte companii care au propriile lor obiective în minte.

Dacă își doresc cu adevărat stabilitate, trebuie să investească în ea, de exemplu, angajând ingineri care să se ocupe de nenumărate dependențe, să mențină fork-uri locale stabile, să contribuie cu patch-uri în amonte sau orice altceva - punctul cheie este că nu ar trebui să arate ca „doar lucrează pe praf de zână.