Lodash menyatakan kebangkrutan isu dan menutup semua isu serta PR yang terbuka
(twitter.com/danielcroe)lodash menyatakan kebangkrutan isu dan menutup semua isu serta PR yang masih terbuka
lodash menyatakan kebangkrutan isu dan menutup semua isu serta PR yang masih terbuka
1 komentar
Komentar Hacker News
Ini benar-benar terasa ambivalen. Di satu sisi, ini sangat bagus. Rasanya hampir tidak ada orang yang belum pernah mengalami rapat pembersihan backlog yang berjalan seperti mengikis dari atas, padahal semua orang tahu tidak akan pernah sampai ke ujung; perasaan itu jelas menyedihkan.
Di sisi lain, isunya bukan hilang, hanya labelnya yang berubah. Kalau semuanya pada akhirnya soal tag dan penataan, bukankah lebih baik membiarkan arusnya berjalan daripada mencoba mengendalikan utopia semu berupa daftar isu yang benar-benar kosong? Pasti ada manfaatnya juga meninggalkan catatan seperti itu di tempat yang terlihat. Rasanya mirip saat bersih-bersih besar: kita sudah memutuskan membuang sesuatu, tapi alam bawah sadar berkata mungkin nanti akan dibutuhkan dan menyuruh kita mempertahankannya.
Meski begitu, secara keseluruhan saya cenderung setuju. Setidaknya sepertinya akan ada rasa lega dan efek mengisi ulang energi untuk menghadapi isu baru.
Sepertinya akan lebih rapi kalau versi hasil penulisan ulang dirilis dulu, lalu isu lama ditutup sebagai deprecated. Isu untuk branch penulisan ulang bisa dipisahkan dengan tag versi. Kalau ditutup saat versi baru belum selesai, kontributor bisa saja membuka isu baru untuk versi lama tanpa tahu bahwa versi itu sudah tidak didukung lagi.
Meski begitu, ini bukan berarti mereka mengabaikan isu dan membiarkan masalah di codebase; seluruh proyek memang sedang dirapikan ulang.
https://twitter.com/jdalton/status/1571863497969119238
Menurut saya lebih jujur kalau proyek mengakui keberadaan isu dan membiarkannya terbuka. Dari sisi developer, kalau jumlah isu terasa mengganggu, lebih baik memakai filter untuk menyembunyikan isu lama yang tidak penting.
jwz pernah berkata begini:
Terutama untuk bug yang sulit atau rumit direproduksi, sejak awal belum tentu maintainer bisa mereproduksinya di lingkungan mereka sendiri, dan pelapor kemungkinan lebih terbiasa mengamati bug tersebut.
Kalau ada tim yang lebih besar, atau proyek pendamping dari layanan komersial, keseimbangan ini bisa sedikit berbeda.
Yang terlihat di banyak proyek free/open source adalah sangat sedikit orang yang mau turun tangan, tetapi pada saat yang sama mereka menghabiskan cukup banyak waktu untuk memberi tahu betapa pentingnya proyek itu bagi mereka, menuntut, dan mengajukan banyak saran.
Mayoritas membuat isu baru untuk menyampaikan wishlist atau meninggalkan laporan bug yang sangat samar. Sebagian di antaranya memang menghasilkan laporan bug yang bagus, tetapi niat berkontribusi biasanya berhenti sampai di situ.
Secara pribadi, saya tidak punya kemauan untuk menangani sebagian besar komentar yang sering muncul secara diplomatis, jadi saya bukan tipe orang yang cocok memelihara proyek.
Namun untuk isu yang saya laporkan, saya selalu berusaha melakukan bagian saya dengan menelusuri penyebabnya dan, jika memungkinkan, mengirim PR yang memperbaikinya.
Kalau masalahnya benar-benar Anda pedulikan, Anda harus menambahkan test.
John-David Dalton, pembuat lodash, [menulis begini tahun lalu][1]:
Kedengarannya seperti ada orang lain yang menambahkan kompleksitas yang sedang ia kritik. Kalau memang dia sendiri yang memperkenalkannya, alih-alih terdengar seperti refleksi atau pelajaran, kesannya ia mengembangkan proyek mengikuti tren, lalu sekarang karena tren itu sudah selesai, saatnya pindah ke hal berikutnya.
Tindakan yang tepat
Melihat beberapa PR di bagian atas daftar saja sudah ada hal-hal seperti ini:
menambahkan satu kata di komentar, menambahkan file konfigurasi untuk promosi layanan pengembang, mengubah
varmenjadilet, mengubah perilaku fungsi inti yang sudah mapan, menghapus titik koma, dan sebagainyaSebagian besar mungkin dibuka dengan niat baik untuk memperbaiki library, tetapi pada titik tertentu bagi maintainer itu hanya menjadi spam, atau lebih buruk lagi, menjadi beban yang menambah rasa bersalah ketika makin tidak sempat diperhatikan
Seperti selebritas yang mempekerjakan pengawal dan naik kelas satu atau jet pribadi untuk menghindari perhatian tanpa henti dan menjaga kesehatan mental, saya penasaran langkah apa yang bisa dilakukan untuk proyek open source terkenal
Yang paling lama adalah PR yang mengimplementasikan fitur besar. Karena perlu banyak review dan diskusi, saya jadi menunda untuk memeriksanya secara detail
varmenjadiletTerasa seperti sekadar mengisi profil GitHub
Kabar yang lebih besar adalah Lodash berpindah dari Node.js ke Bun: https://github.com/lodash/lodash/commit/97d4a2fe193a66f5f96d...
Saya mulai tertarik memindahkan paket saya ke Bun, tetapi masih ragu karena khawatir soal kompatibilitas dan apakah Bun benar-benar akan terus bertahan. Saya juga pernah sedikit kena dampak “Modern Yarn”. Namun melihat lodash pindah, saya jadi ingin mempertimbangkannya lebih serius
Saya berusaha menghindari sikap mengatur-atur developer open source soal cara menjalankan proyek mereka. Saya juga developer open source, dan saya kesal kalau orang lain melakukan itu kepada saya
Namun jika saya adalah pengguna yang sudah menghabiskan cukup banyak waktu menulis issue dan membantu memecahkan masalah, atau orang yang mengerjakan perbaikan atau fitur baru lalu mengirim PR, saya rasa saat ini saya akan cukup kehilangan motivasi
Mereka menutup 363 issue dengan label
issue bankruptcy: https://github.com/lodash/lodash/issues?q=is%3Aissue+is%3Acl...PR juga 325 ditangani dengan cara yang sama: https://github.com/lodash/lodash/pulls?q=is%3Apr+is%3Aclosed...
Kebangkrutan issue itu nyata. Dari pengalaman pribadi, pada titik tertentu pemeliharaan open source menjadi sulit dijalankan bersamaan dengan hidup di dunia nyata
Pekerjaannya gratis dan sering kali tidak diapresiasi. Tentu tidak selalu begitu. Masalahnya rumit, dan bersaing dengan tanggung jawab nyata seperti pekerjaan, keluarga, dan istirahat. Orang mudah kesal, secara rutin ingin berdebat, atau meminta kita membacakan dokumentasi untuk mereka. Kalau open source menjadi terkenal, tanggung jawab yang sangat besar juga ikut datang
Saya memperkirakan akan ada keruntuhan besar dalam ekosistem open source ketika orang-orang yang memimpin proyek berkata “cukup” lalu pergi mengerjakan hal yang lebih penting
Namun ekosistem open source luar biasa tidak efisien. Ada lodash, underscore, dan begitu banyak library lain, padahal tidak semuanya perlu ada. Banyak juga library yang hanya melakukan satu hal, dan biasanya merupakan subset dari library-library seperti ini
Sebagian besar hal seperti ini digunakan bersama minifier dan tree shaking, sehingga fitur yang tidak dipakai akan dihapus. Library berat pun mudah dioptimalkan dan sebagian besar tersusun dari bagian-bagian terpisah, jadi tidak perlu bersikeras memakai library ringan, sementara upaya pengembangan umumnya bertambah secara linear
Kalau bukan karena programmer menyukai elegansi dan kesederhanaan di atas segalanya, dan selalu ingin menulis ulang sesuatu agar sedikit lebih baik, saya rasa open source tetap akan punya cukup tenaga meski semua orang hanya menghabiskan seperempat dari waktu yang mereka gunakan sekarang
Lodash adalah pustaka yang sangat bagus. Hampir di setiap proyek yang saya kerjakan, saya akhirnya memakainya sedikit banyak
Namun seiring JavaScript makin baik, porsi penggunaan Lodash makin berkurang. Setiap kali memakainya, saya mengecek apakah ada fitur bawaan untuk hal yang ingin saya lakukan. Saya juga cukup sering memberi komentar di PR dengan tautan seperti “ini tidak perlu Lodash”
Meski begitu, saya berharap ini bukan tanda mereka mulai menarik diri dari proyek ini
..., dampaknya sangat besar. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... Iterator helpers juga akan segera dirilis, dan itu akan sangat membantu. Async iterator helpers tampaknya akan tertunda cukup lama. https://github.com/tc39/proposal-iterator-helpersDulu rasanya beberapa kali setiap minggu saya harus memakai
.apply()untuk memanggil fungsi secara kreatif di codebase tempat saya bekerja. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... Sekarang semuanya sudah hilang, dan menurut saya peluang rekan tim mengetahui.calldan.applykira-kira hanya separuh-separuhChrome 117 menyertakan
Object.groupBy(), dan ini akan sangat membantu menghapus banyak titik terakhir yang membuat orang memakai lodash. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...map,filter,find, dan sebagainyaPelacak isu punya dua kegunaan yang saling tumpang tindih. Yang satu adalah cara maintainer melacak pekerjaan yang harus mereka lakukan, dan yang lain adalah cara komunitas yang lebih luas serta pengguna melacak cacat pada perangkat lunak
Deklarasi “kebangkrutan isu” masuk akal untuk kegunaan pertama, tetapi untuk kegunaan kedua, itu berarti menghapus informasi berharga tentang isu yang ada pada versi saat ini