StandardJS Menjeda Eksperimen dengan Iklan di Terminal setelah Linode Menarik Sponsor
Diterbitkan: 2019-08-29Feross Aboukhadijeh, pengelola perpustakaan StandardJS, panduan gaya JavaScript, linter, dan pemecah kode otomatis, meluncurkan eksperimen minggu lalu yang menempatkan iklan di terminal untuk mendanai pengembangan. Eksperimen tersebut telah dihentikan sementara setelah menerima umpan balik negatif dari komunitas pengembang, menyebabkan Linode, salah satu sponsor awal, menghapus iklannya.
“Saya pikir model mempertahankan open source saat ini tidak berfungsi dan kami membutuhkan lebih banyak eksperimen,” kata Aboukhadijeh. "Ini adalah salah satu eksperimen semacam itu." Dia mengembangkan modul yang menyisipkan iklan setiap kali Standar 14 diinstal. Dana sponsor ditujukan untuk membayar waktu pengelola, yang ia definisikan sebagai “menulis fitur baru, memperbaiki bug, menjawab pertanyaan pengguna, dan meningkatkan dokumentasi.”
Aboukhadijeh adalah pengembang produktif yang telah menulis lebih dari 100 paket di npm yang diunduh 100+ juta kali per bulan. Standard adalah proyek sumber terbukanya yang paling populer dan digunakan oleh proyek dan perusahaan terkenal, termasuk Node.js, npm, GitHub, Automattic, dan banyak lagi.

Aboukhadijeh mengatakan tujuannya dengan eksperimen ini adalah untuk membuat Standard dan proyek open source lainnya lebih sehat.
“Untuk alasan yang kompleks, perusahaan umumnya ragu-ragu atau tidak mau mendanai OSS secara langsung,” katanya. “Ketika itu terjadi, itu tidak pernah cukup dan tidak pernah mencapai paket yang merupakan dependensi transitif (yaitu paket yang tidak diinstal secara eksplisit oleh siapa pun dan oleh karena itu tidak ada yang tahu keberadaannya). Pada dasarnya, kami memiliki barang publik yang dikonsumsi oleh sejumlah besar pengguna, tetapi hampir tidak ada yang membayarnya. Untungnya, ada model pendanaan yang biasanya bekerja untuk barang publik seperti ini – iklan.”
Berikut adalah contoh iklan LogRocket yang merupakan bagian dari percobaan awal:

Sementara beberapa pengembang mengomunikasikan dukungan untuk pengelola open source untuk memonetisasi proyek mereka dengan cara apa pun yang mereka pilih, sebagian besar umpan balik di GitHub, Hacker News, Reddit, dan media sosial sangat mengkritik pendekatan khusus ini.
William Hilton, pengembang di Stoplight, berspekulasi tentang konsekuensi dari jenis iklan ini menjadi model pendanaan yang populer:
Saya khawatir bahwa pemasangan npm hanya akan menjadi jejak panjang iklan spanduk meskipun pada akhirnya dan itu tidak akan berskala. Karena jika setiap paket npm menambahkan iklan, maka keterlihatan dari setiap iklan akan berkurang. (Menariknya, "realestate" yang paling berharga adalah paket yang spanduknya ditampilkan paling akhir, jadi jika itu menjadi "berlomba-ke-bawah" secara harfiah, orang mungkin menambahkan pernyataan tidur ke skrip pasca-instal mereka sehingga ditampilkan paling dekat dengan bawah. Sungguh pengalaman instalasi dystopian!)
Dia juga mencatat bahwa Yarn memblokir output skrip pasca-instal, yang dalam hal ini akan berfungsi sebagai pemblokiran iklan bawaan. Pengelola benang menimpali utas dengan lebih banyak konteks.
“Sebagai pengelola Benang, saya sangat menentang pola ini, meskipun bukan karena alasan yang mungkin Anda pikirkan,” kata Mael Nison. “Skrip pasca-instal menonaktifkan paket dan memutus alur kerja.
“Benang sudah tidak mencetak log pembangunan kecuali jika mereka membuat penginstalan macet, jadi skrip pasca pemasangan ini tidak akan memiliki efek yang terlihat bagi pengguna kami. Namun, saya sangat menghargai kesehatan ekosistem, baik dari sudut pandang pengelola dan pengguna, dan saya akan dengan senang hati mendiskusikan bagaimana kami dapat memenuhi kasus penggunaan ini dengan cara yang lebih terintegrasi dan tidak terlalu mengganggu.”
Karena ini adalah eksperimen yang lebih baru dan belum menjadi arus utama, tidak jelas apakah npm dapat memutuskan untuk memblokir semua metode penayangan iklan melalui terminal di masa mendatang. Modul baru bernama No CLI Ads dibuat sebagai tanggapan atas modul pendanaan Aboukhadijeh. Ini memblokir iklan agar tidak muncul di keluaran konsol. npm-adblock adalah alternatif yang berfungsi dengan cara yang berbeda. Adanya cara sederhana, meskipun tidak nyaman, untuk memblokir jenis iklan ini mungkin diperlukan untuk mengeringkan aliran pendapatan potensial.
Umpan balik pada percobaan ini menunjukkan bahwa ada dukungan luas untuk menemukan solusi untuk masalah pendanaan sumber terbuka, tetapi sebagian besar setuju bahwa iklan terminal bukanlah pilihan yang layak. Faktanya, banyak komentator mengidentifikasi pendekatan ini sebagai hal paling menjengkelkan yang dapat dilakukan pengelola paket, selain menghapus paket. Pengembang tidak ingin menjadi spam saat memasang dependensi. Seorang komentator menggambarkan terminalnya sebagai "satu benteng terakhir" dan "surga kedamaian" yang tidak menayangkan iklan dari penguasa perusahaan.

