3 poin oleh GN⁺ 2025-08-29 | 1 komentar | Bagikan ke WhatsApp
  • Laporan terbaru memunculkan kritik terhadap penggunaan perangkat lunak open source yang dibuat oleh pengembang Rusia
  • Kenyataannya, hampir sebagian besar proyek open source dijalankan oleh hanya satu orang maintainer
  • Bukan hanya NPM, tetapi juga berbagai ekosistem lain memiliki sangat banyak contoh paket populer yang dikelola oleh maintainer tunggal
  • Masalah dari struktur ini adalah beban berlebihan pada satu maintainer serta risiko rantai pasok
  • Inti persoalannya bukan kewarganegaraan, melainkan keterbatasan sumber daya dan dukungan yang nyata

Pendahuluan: open source dan kontroversi terbaru

  • The Register memberitakan artikel yang mempermasalahkan ketergantungan Departemen Pertahanan AS pada utilitas open source buatan pengembang Rusia
  • Pengembang open source tersebut sedang menerima tuduhan yang tidak adil
  • Isi artikel itu salah memahami realitas open source, dan teks ini menyoroti keterbatasan pendekatan semacam itu

Realitas open source: struktur 'satu orang'

  • Menurut data, hampir sebagian besar proyek open source dikelola oleh satu orang
  • Proyek ecosyste.ms mencatat data sekitar 11,8 juta proyek open source
    • Di antaranya, sekitar 7 juta memiliki maintainer tunggal
    • Sekitar 4 juta proyek sisanya tidak diketahui jumlah maintainer-nya, tetapi diperkirakan banyak yang juga hanya dikelola satu orang
    • Hanya sangat sedikit proyek yang memiliki ratusan maintainer

Proyek populer juga bukan pengecualian

  • Banyak orang mengira "open source yang penting atau proyek populer pasti dikelola banyak orang", tetapi kenyataannya ekosistem utama seperti NPM pun tidak berbeda
  • Di dalam ekosistem NPM ada lebih dari 4 juta proyek dengan maintainer tunggal
  • Bahkan di antara paket NPM yang diunduh lebih dari 1 juta kali per bulan, sekitar setengahnya dijalankan oleh maintainer tunggal
    • Jika ambang unduhan dinaikkan menjadi 1 miliar kali, ada sedikit perbedaan, tetapi paket dengan satu maintainer tetap ada
  • Jumlah orang nyata yang menjalankan 4 juta proyek maintainer tunggal di NPM adalah sekitar 900 ribu orang (artinya, satu orang bertanggung jawab atas beberapa proyek)

Inti masalah: bukan negara, melainkan kekurangan sumber daya

  • Skala ekonomi open source merupakan fondasi bernilai triliunan dolar (menurut riset Harvard, 8,8 triliun dolar)
  • Sebagian besar proyek maintainer tunggal kekurangan sumber daya dan memiliki risiko rantai pasok
  • Risiko terbesar bukanlah negara, melainkan 'satu maintainer' yang bekerja berlebihan dan tidak mendapat kompensasi yang layak
  • Menjadikan maintainer individu sebagai sasaran media dan pihak lain bukanlah solusi

Kesimpulan dan poin tindakan

  • Penyebab masalah saat ini ada pada struktur maintainer tunggal, sehingga memusatkan perhatian pada negara tidaklah bermakna
  • Mendemonisasi atau mencoba mendeteksi maintainer individu bukanlah solusi
  • Masalah ini rumit sehingga belum ada jalan keluar yang langsung tersedia
  • Daripada menunjuk dan menyalahkan maintainer tunggal, perlu memikirkan masalah struktural dan cara dukungannya

