2 poin oleh GN⁺ 2023-09-05 | 1 komentar | Bagikan ke WhatsApp
  • Karena kode sumber VS Code dan distribusi resminya memiliki ketentuan yang berbeda, VSCodium menjadi alternatif bagi pengguna yang ingin langsung mendapatkan biner berlisensi MIT
  • Kode sumber vscode milik Microsoft berlisensi MIT, tetapi produk Visual Studio Code yang diunduh memakai lisensi terpisah dan menyertakan telemetri/pelacakan
  • VSCodium menggantikan proses distribusi dengan skrip otomatis yang membangun repositori vscode milik Microsoft lalu mengunggah biner hasilnya ke GitHub releases
  • Biner yang disediakan hadir dengan telemetri dinonaktifkan dan rilisan terbaru tersedia untuk Windows, Mac OS, dan Linux
  • Instalasi tersedia lewat berbagai manajer paket seperti Homebrew, WinGet, Chocolatey, Scoop, Snap, Nixpkgs, AUR, repositori deb/rpm, dan Flatpak

Perbedaan antara sumber VS Code dan distribusi Microsoft

  • VSCodium adalah distribusi biner bebas/open source yang berbasis pada VS Code milik Microsoft
  • Kode sumber vscode milik Microsoft berlisensi MIT, tetapi produk Visual Studio Code yang didistribusikan Microsoft menggunakan lisensi yang bukan FLOSS dan menyertakan telemetri/pelacakan
  • Build distribusi Microsoft dibuat dengan meng-clone repositori vscode lalu menerapkan product.json yang berisi fitur khusus Microsoft
    • Fitur khusus Microsoft tersebut mencakup telemetry, gallery, logo, dan lain-lain
    • Jika membangun langsung dengan product.json bawaan, akan dihasilkan build “clean” tanpa kustomisasi Microsoft, dan secara bawaan memakai lisensi MIT

Cara build dan distribusi VSCodium

  • VSCodium memungkinkan pengguna mendapatkan build berlisensi MIT tanpa harus mengunduh sumber dan membangunnya sendiri
  • Skrip build meng-clone vscode repository milik Microsoft, menjalankan perintah build, lalu mengunggah biner hasilnya ke GitHub releases
  • Biner VSCodium berlisensi MIT dan telemetri dinonaktifkan
  • Pengguna yang ingin membangun sendiri dapat memakai repositori vscode milik Microsoft dan petunjuk build yang tersedia
  • Rilisan terbaru tersedia untuk Windows, Mac OS, dan Linux

Instalasi berdasarkan manajer paket

  • Jika menggunakan Homebrew di Mac:
    brew install --cask vscodium
    
  • Di Windows, beberapa manajer paket dapat digunakan
    • WinGet
      winget install vscodium
      
    • Chocolatey
      choco install vscodium
      
    • Scoop
      scoop bucket add extras
      scoop install vscodium
      
  • Di Linux, instalasi dapat dilakukan melalui Snap, Nixpkgs, AUR, Flatpak, dan lain-lain
    • Di Snap Store tersedia dengan nama Codium
      snap install codium --classic
      
    • Di Nix(OS), vscodium dapat ditambahkan ke environment.systemPackages atau dipasang secara lokal
      nix-env -iA nixpkgs.vscodium
      
    • Di Arch Linux, paket vscodium-bin dari AUR dapat dipasang dengan AUR Helper
      yay -S vscodium-bin
      

