StandardJS wstrzymuje eksperymenty z reklamami w terminalu po wycofaniu sponsoringu przez Linode

Opublikowany: 2019-08-29

Feross Aboukhadijeh, opiekun biblioteki StandardJS, przewodnika po stylu JavaScript, lintera i automatycznego narzędzia do naprawy kodu, przeprowadził w zeszłym tygodniu eksperyment, w którym umieszczane są reklamy w terminalu w celu finansowania rozwoju. Eksperyment został wstrzymany po otrzymaniu negatywnej opinii od społeczności programistów, co spowodowało, że firma Linode, jeden z pierwszych sponsorów, usunął swoją reklamę.

„Myślę, że obecny model utrzymywania otwartego oprogramowania nie działa i potrzebujemy więcej eksperymentów” – powiedział Aboukhadijeh. „To jeden z takich eksperymentów”. Opracował moduł, który wstawia reklamę za każdym razem, gdy instalowany jest Standard 14. Fundusze sponsorskie są przeznaczone na opłacenie czasu opiekuna, który zdefiniował jako „pisanie nowych funkcji, naprawianie błędów, odpowiadanie na pytania użytkowników i ulepszanie dokumentacji”.

Aboukhadijeh jest płodnym programistą, który stworzył ponad 100 pakietów na npm, które są pobierane ponad 100 milionów razy w miesiącu. Standard jest jego najpopularniejszym projektem open source i jest używany przez duże projekty i firmy, w tym Node.js, npm, GitHub, Automattic i wiele innych.

Aboukhadijeh powiedział, że jego celem w ramach eksperymentu jest uczynienie Standardu i innych projektów open source zdrowszymi.

„Ze złożonych powodów firmy na ogół wahają się lub nie chcą bezpośrednio finansować OSS” – powiedział. „Kiedy tak się dzieje, nigdy nie wystarcza i nigdy nie dociera do pakietów, które są zależnościami przechodnimi (tj. pakietów, których nikt nie instaluje w sposób jawny i dlatego nikt nie wie, że istnieją). Zasadniczo mamy dobro publiczne, które jest konsumowane przez ogromną liczbę użytkowników, ale za które prawie nikt nie płaci. Na szczęście istnieje model finansowania, który zazwyczaj sprawdza się w przypadku takich dóbr publicznych – reklam”.

Oto przykład reklamy LogRocket, która była częścią początkowego eksperymentu:

Podczas gdy niektórzy programiści przekazali wsparcie dla opiekunów open source, aby mogli zarabiać na swoich projektach w dowolny sposób, większość opinii na GitHub, Hacker News, Reddit i mediach społecznościowych mocno krytykowała to konkretne podejście.

William Hilton, deweloper w firmie Stoplight, spekulował na temat konsekwencji tego rodzaju reklamy, która stała się popularnym modelem finansowania:

Martwię się, że instalacja npm stanie się po prostu długą ścieżką banerów reklamowych i nie będzie się skalować. Bo jeśli każdy pakiet npm doda reklamy, zmniejszy się zauważalność każdej reklamy. (Co ciekawe, najcenniejszymi „nieruchomościami” będą pakiety, których baner jest wyświetlany jako ostatni, więc jeśli stanie się to dosłownym „wyścigiem w dół”, ludzie mogą dodawać komunikaty dotyczące snu do swoich skryptów poinstalacyjnych, aby wyświetlały się najbliżej dół. Co za dystopijna instalacja!)

Zauważył również, że Yarn blokuje wyjście skryptów poinstalacyjnych, które w tym przypadku służyłyby jako wbudowane blokowanie reklam. Opiekun Yarn włączył się do wątku z większym kontekstem.

„Jako opiekun Yarn jestem zdecydowanie przeciwny temu wzorowi, chociaż nie z powodów, które można by sądzić”, powiedział Mael Nison. „Skrypty poinstalacyjne deoptymalizują pakiety i przerywają przepływy pracy.

„Yarn już nie drukuje dzienników kompilacji, chyba że powoduje awarię instalacji, więc ten skrypt poinstalacyjny nie miałby żadnego widocznego wpływu na naszych użytkowników. Mimo to bardzo cenię zdrowie ekosystemu, zarówno z punktu widzenia opiekunów, jak i użytkowników, i z przyjemnością omówię, w jaki sposób możemy zaspokoić ten przypadek użycia w bardziej zintegrowany i mniej inwazyjny sposób”.

Ponieważ jest to nowszy eksperyment i nie wszedł do głównego nurtu, nie jest jasne, czy npm może w przyszłości zdecydować się na blokowanie wszystkich metod wyświetlania reklam przez terminal. W odpowiedzi na moduł finansowania Aboukhadijeh powstał nowy moduł o nazwie No CLI Ads. Blokuje wyświetlanie reklam w wynikach konsoli. npm-adblock to alternatywa, która działa w inny sposób. Istnienie prostych, aczkolwiek niewygodnych sposobów blokowania tego typu reklam może wystarczyć, aby wyschnąć potencjalne źródło przychodów.