1 komentar

 
GN⁺ 2025-08-29
Komentar Hacker News
  • Rasanya ada banyak kesalahpahaman di komunitas software soal isu ini; menurut saya, pada praktiknya risiko rantai pasok lebih merupakan masalah tata kelola daripada masalah software atau engineering itu sendiri
    Bahkan tanpa niat buruk dari siapa pun, sebuah proyek bisa menimbulkan risiko rantai pasok, dan setiap orang yang menilai risiko rantai pasok punya sudut pandang keamanan serta standar yang berbeda-beda
    DoD (Departemen Pertahanan AS) melihat risiko dari sudut pandang yang benar-benar berbeda dari pengembang biasa, dan banyak proyek satu orang dianggap berisiko hanya karena yang bertanggung jawab cuma satu orang
    Jika bus factor-nya 1, itu sendiri sudah merupakan risiko rantai pasok
    Kebanyakan orang tidak memikirkan sampai skenario perang saat memilih paket, tetapi militer bisa saja mempertimbangkan perang
    Jika perang terjadi, proyek open source yang biasanya dikelola secara mandiri pun bisa mengalami perubahan situasi secara drastis
    Faktanya, banyak negara pada masa perang dapat secara hukum meminta kerja sama dari perusahaan swasta atau proyek pribadi, jadi ada pihak-pihak (seperti DoD) yang memasukkan hal seperti ini ke dalam perhitungan risiko keamanan

    • Teman-teman, saya ingin kita semua meneriakkan ini bersama-sama: paket harus di-vendor! Lakukan vendoring!
    • Meski begitu, tetap terasa getir bahwa hype seperti "bahkan pengembang solo bisa segera membangun perusahaan software bernilai miliaran" masih terus berlanjut
    • Kalau DoD, saya rasa mereka bahkan tidak akan memakai paket itu sama sekali jika mereka belum siap membaca seluruh kodenya satu per satu, mengunci pembaruan, dan menambalnya sendiri bila perlu
      Dalam kondisi perang, mereka tidak akan beroperasi dengan pola pikir seperti, "Andai saja ada satu orang lain lagi yang sama sekali tidak kita percaya"
  • Ada data yang menyebutkan bahwa di NPM ada 4 juta proyek satu orang dan sekitar 900 ribu orang yang mengelola proyek-proyek itu, tetapi saya bertanya-tanya apakah itu memang poin yang begitu penting

    • Memang tidak disebutkan secara eksplisit, tetapi sepertinya maksudnya kurang lebih begini
      Artinya, yang menghasilkan nilai ekonomi open source (Harvard memperkirakannya sebesar 8,8 triliun dolar) sebagian besar adalah "proyek satu orang", dan tak satu pun dari mereka mendapat dukungan sumber daya yang layak
      Dalam pembicaraan soal risiko rantai pasok, yang benar-benar berisiko adalah maintainer tunggal yang dibayar rendah dan kelelahan karena kerja berlebihan
      Menurut saya, dari negara mana orang itu berasal sebenarnya tidak terlalu penting
  • Saya penasaran apakah ada statistik tentang apa yang terjadi ketika maintainer tunggal tiba-tiba mengalami kecelakaan atau meninggalkan proyek
    Dengan data sebanyak ini, rasanya layak untuk diteliti
    Saya ingin tahu apakah pengembang baru akan melanjutkan proyeknya, apakah proyek itu digantikan oleh proyek serupa, atau apakah ia benar-benar menghilang

    • Tergantung situasinya
      Dalam praktiknya, lebih umum bukan soal tertabrak bus, melainkan "maintainer kehilangan minat atau tidak punya waktu lalu melepaskannya"
      Skenario yang sering terjadi dalam kondisi seperti ini adalah
      1. seseorang membuat fork dan pada akhirnya fork itu menggantikan proyek asli
      2. proyek baru dengan fungsi serupa menjadi populer dan menggantikan proyek lama
      3. maintainer asli menyerahkan pengelolaan proyek ke orang lain
      4. proyek tetap dipakai meskipun tidak ada yang memeliharanya, dan kalau ada masalah tiap orang memperbaikinya lewat fork masing-masing, tetapi fork-fork itu tidak menjadi arus utama
        Kekuatan open source adalah meskipun pembuatnya menghilang, berubah aneh, atau mengganti lisensi, akan selalu ada seseorang yang bisa membuat fork dan menjaganya tetap hidup
        Sebaliknya, software komersial akan selesai begitu saja jika pembuatnya—baik perusahaan maupun individu—menghilang atau mengubah isinya
        Paling banter, kita harus mencari produk pengganti
    • Kalau ada serial episode yang membahas proses perpindahan library/tool/aplikasi/situs open source populer dari satu maintainer ke maintainer lain, saya pasti akan menontonnya
      Itu juga alasan mengapa saya tidak menjalankan Netflix
    • Dalam pengalaman saya, saya benar-benar pernah melihat ketiga kasus itu terjadi
      Pada akhirnya ini bergantung pada jumlah pengguna, kompleksitas codebase, dan ada tidaknya alternatif
    • Contoh yang paling mirip yang terlintas bagi saya adalah Hans Reiser/Reiserfs
      Ini cerita yang jauh lebih ganjil daripada sekadar "tertabrak bus", dan pada akhirnya proyek itu pun lenyap
    • Yang sering diabaikan orang adalah bahwa jika kodenya open source, maka meskipun butuh waktu, dalam skenario terburuk pun kita selalu bisa membuat fork
  • Bahkan pada proyek yang dikelola oleh dua orang atau lebih, pada praktiknya sebagian besar commit biasanya tetap ditangani oleh satu orang saja

  • Sayang sekali, padahal hanya dengan memeriksa tingkat aktivitas saja orang bisa langsung tahu bahwa setengah dari seluruh proyek punya 0 maintainer

    • Ada kalanya software terasa sudah "sempurna" sehingga tidak perlu maintenance lagi
      Artinya ia bisa dibiarkan begitu saja tanpa perlu dibersihkan, dituning, atau dikalibrasi
      Justru yang jadi masalah kadang adalah update (pembaruan), bukan proyek itu sendiri
  • Fakta bahwa DoD memakai node justru lebih mengkhawatirkan bagi saya
    Saya merasa tidak nyaman karena platform seperti npm punya permukaan serangan yang terlalu besar

    • Itu memunculkan pertanyaan, kenapa
      DoD adalah salah satu organisasi terbesar di dunia, jadi mereka juga punya banyak pekerjaan seperti mengirim newsletter atau halaman web untuk reservasi tur basis Pramuka
      Untuk hal-hal seperti itu, menurut saya memakai node tidak masalah
      Sistem seperti itu dijalankan terpisah dari sistem utama seperti peluncuran rudal, dan kalau sekadar halaman pendaftaran acara dirusak pun tidak akan jadi masalah besar
    • Karena skala DoD sangat besar, saya rasa mereka kemungkinan memakai hampir semua platform utama
  • Saya rasa banyak proyek GitHub satu orang sebenarnya cuma eksperimen pribadi atau candaan seperti "hello world"
    Saya tidak tahu bagaimana di npm, tetapi di PyPI juga penuh dengan contoh serupa
    Saya sempat menekan ‘browse projects’ sendiri dan yang muncul adalah hal seperti ini: https://pypi.org/project/helloworld-eduardo/
    Seberapa mabuk pun orang, rasanya tidak akan ada yang berpikir untuk memakai hal seperti ini di produk

  • DoD sangat pandai memanfaatkan sesuatu yang gratis, meyakinkan semua orang bahwa "ini menguntungkan kita bersama", lalu pada akhirnya tetap menyerahkannya ke kontraktor berbayar

    • Kalau mengingat kisah Kuda Troya, gratis tidak selalu berarti baik
  • Disebutkan ada "paket dengan maintainer tunggal yang telah diunduh lebih dari 1 miliar kali", dan saya penasaran apa sebenarnya yang ingin disampaikan oleh itu

  • Saya sering mendengar hal-hal baik tentang karya yang dibuat seseorang bernama Linus, dan saya rasa saya juga cukup sering memakainya
    Karena dia berasal dari negara yang berbatasan dengan Rusia, saya sempat bertanya-tanya apakah hal seperti ini juga perlu dikhawatirkan
    Saya sudah puluhan tahun mengembangkan open source, dan hampir selalu mengerjakannya sendirian atau kadang membentuk tim sukarelawan
    Siapa pun yang pernah bekerja dengan tim sukarelawan pasti tahu bahwa itu benar-benar tidak mudah
    Tentu bukan berarti mustahil sama sekali, tetapi juga tidak sesering yang kita bayangkan bisa berjalan baik
    Kalau berhasil, biasanya karena ada "BDFL (benevolent dictator for life)" atau karena semua orang bergerak menuju satu tujuan yang sama
    Dalam kasus saya, hampir selalu bentuk yang kedua

    • (Di luar topik) Orang tua Linus juga aktif secara politik, dan Linus sendiri katanya pernah ikut organisasi pemuda komunis saat kecil (semacam pramuka)
      Ayahnya juga pernah tinggal beberapa tahun di Moskow
    • Linux adalah proyek dengan maintainer dalam jumlah besar dan dukungan yang luas, jadi sama sekali berbeda dari proyek satu orang yang dikembangkan Linus sendirian