Instalasi berbasis distribusi dan repositori

  • Di Parrot OS, VSCodium sudah terpasang secara bawaan
    • Jika tidak terlihat secara default, instalasi dapat dilakukan dari repositori resmi Parrot
      sudo apt update && sudo apt install codium
      
  • Paket deb untuk Debian/Ubuntu dipasang melalui repositori terkait VSCodium dan mirror CDN
    • Tambahkan kunci GPG repositori lalu tambahkan konfigurasi repositori yang sesuai dengan versi Debian/Ubuntu
    • Perintah instalasinya adalah sebagai berikut
      sudo apt update && sudo apt install codium
      
    • Jika ingin vscodium-insiders, ubah codium menjadi codium-insiders
  • Paket rpm untuk Fedora/RHEL/CentOS/Rocky Linux/OpenSUSE juga dipasang dengan menambahkan repositori terpisah
    • Fedora/RHEL/CentOS/Rocky Linux:
      sudo dnf install codium
      
    • OpenSUSE/SUSE:
      sudo zypper in codium
      
  • Di Gentoo/Funtoo, instalasi dilakukan melalui ebuild
    • Funtoo:
      sudo emerge -av vscodium-bin
      
    • Gentoo:
      sudo emerge -av vscodium
      

Flatpak dan dokumen migrasi

  • VSCodium juga tersedia sebagai aplikasi Flatpak, dan repositori build-nya adalah flathub/com.vscodium.codium
  • Di lingkungan dengan repositori Flathub yang aktif, instalasi dapat dilakukan dengan perintah berikut
    flatpak install flathub com.vscodium.codium
    
  • Jika gnome-software-plugin-flatpak terpasang, VSCodium juga dapat ditemukan di GNOME Software
  • Hal-hal khusus yang mungkin ditemui saat bermigrasi dari Visual Studio Code ke VSCodium atau saat menggunakannya telah dirangkum dalam dokumentasi