Informacje zwrotne na temat tego eksperymentu pokazują, że istnieje szerokie poparcie dla znalezienia rozwiązania problemu finansowania open source, ale większość zgadza się, że reklamy terminalowe nie są opłacalną opcją. W rzeczywistości wielu komentatorów określiło to podejście jako najbardziej irytującą rzecz, jaką może zrobić opiekun pakietu, poza usunięciem pakietu. Deweloperzy nie chcą być spamowani podczas instalowania zależności. Jeden z komentatorów opisuje swój terminal jako „ostatnią twierdzę” i „przystań pokoju”, która nie wyświetla reklam od korporacyjnych władców.

„Sprzedaż przestrzeni reklamowej nie jest innowacyjna” — powiedział programista Matthias Hogerheijde. „I jest to szczególnie nieprzydatne w moich dziennikach. Dla mnie problem polega na tym, że nie chcę rzeczy, które nie pomagają mi w moich dziennikach. Z całego serca zgadzam się z umieszczeniem w pliku readme „wspieranych przez firmę X”. To pomaga mi zrozumieć, że współbrzmi ze mną, gdy widzę, jak pewne firmy przekazują pieniądze na rzecz OSS. Ja też chcę żyć w idealnym świecie, w którym każdy deweloper może mieszkać, płacić czynsz i pracować tylko nad projektami, które mu się podobają. Ten idealny dla mnie świat nie zawiera reklam w moim terminalu”.

Komentatorzy Reddit podjęli humorystyczne uwagi na ten pomysł, pisząc przykładowe reklamy, które przerywają proces kompilacji:

Linode wycofuje sponsoring z eksperymentu reklam terminalowych firmy Standard

Użytkownicy Standard.js, którzy byli niezadowoleni z reklam w swoich terminalach, skarżyli się sponsorom, a firma Linode zdecydowała się usunąć swoją reklamę z eksperymentu.

„Po zastanowieniu się nad reakcją społeczności programistów ponownie się zastanowiliśmy” – powiedział na Twitterze przedstawiciel Linode. „Nadal z pasją wspieramy oprogramowanie open source wraz z @feross, ale będziemy bardziej ostrożni w eksperymentowaniu w przyszłości, jednocześnie kontynuując innowacje”.

Przed wstrzymaniem eksperymentu Aboukhadijeh poinformował, że zebrał 2000 dolarów, co wystarczy, by sfinansować swój czas na pięć dni na wydanie Standardu 14.

„Jeśli jesteśmy w stanie zebrać dodatkowe fundusze, następną rzeczą, na której chciałbym się skupić, jest niestandardowa obsługa TypeScript w StandardJS (jedna z najczęstszych próśb o nowe funkcje!) oraz modernizacja różnych wtyczek edytora tekstu ( wiele z nich jest obecnie nieutrzymywanych)” – powiedział Aboukhadijeh. „Jeśli inni członkowie społeczności są zainteresowani przejęciem przewodnictwa w którejkolwiek z tych kwestii, chciałbym skierować do ciebie pewne fundusze”.

Eksperyment nie jest całkowicie wykluczony, ponieważ wydaje się, że spełnił jeden z bezpośrednich celów Aboukhadijeh, pomimo irytowania (a w niektórych przypadkach irytowania) społeczności programistów.

Cztery dni temu Standard zablokował wątek GitHub omawiając nowy model finansowania po tym, jak stał się zbyt gorący. Opiekunowie projektu oceniają teraz tę iterację eksperymentu, ale dyskusja wykracza poza proste pytanie, czy programiści lubią reklamy w swoich terminalach. Nowy wątek w repozytorium projektu, zatytułowany „Co jest teraz nie tak z Open Source?” skierował część negatywnych opinii na szerszą, bardziej produktywną dyskusję.

Eksperyment na nowo zainicjował ważne rozmowy na temat trwałości open source i tego, gdzie opiekunowie projektów chcą, aby to się stało w przyszłości. W niedawnym tweecie Aboukhadijeh udostępnił link do konkretnej sytuacji, z którą zetknął się jeden z opiekunów wspierających bezpłatną bibliotekę do podświetlania składni.

Po otrzymaniu pilnych komentarzy i wiadomości e-mail po wydaniu, które zawierało błędy powodujące zerwanie zależności, Ivan Sagalaev, pierwotny autor highlight.js, trafnie podsumował obecny stan relacji między biznesem a projektami open source:

Drodzy koledzy inżynierowie, potraktujcie tę czkawkę związaną z kompilacją jako okazję do wyjaśnienia swoim konkretnym ludziom biznesu, że cała ich własność intelektualna to cienka warstwa na chwiejnej podstawie kodu open source, leniwie utrzymywanego przez hobbystów lub opłacanego przez inne firmy, które mają ich własne cele.

Jeśli naprawdę chcą stabilności, muszą w nią zainwestować, na przykład zatrudniając inżynierów do radzenia sobie z niezliczonymi zależnościami, utrzymywania lokalnych stabilnych forków, dodawania łatek w górę, czy cokolwiek — kluczowe jest to, że nie powinno to tak wyglądać „po prostu działa na czarodziejski pył.