Nasib Open Source "Kecil"
(nolanlawson.com)- Pustaka utilitas kecil JavaScript makin menjadi tidak diperlukan karena kemampuan pembuatan kode oleh LLM
- Sebagai contoh,
blob-utiladalah paket npm berusia 10 tahun, sebuah kumpulan alat pemrosesan Blob, tetapi kini AI dapat langsung menghasilkan kode serupa - Perubahan ini memungkinkan pengurangan dependensi dan pengembangan yang lebih cepat, tetapi juga menyebabkan hilangnya kesempatan untuk belajar dan memahami
- Setelah perluasan fitur bawaan Node.js dan browser, LLM kini mempercepat berakhirnya pustaka skala kecil
- Ke depan, nilai open source kemungkinan akan tetap bertahan di ranah yang kreatif, berskala besar, dan sangat spesialis
Kemunduran open source kecil dan pengaruh LLM
blob-util, yang dibuat 10 tahun lalu, adalah kumpulan utilitas sederhana untuk mengubah objekBlobJavaScript menjadi string atauArrayBuffer, dan diunduh lebih dari 5 juta kali per minggu- Pembuatnya membuatnya setelah melihat pengguna PouchDB kebingungan dalam menangani
Blob
- Pembuatnya membuatnya setelah melihat pengguna PouchDB kebingungan dalam menangani
- Saat ini sekitar 80% pengembang menggunakan AI dalam pekerjaan mereka, sehingga utilitas sederhana kini dapat digantikan oleh LLM
- Contohnya, Claude dapat langsung menghasilkan fungsi TypeScript untuk mengubah
BlobmenjadiArrayBuffer
- Contohnya, Claude dapat langsung menghasilkan fungsi TypeScript untuk mengubah
- Hasil dari Claude mirip dengan
blob-util, tetapi lebih bertele-tele dan validasi tipenya berlebihan, sementara penanganan error-nya lebih baik - Penulis menyebut perubahan ini bisa terlihat sebagai pengurangan dependensi dan peningkatan ketahanan kode
Hilangnya nilai open source yang berpusat pada pembelajaran
- README
blob-utilmenyertakan tutorial yang menggunakan karakter Kirby, dan tujuannya bukan hanya menyediakan fungsi sederhana, tetapi juga membantu pembelajaran JavaScript - Dalam lingkungan pengembangan yang berpusat pada LLM, jawaban instan lebih diutamakan daripada pemahaman dan pendidikan, sehingga kebutuhan akan open source jenis pembelajaran seperti ini menurun
- Upaya seperti
llms.txtuntuk otomatisasi dokumentasi membuat makna dokumentasi itu sendiri didefinisikan ulang
Arah baru open source
- Penulis tetap melanjutkan open source, tetapi berpandangan bahwa era pustaka kecil bernilai rendah telah berakhir
- Tren penurunan ini sebenarnya sudah terjadi karena perluasan fitur bawaan Node.js dan browser (
node:glob,structuredClone, dan lain-lain) - LLM mempercepat arus tersebut secara menentukan
- Tren penurunan ini sebenarnya sudah terjadi karena perluasan fitur bawaan Node.js dan browser (
- Pustaka yang dulu berperan edukatif (misalnya Underscore.js) juga makin berkurang kebutuhannya
- Fungsi sederhana seperti pengelompokan array kini bisa diselesaikan dengan API standar
Syarat open source yang masih bernilai
- Nilai kini terkonsentrasi pada proyek berskala besar, kreatif, dan spesialis yang tidak mudah dihasilkan oleh LLM
- Sebagai contoh, proyek
fuitedan riset deteksi kebocoran memori adalah pekerjaan kreatif yang sulit direproduksi LLM
- Sebagai contoh, proyek
- Ke depan, makna open source terletak pada ide-ide baru dan kreativitas manusia
- Sebagai contoh, disebutkan framework Ripple.js yang dikembangkan oleh Dominic Gannaway untuk menekankan semangat eksperimen manusia
Kesimpulan
- LLM memang telah membuat sebagian open source terlihat ketinggalan zaman, tetapi peluang untuk menciptakan bentuk baru open source tetap ada
- Kreativitas dan semangat bereksperimen para pengembang manusia dipandang sebagai faktor kunci keberlanjutan ekosistem open source di era AI
4 komentar
Saya rasa itu tidak masalah, asalkan kita bisa mencegah kebiasaan ekosistem aneh seperti
left-pad.Seiring kita memasuki masa ketika kepuasan yang didapat semakin tidak sebanding dengan usaha yang dikeluarkan, utilitas kecil tampaknya akan makin diabaikan karena dinilai tidak sepadan dengan kerja keras yang dibutuhkan untuk pemeliharaannya.
Opini Hacker News
Sekitar 80% developer saat ini menggunakan AI dalam pekerjaan mereka
Utilitas seperti
blob-utilkini kebanyakan bisa langsung dibuat dengan LLMNamun pendekatan seperti ini adalah pedang bermata dua. Kode yang belum terverifikasi meninggalkan beban pemeliharaan dan bisa gagal pada edge case
Karena itu, di ekosistem Java, kumpulan utilitas standar tepercaya seperti Apache Commons pun menjadi mapan
Sebaliknya, kode yang dihasilkan LLM tampak logis di permukaan tetapi sangat mungkin menyimpan bug aneh
Kita telah memasuki era ketika AI menghasilkan kode dan tutorial dalam jumlah besar, sehingga penurunan kualitas dan membanjirnya spam makin cepat
Motivasi untuk membuat blog pribadi atau library kecil pun berkurang
Tulisan buatan LLM terasa mirip levelnya, jadi malah terasa lebih mudah difilter
Saya menguji nilai nyata tutorial dengan menjalankan kodenya di dalam devcontainer. Kalau berjalan, layak dilihat; kalau tidak, dibuang
Neraka micro-dependency di JS dulu adalah mimpi buruk
Sekarang semoga era itu berakhir dan kita kembali ke masa ketika developer belajar ngoding lagi
Muncul pertanyaan apakah “masalah membalik binary tree” benar-benar ada
Ada yang setuju dengan klaim bahwa “era library kecil bernilai rendah telah berakhir”
Bahasa Go sejak awal tidak punya dependency hell, dan masalah npm disebabkan faktor budaya
Kini lebih bernilai dan lebih menyenangkan membuat produk yang benar-benar bekerja daripada utilitas
Saya menganggap micro-dependency itu sendiri tidak bermakna
Lebih baik daftar fungsi ditulis di Markdown agar bisa disalin
Pendekatan library kecil berbasis header file di C lebih praktis
Muncul pertanyaan, bentuk open source seperti apa yang masih bermakna sekarang
Sebab kode yang dipublikasikan pada akhirnya akan diserap menjadi data pelatihan AI
Karena itu, model source-available dianggap bisa menjadi alternatif alih-alih FOSS sepenuhnya
Penulis menekankan bahwa makna kontribusi lebih besar daripada sekadar pencantuman nama
Saya percaya open source tidak akan hilang, malah akan menjadi lebih kuat
Developer yang benar-benar kreatif akan memakai AI untuk menciptakan inovasi yang tidak bisa dibuat perusahaan
Open source tetap menjadi arena pembuktian nilai yang nyata, sekaligus tempat belajar melampaui batas lewat AI
Namun diperkirakan pemerintah dan perusahaan besar akan mencoba mengatur sistem AI lokal, dan segera akan muncul batas tentang “AI yang boleh dipakai warga”
Waktu terbuang untuk review dan diskusi kebijakan, dan khususnya di bidang kompleks seperti compiler, AI sama sekali tidak membantu
Ada yang menegaskan bahwa meskipun tidak ditambahkan sebagai paket, tindakan mempublikasikan kode itu sendiri tetap bernilai
Jika LLM yang menuliskan kodenya, beban belajar berkurang dan kita bisa fokus pada topik yang lebih dalam
Misalnya, ada yang mengaku setelah 14 tahun memelihara rubygems.org, ia pergi karena kecewa dengan struktur yang sudah terlalu terkorporetisasi
Muncul pendapat bahwa menulis kode dengan AI pada akhirnya juga salah satu bentuk dependency
Menyalin-tempel tanpa verifikasi pada dasarnya tidak berbeda dari menambahkan library eksternal
Pada awal 2024, saat membuat proyek kecil,
saya pernah meminta Claude 3.5 membuatkan modul store state yang bisa dipakai di pure JavaScript,
dan saya ingat sempat terkejut karena ia menuliskan kode yang ringkas sekaligus mampu menangani situasi migrasi.
Saya rasa ini fenomena yang wajar jika mengingat bahwa makin kecil sebuah library, makin banyak pula kode yang dibagikan secara publik oleh orang-orang dengan pemikiran serupa, dan AI akan lebih mudah membentuknya menjadi struktur yang baku.
Seperti copyparty, sesuatu yang bisa terpikir oleh siapa saja, tetapi sulit dipelihara lama oleh individu.
Agak disayangkan bahwa ke depannya kita mungkin akan semakin sulit melihat proyek-proyek yang lahir dari dorongan sampai tuntas terhadap proyek semacam itu lalu muncul sebagai proyek yang rapi dan dipoles dengan baik.