1 komentar

 
GN⁺ 2023-09-05
Komentar Hacker News
  • Biner yang dibuat oleh proyek seperti ini terasa lebih sulit dipercaya dibandingkan biner yang disediakan Big Tech. Memang Big Tech adalah pelacak terbesar, tetapi proyek dengan jauh lebih sedikit tenaga dan kepentingan tampaknya bisa lebih rentan terhadap serangan rantai pasok atau pengambilalihan bermusuhan ketika pengembang menjual proyeknya
    Saya tidak terlalu paham bidang ini, jadi akan bagus jika ada referensi tentang bagaimana proyek-proyek seperti ini menghindari risiko tersebut, dan mungkin kekhawatiran seperti ini memang valid

    • Kekhawatiran itu sepenuhnya valid. Saya tidak bermaksud menilai proyek ini sendiri, tetapi membuat proses mengambil sumber asli, memodifikasi, lalu mendistribusikannya ulang menjadi dapat dipercaya itu sulit
      Perusahaan besar melakukan upaya ekstrem untuk menjamin rantai kepercayaan perangkat lunak yang mereka build, dan platform distribusi aplikasi juga berupaya keras memastikan rantai kepercayaan end-to-end dari pengembang hingga aplikasi yang berjalan di perangkat pengguna
      Pada dasarnya ini mustahil tanpa mempercayai bukan hanya pembuat asli, tetapi juga pihak yang mendistribusikan ulang. Namun prosedur build yang dapat diverifikasi, pengecekan signing key dan hash, serta penandatanganan ulang dapat mengurangi kadar kepercayaan yang diperlukan. Jika secara teori pengguna bisa mereproduksi build yang sama sendiri, itu jadi lebih mudah dipercaya
      Pilihan terbaik adalah proyek asli menyediakan sendiri build tanpa merek, dan proyek seperti VSCodium hanya menjadi khusus konfigurasi, seperti menonaktifkan telemetri, sehingga tidak perlu penandatanganan ulang. Misalnya, proyek Chromium mendistribusikan sendiri biner Chromium yang tidak menyertakan elemen khusus Google
      Saya terutama memikirkan app store, tetapi logika yang hampir sama juga berlaku untuk tempat seperti repositori paket Debian. App store biasanya menandatangani ulang di tengah, jadi kita harus mempercayai store tersebut, tetapi perusahaan-perusahaan seperti ini berupaya keras memastikan titik itu dapat dipercaya
    • Secara teori, jika proyek seperti ini melakukan build di GitHub Actions dan mempercayai keamanan Microsoft, kita bisa memeriksa hash commit yang diambil dari action lalu membandingkan perbedaannya dengan upstream
      Jika perbedaannya terlihat aman, itu kurang lebih berarti binernya juga bisa dipercaya. Tentu saja juga harus memastikan proyek itu tidak mengambil resource internet yang integritasnya tidak bisa dijamin dengan cara yang sama
    • Saya baru saja memasang vscodium di mesin Manjaro, dan itu di-build dari sumber AUR
      Seharusnya kita bisa membandingkan kode sumber yang digunakan paket tersebut dengan git SHA upstream Microsoft yang diklaim sebagai basisnya: https://aur.archlinux.org/packages/vscodium
      Kebetulan sekarang sudah ada ekstensi mode remote open source, jadi tidak ada alasan lagi memakai versi proprietary. Di sisi saya, tidak ada lagi telemetri
    • Setelah melihat kondisi industri teknologi saat ini dan bekerja di dalamnya, saya justru berpandangan sebaliknya
      Saya sama sekali tidak percaya perusahaan besar akan melakukan sesuatu dengan benar dan tidak memenuhi aplikasi dengan spyware atas nama telemetri. Saya lebih memilih percaya pada orang-orang yang gigih berusaha membuat perangkat lunak bebas dan open source
    • Saya juga saat ini lebih mempercayai perusahaan pengembang asli. Akan bagus jika ada lebih banyak pilihan
      Build yang dapat direproduksi seperti yang dilakukan Go pada SDK terbaru bisa membantu di sini: https://go.dev/blog/rebuild
      Ini terutama efektif untuk fork dengan sedikit perubahan sumber, karena kita hanya perlu memverifikasi patch
      Distribusi Linux juga cukup mirip. Alasan kita umumnya mempercayai paket Debian adalah karena ada organisasi payung dan prosedur. Organisasi independen punya lebih sedikit hal seperti itu
      Suatu hari nanti mungkin akan ada organisasi payung yang khusus menangani build yang dapat direproduksi, dan orang-orang bisa mendistribusikan biner melalui organisasi itu. Seperti registrar domain, verifikasi independen dapat membuat organisasi tersebut tetap jujur
  • Microsoft membatasi ekstensi-ekstensi utama agar hanya bisa dipakai pada rilis resmi, sehingga menyingkirkan persaingan ke arah ini. Secara pribadi saya cukup banyak memakai ekstensi remote, jadi akan bagus kalau ada yang menyediakan alternatif

    • Hari ini saya beruntung
      “Open Remote - SSH” dari “jeanp413”, yaitu @ext:jeanp413.open-remote-ssh, setidaknya bagi saya bekerja persis seperti ekstensi closed source itu
      Saya memakai paket vscodium AUR di Manjaro, dan ekstensinya saya ambil dari store bawaan vscodium. Saya tidak tahu apakah ada di store Microsoft
      Di Code - OSS, ekstensi itu tidak bekerja untuk saya; kelihatannya seperti kesalahan konfigurasi, dan saya tidak menelusurinya lebih jauh
    • Dokumentasinya punya cara untuk beralih kembali ke marketplace ekstensi resmi: https://github.com/VSCodium/vscodium/blob/master/DOCS.md#how...
      Jadi kalau ada ekstensi wajib yang tidak ada di marketplace codium, Anda masih bisa memakainya lewat marketplace Microsoft
    • Saya mulai memakai Remote OSS, dan menggunakannya bersama skrip kustom yang memasang serta menjalankan host kode remote. Ini bekerja baik di server remote, dan juga cocok dengan devcontainers di host remote
      Untuk menangani instalasi dan konfigurasi tunnel secara otomatis, Anda bisa memakai skrip seperti yang ada di sini: https://github.com/CGamesPlay/dotfiles/blob/master/files/.lo...
      Saya juga sedang mengerjakan PR yang menambahkan cara untuk menjalankan skrip kustom secara otomatis guna menyiapkan tunnel: https://github.com/xaberus/vscode-remote-oss/pull/9
      Remote OSS: https://open-vsx.org/extension/xaberus/remote-oss
    • Menurut saya alternatifnya adalah cukup tidak memakai VS Code. Di tempat kerja saya memakainya karena departemen IT mendukungnya secara resmi dan saya juga tidak peduli soal pelacakan, tetapi untuk pekerjaan pribadi saya masih memakai Sublime
    • Ada https://open-vsx.org/extension/jeanp413/open-remote-ssh dan https://open-vsx.org/extension/jeanp413/open-remote-wsl
  • Ini pada dasarnya sama dengan yang Anda dapatkan jika mengunduh kode sumber Visual Studio Code lalu membangunnya
    Namanya juga tampak seperti permainan kata semacam Chrome → Chromium
    Praktik Microsoft dan Google yang mengatakan bahwa mereka “meng-open-source-kan” produk, padahal sebenarnya merilis produk yang berisi fitur closed source tambahan, paling baik pun terasa tidak jujur, dan paling buruk bisa menjadi perkara hukum besar

    • 100% benar. Google dan Apple memulai tren ini, lalu MS menyempurnakannya. Mereka mengatakan membuat produk “open source”, tetapi kenyataannya merilis versi closed source
      Perusahaan raksasa seperti ini mendapat keuntungan dari kerja para software engineer naif yang menyumbangkan waktu mereka untuk produk open source, tetapi yang mereka berikan kepada pengguna akhir adalah versi closed source
    • Saya tidak mengerti apa yang tidak jujur, dan atas dasar apa mau menggugat. “Mereka membuka source produk dan membagikannya gratis, tetapi bentuknya tidak seperti yang saya inginkan” rasanya sulit dijadikan dasar gugatan
    • “Perkara hukum besar” itu klaim yang cukup berani. Kecuali vscode atau produk lain memakai kode berlisensi GPL secara tidak semestinya atau tidak mengikuti persyaratan lisensi, setidaknya setahu saya Microsoft tidak melakukan kesalahan
      Ini sama seperti banyak perusahaan komersial yang merilis perangkat lunak proprietary berbasis proyek open source
    • Ini adalah model enshittification terbuka
    • Saya rasa istilah “open source” di sini dipakai dengan cukup adil. Orang lain bisa mengambil source-nya dan secara legal mendistribusikan build yang hampir identik, selain hal-hal seperti telemetri
      Yang dibutuhkan lebih mirip penandaan anti-fitur seperti di store F-Droid. Misalnya label seperti “aplikasi ini bergantung pada aplikasi non-free lain” atau “bergantung pada atau mendorong layanan jaringan non-free”
  • Vscode dirancang untuk mendorong fragmentasi: https://ghuntley.com/fracture/

    • Ini sudah pernah dibahas pada 2022: https://news.ycombinator.com/item?id=32657709
      Ringkasnya, Microsoft merilis Visual Studio Code dengan telemetri bawaan, sehingga proyek seperti VSCodium mulai merilis build kustom tanpa telemetri. Namun karena proyek-proyek ini tidak mendapatkan lisensi Microsoft, mereka tidak bisa memakai marketplace yang sama, dan itulah fragmentasi yang dimaksud judul tulisan itu
      Lalu tulisan itu mengatakan bahwa IDE proprietary lain juga bermasalah, dan GitHub adalah jebakan yang menangkap serta memecah-belah developer
      Drama seputar Microsoft dan open source ini mengingatkan pada dokumen Halloween: http://www.catb.org/~esr/halloween/
    • Inti yang akhirnya dicapai tulisan itu adalah bahwa Microsoft membuat IDE terbaik dan ekstensi terbaik, sehingga menjadi sulit untuk tidak memakai Microsoft. Itu memang punya berbagai implikasi buruk
      Hmm… begitu? Pakai saja atau jangan pakai. Saya tidak yakin “terlalu bagus sehingga tidak bisa tidak dipakai” adalah keluhan yang sah
    • Dengan definisi itu, sangat sulit memikirkan produk yang mendukung ekstensibilitas atau ekstensi yang tidak dirancang untuk mendorong fragmentasi
  • Kemarin saya harus pindah dari build open source. Setelah pembaruan, Pylance tampaknya berhenti bekerja karena DRM
    Setiap kali dijalankan, muncul peringatan besar bahwa menggunakannya di build yang tidak disetujui MS melanggar lisensi, lalu langsung berhenti

    • Sebagai gantinya bisa memakai pyright: https://github.com/microsoft/pyright
      Ini versi bebas dan open source dari pyright, tetapi beberapa fiturnya tidak ada
    • Itu terdengar seperti alasan untuk tidak memakai Pylance
  • Artikel terkait
    VSCodium – Free/Libre Open Source Software Binaries of VS Code - https://news.ycombinator.com/item?id=31604932 - Juni 2022, 430 komentar
    VS Code without Microsoft branding/telemetry/licensing - https://news.ycombinator.com/item?id=23447413 - Juni 2020, 200 komentar
    VSCodium – An Open Source Visual Studio Code Without Trackers - https://news.ycombinator.com/item?id=19650109 - April 2019, 253 komentar
    VSCodium: 100% Open Source Version of vs. Code - https://news.ycombinator.com/item?id=19619956 - April 2019, 8 komentar
    VSCodium: Binary releases of VSCode without MS branding, telemetry and licensing - https://news.ycombinator.com/item?id=17850960 - Agustus 2018, 113 komentar

  • Saya sudah lama memakainya dan juga menyarankan tim untuk memakainya, tetapi akhirnya menyerah. Tanpa fitur Remote SSH dan devcontainers, Microsoft masih memegang erat sisi yang membuat VSCode bisa dimanfaatkan semaksimal mungkin
    Selain itu, Microsoft tampaknya sudah mundur soal telemetri, dan katanya sekarang bisa dinonaktifkan sepenuhnya. Namun saya belum menguji sendiri apakah “mati” itu benar-benar mati

    • Ekstensi devcontainer resmi menangani sebagian besar pekerjaan inti dengan devcontainer CLI yang open source, sehingga bisa digunakan di luar IDE apa pun
      Selain itu, dengan Remote OSS, Anda bisa menggunakan host jarak jauh vscodium di dalam dev container. Detailnya saya tulis di komentar ini: https://news.ycombinator.com/item?id=37386025
  • Saya memakai VSCode dan VSCodium sekaligus. Alasannya sederhana dan praktis: manajemen konfigurasi dan beberapa jendela yang mudah dibedakan
    VSCode saya sudah sepenuhnya dipenuhi segunung ekstensi yang tampaknya diperlukan untuk pekerjaan Microchip/Atmel/zephyr
    Untuk pekerjaan ansible/elixir, saya memakai VSCodium

    • Sepertinya Anda memakai cara yang cukup rumit untuk mempertahankan dua lingkungan berbeda
      Apakah VSCodium tidak punya fitur seperti profil browser, tempat semua pengaturan bisa diubah hanya di dalam profil itu? Di Firefox saya sering memakainya seperti itu, dan tampilan jendelanya juga saya buat berbeda
  • Saya berharap ini terus dipelihara. Ekstensi startup kami ada di Open VSX Registry, dan kami sangat puas menjalankannya seperti itu

  • Di Arch, paket yang tampaknya setara ada begitu saja dengan nama code

    • code adalah nama binarinya, dan “proyek” itu sendiri adalah Code - OSS seperti tertulis di https://wiki.archlinux.org/title/Visual_Studio_Code
      Itulah paket yang disediakan repositori utama, dan kalau ingin memakai VSCodium atau Visual Studio Code, harus menggunakan AUR