“Menjual ruang iklan bukanlah hal yang inovatif,” kata pengembang Matthias Hogerheijde. “Dan itu sangat tidak membantu dalam log saya. Bagi saya, masalahnya lebih pada saya tidak menginginkan hal-hal yang tidak membantu saya di log saya. Saya sepenuh hati setuju dengan menempatkan 'didukung oleh perusahaan X' Anda di readme. Itu membantu saya memahami, itu beresonansi dengan saya ketika saya melihat perusahaan tertentu menyumbangkan uang untuk OSS. Saya juga ingin hidup di dunia yang sempurna di mana setiap pengembang dapat tinggal, membayar sewa, dan hanya mengerjakan proyek yang mereka sukai. Dunia yang sempurna bagi saya itu tidak termasuk iklan di terminal saya.”
Komentator Reddit mengambil jab lucu pada gagasan itu, menulis contoh iklan yang mengganggu proses pembuatan:

Linode Menarik Sponsor dari Eksperimen Iklan Terminal Standar
Pengguna Standard.js yang tidak senang dengan iklan di terminal mereka mengeluh kepada sponsor dan Linode memutuskan untuk menghapus iklannya dari percobaan.
Kami mendengar Anda dengan keras dan jelas. Kami telah mempertimbangkan kembali dan telah menghapus iklan tersebut.
— Linode (@linode) 25 Agustus 2019
“Kami mempertimbangkan kembali setelah merenungkan reaksi komunitas pengembang,” kata perwakilan Linode di Twitter. “Kami masih dengan penuh semangat mendukung perangkat lunak open source bersama dengan @feross, tetapi kami akan lebih berhati-hati dalam bereksperimen di masa mendatang sambil terus berinovasi.”
Sebelum menghentikan eksperimen, Aboukhadijeh melaporkan bahwa dia telah mengumpulkan $2.000, cukup untuk mendanai lima hari waktunya untuk merilis Standard 14.
“Jika kami dapat mengumpulkan dana tambahan, hal berikutnya yang ingin saya fokuskan adalah dukungan TypeScript yang siap pakai di StandardJS (salah satu permintaan fitur paling umum!) dan memodernisasi berbagai plugin editor teks ( banyak di antaranya saat ini tidak terawat),” kata Aboukhadijeh. “Jika orang lain di komunitas tertarik untuk memimpin dalam masalah ini, saya ingin mengarahkan sejumlah dana kepada Anda.”
Eksperimen ini tidak sepenuhnya keluar dari meja, karena tampaknya telah memenuhi salah satu tujuan langsung Aboukhadijeh, meskipun mengganggu (dan dalam beberapa kasus membuat marah) komunitas pengembang.
Empat hari yang lalu, Standard mengunci utas GitHub yang membahas model pendanaan baru setelah menjadi terlalu panas. Pengelola proyek sekarang mengevaluasi iterasi percobaan ini, tetapi diskusi melampaui pertanyaan sederhana apakah pengembang menyukai iklan di terminal mereka. Utas baru di repo proyek, berjudul "Apa yang salah dengan Open Source sekarang?" telah mengalihkan beberapa umpan balik negatif ke dalam diskusi yang lebih luas dan lebih produktif.
Eksperimen ini telah menghidupkan kembali percakapan penting tentang keberlanjutan open source dan ke mana pengelola proyek ingin melihatnya di masa depan. Dalam tweet baru-baru ini, Aboukhadijeh membagikan tautan ke situasi tertentu yang dihadapi seorang pengelola dalam mendukung pustaka penyorotan sintaksis gratis.
Setelah menerima komentar dan email mendesak setelah rilis yang memiliki kesalahan yang menyebabkan dependensi terputus, Ivan Sagalaev, penulis asli highlight.js, dengan tepat merangkum keadaan saat ini dari hubungan antara bisnis dan proyek sumber terbuka:
Rekan-rekan insinyur yang terhormat, tolong ambil cegukan pembangunan ini sebagai kesempatan untuk menjelaskan kepada pebisnis khusus Anda bahwa seluruh kekayaan intelektual mereka adalah lapisan tipis di atas fondasi kode sumber terbuka yang goyah yang dikelola dengan malas oleh para penghobi atau dibayar oleh bisnis lain yang memiliki tujuan mereka sendiri dalam pikiran.
Jika mereka benar-benar menginginkan stabilitas, mereka harus berinvestasi di dalamnya dengan, misalnya, mempekerjakan insinyur untuk menangani banyak sekali dependensi, memelihara stable fork lokal, menyumbangkan tambalan ke hulu, atau apa pun — poin kuncinya adalah tidak terlihat seperti 'hanya bekerja' pada debu peri.
