2 पॉइंट द्वारा GN⁺ 2023-09-05 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • VS Code के source और official distribution की शर्तें अलग हैं, इसलिए जो उपयोगकर्ता सीधे MIT लाइसेंस बाइनरी पाना चाहते हैं, उनके लिए VSCodium एक विकल्प है
  • Microsoft का vscode source code MIT लाइसेंस के तहत है, लेकिन डाउनलोड के लिए उपलब्ध Visual Studio Code प्रोडक्ट अलग लाइसेंस और telemetry/tracking शामिल करता है
  • VSCodium, Microsoft के vscode repository को build करके तैयार हुए binaries को GitHub releases पर अपलोड करने वाली automated scripts के जरिए distribution process को संभालता है
  • उपलब्ध binaries में telemetry disabled है, और Windows, Mac OS, Linux के लिए latest release प्राप्त की जा सकती है
  • Homebrew, WinGet, Chocolatey, Scoop, Snap, Nixpkgs, AUR, deb/rpm repositories, Flatpak जैसे कई package managers के जरिए install किया जा सकता है

VS Code source और Microsoft distribution के बीच अंतर

  • VSCodium Microsoft के VS Code पर आधारित एक free/open source binary distribution है
  • Microsoft का vscode source code MIT लाइसेंस के तहत है, लेकिन Microsoft द्वारा वितरित Visual Studio Code प्रोडक्ट non-FLOSS लाइसेंस का उपयोग करता है और telemetry/tracking शामिल करता है
  • Microsoft distribution build, vscode repository को clone करने के बाद Microsoft-specific features वाले product.json को apply करके बनाया जाता है
    • इन Microsoft-specific features में telemetry, gallery, logo आदि शामिल हैं
    • यदि default product.json के साथ सीधे build किया जाए, तो Microsoft customization के बिना एक “clean” build बनता है, और उस पर डिफॉल्ट रूप से MIT लाइसेंस लागू होता है

VSCodium की build और distribution पद्धति

  • VSCodium उपयोगकर्ताओं को source सीधे डाउनलोड करके build किए बिना MIT लाइसेंस build प्राप्त करने देता है
  • Build scripts, Microsoft के vscode repository को clone करती हैं, build command चलाती हैं, और result binaries को GitHub releases पर upload करती हैं
  • VSCodium binaries MIT लाइसेंस के तहत हैं और telemetry disabled है
  • जो उपयोगकर्ता खुद build करना चाहते हैं, वे Microsoft के vscode repository और build instructions का उपयोग कर सकते हैं
  • Latest release Windows, Mac OS, Linux के लिए उपलब्ध हैं

package manager के अनुसार installation

  • Mac पर Homebrew इस्तेमाल करने की स्थिति में:
    brew install --cask vscodium
    
  • Windows में कई package managers का उपयोग किया जा सकता है
    • WinGet
      winget install vscodium
      
    • Chocolatey
      choco install vscodium
      
    • Scoop
      scoop bucket add extras
      scoop install vscodium
      
  • Linux में Snap, Nixpkgs, AUR, Flatpak आदि के जरिए install किया जा सकता है
    • Snap Store में यह Codium नाम से उपलब्ध है
      snap install codium --classic
      
    • Nix(OS) में vscodium को environment.systemPackages में जोड़कर या local install किया जा सकता है
      nix-env -iA nixpkgs.vscodium
      
    • Arch Linux में AUR के vscodium-bin package को AUR Helper से install किया जा सकता है
      yay -S vscodium-bin
      

distribution/repository आधारित installation

  • Parrot OS में VSCodium पहले से installed आता है
    • यदि डिफॉल्ट रूप से दिखाई न दे, तो official Parrot repository से install किया जा सकता है
      sudo apt update && sudo apt install codium
      
  • Debian/Ubuntu के लिए deb package, VSCodium-संबंधित repository और CDN mirror के जरिए install किया जाता है
    • Repository GPG key जोड़ने के बाद Debian/Ubuntu version के अनुसार repository setting जोड़ी जाती है
    • Installation command इस प्रकार है
      sudo apt update && sudo apt install codium
      
    • यदि vscodium-insiders चाहिए, तो codium को codium-insiders से बदलें
  • Fedora/RHEL/CentOS/Rocky Linux/OpenSUSE के लिए rpm package भी अलग repository जोड़कर install किया जाता है
    • Fedora/RHEL/CentOS/Rocky Linux:
      sudo dnf install codium
      
    • OpenSUSE/SUSE:
      sudo zypper in codium
      
  • Gentoo/Funtoo में ebuild के जरिए install किया जाता है
    • Funtoo:
      sudo emerge -av vscodium-bin
      
    • Gentoo:
      sudo emerge -av vscodium
      

Flatpak और migration दस्तावेज़

  • VSCodium एक Flatpak app के रूप में भी उपलब्ध है, और इसका build repository flathub/com.vscodium.codium है
  • Flathub repository enabled environment में इसे निम्न command से install किया जा सकता है
    flatpak install flathub com.vscodium.codium
    
  • यदि gnome-software-plugin-flatpak installed है, तो GNOME Software में भी VSCodium खोजा जा सकता है
  • Visual Studio Code से VSCodium पर migration करने या उपयोग के दौरान मिलने वाली विशेष बातों को documentation में संकलित किया गया है

1 टिप्पणियां

 
GN⁺ 2023-09-05
Hacker News की राय
  • ऐसे प्रोजेक्ट द्वारा बनाए गए binaries पर Big Tech द्वारा दिए गए binaries की तुलना में भरोसा करना ज़्यादा मुश्किल लगता है। Big Tech सबसे बड़े trackers तो हैं ही, लेकिन जिन प्रोजेक्ट्स में लोग और हितधारक बहुत कम होते हैं, वे supply chain attack या किसी developer के प्रोजेक्ट बेच देने पर hostile takeover के प्रति ज़्यादा कमजोर हो सकते हैं
    मैं इस क्षेत्र को बहुत अच्छी तरह नहीं जानता, इसलिए अच्छा होगा अगर ऐसे प्रोजेक्ट्स इन जोखिमों से कैसे बचते हैं, इस पर कोई reference material मिल जाए; और शायद ऐसी चिंता वाजिब भी हो सकती है

    • वह चिंता पूरी तरह वाजिब है। मैं इस प्रोजेक्ट का मूल्यांकन करने की कोशिश नहीं कर रहा, लेकिन original को लेकर उसमें बदलाव करना और फिर redistribute करने की प्रक्रिया को भरोसेमंद बनाना कठिन है
      बड़ी कंपनियां अपने build किए गए software की chain of trust सुनिश्चित करने के लिए बहुत ज्यादा मेहनत करती हैं, और app distribution platforms भी developer से लेकर user के device पर चलने वाले app तक end-to-end chain of trust सुरक्षित करने के लिए काफी प्रयास करते हैं
      मूल author ही नहीं, redistributor पर भी भरोसा किए बिना यह मूल रूप से संभव नहीं है, लेकिन verifiable build procedure, signing keys और hash verification, re-signing जैसी विधियां आवश्यक trust की मात्रा को कम करती हैं। अगर user सैद्धांतिक रूप से वही build खुद reproduce कर सके, तो उस पर भरोसा करना आसान हो जाता है
      सबसे अच्छा विकल्प यह होगा कि original project खुद unbranded builds उपलब्ध कराए, और VSCodium जैसे प्रोजेक्ट केवल telemetry disable करने जैसी settings-only चीज़ बन जाएं, ताकि re-signing की जरूरत न पड़े। उदाहरण के लिए Chromium project Google-specific हिस्सों के बिना Chromium binaries सीधे distribute करता है
      मेरे दिमाग में मुख्यतः app stores थे, लेकिन लगभग यही तर्क Debian package repositories जैसी जगहों पर भी लागू होता है। App stores आमतौर पर बीच में re-sign करते हैं, इसलिए store पर भरोसा करना पड़ता है, लेकिन ऐसी कंपनियां उस बिंदु की विश्वसनीयता सुनिश्चित करने के लिए बहुत मेहनत करती हैं
    • सैद्धांतिक रूप से अगर ऐसा प्रोजेक्ट GitHub Actions में build करता है और Microsoft की security पर भरोसा किया जाए, तो actions से लिए गए commit hash को verify करके upstream से अंतर compare कर सकते हैं
      अगर वह अंतर सुरक्षित लगता है, तो इसका मतलब काफी हद तक यह है कि binary पर भी भरोसा किया जा सकता है। बेशक यह भी जांचना होगा कि कहीं ऐसे internet resources तो नहीं लिए जा रहे जिनकी integrity उसी तरह guarantee नहीं की जा सकती
    • मैंने अभी अपने Manjaro machine पर vscodium install किया, और वह AUR source से build हुआ था
      package ने जिस source code का उपयोग किया और जिस upstream Microsoft git SHA पर आधारित होने का दावा किया, उनकी तुलना की जा सकती है: https://aur.archlinux.org/packages/vscodium
      संयोग से अब open source remote mode extension भी है, इसलिए proprietary version इस्तेमाल करने की वजह नहीं रही। मेरी तरफ अब telemetry बिल्कुल नहीं है
    • मौजूदा tech industry की हालत देखने और उसके भीतर काम करने के बाद मेरा विचार उलटा है
      मुझे बिल्कुल भरोसा नहीं है कि बड़ी कंपनियां चीज़ें सही करेंगी और telemetry के नाम पर applications को spyware से नहीं भरेंगी। मैं तो उन लोगों पर भरोसा करूंगा जो free और open source software बनाने के लिए लगातार जिद करके लगे रहते हैं
    • मैं भी अभी original development company पर ज़्यादा भरोसा करता हूं। अच्छा होगा अगर और विकल्प मिलें
      Go ने latest SDK में जैसा किया, वैसे reproducible builds यहां मददगार हो सकते हैं: https://go.dev/blog/rebuild
      अगर fork में source changes कम हों, तो यह खास तौर पर और प्रभावी है, क्योंकि केवल patches verify करने पड़ते हैं
      Linux distributions भी काफी मिलती-जुलती हैं। Debian packages पर आमतौर पर भरोसा करने की वजह यह है कि उसके पीछे umbrella organization और procedures हैं। स्वतंत्र organizations में यह कम होता है
      किसी दिन शायद सिर्फ reproducible builds संभालने वाली कोई umbrella organization बने, और लोग उसके जरिए binaries distribute कर सकें। domain registrars की तरह independent verification उस organization को ईमानदार बनाए रख सकता है
  • Microsoft ने प्रमुख extensions को सिर्फ official release में इस्तेमाल करने तक सीमित कर दिया, जिससे इस दिशा की competition ही खत्म हो गई। निजी तौर पर मैं remote extensions काफी इस्तेमाल करता हूँ, अच्छा हो अगर कोई alternative दे दे

    • आज किस्मत अच्छी रही
      “jeanp413” का “Open Remote - SSH”, यानी @ext:jeanp413.open-remote-ssh, कम से कम मेरे लिए closed-source extension जैसा ही काम करता है
      मैं Manjaro पर vscodium AUR package इस्तेमाल कर रहा हूँ, और extension vscodium के default store से लिया था। Microsoft store में है या नहीं, नहीं पता
      Code - OSS में वह extension मेरे लिए काम नहीं कर रहा था; setting error जैसा लगा और मैंने आगे trace नहीं किया
    • docs में official extension marketplace पर वापस switch करने का तरीका दिया है: https://github.com/VSCodium/vscodium/blob/master/DOCS.md#how...
      इसलिए अगर codium marketplace में कोई ज़रूरी extension नहीं है, तो Microsoft marketplace के ज़रिए अभी भी उसे इस्तेमाल किया जा सकता है
    • मैंने Remote OSS इस्तेमाल करना शुरू किया है, और remote code host install व run करने वाली custom script के साथ इस्तेमाल कर रहा हूँ। remote server पर भी ठीक चलता है, और remote host के devcontainers के साथ भी अच्छा फिट बैठता है
      tunnel install और setup को automatic करने के लिए यहाँ वाली script जैसी चीज़ इस्तेमाल कर सकते हैं: https://github.com/CGamesPlay/dotfiles/blob/master/files/.lo...
      custom script को auto-run करके tunnel set up करने का तरीका जोड़ने वाले PR पर भी काम चल रहा है: https://github.com/xaberus/vscode-remote-oss/pull/9
      Remote OSS: https://open-vsx.org/extension/xaberus/remote-oss
    • मेरे हिसाब से alternative बस VS Code इस्तेमाल न करना है। काम पर IT department इसे officially support करता है और tracking की परवाह भी नहीं है, इसलिए इस्तेमाल करता हूँ, लेकिन personal काम के लिए अभी भी Sublime इस्तेमाल करता हूँ
    • https://open-vsx.org/extension/jeanp413/open-remote-ssh और https://open-vsx.org/extension/jeanp413/open-remote-wsl मौजूद हैं
  • यह मूल रूप से वही है जो Visual Studio Code का source code download करके build करने पर मिलता है
    नाम भी Chrome → Chromium जैसी wordplay के करीब लगता है
    Microsoft और Google का अपने products को “open source” करने का चलन, जबकि असल में वे अतिरिक्त closed-source features वाले products release करते हैं, अच्छे से अच्छे रूप में बेईमानी है और बुरे रूप में तो बड़ा lawsuit material है

    • 100% सही। Google और Apple ने यह trend शुरू किया, और MS ने इसे पूरा कर दिया। वे कहते हैं कि वे “open source” product बना रहे हैं, लेकिन असल में closed-source version release करते हैं
      ये बड़ी कंपनियाँ open source products पर अपना समय donate करने वाले भोले software engineers के काम से फायदा उठाती हैं, लेकिन end users तक closed-source version पहुँचाती हैं
    • समझ नहीं आ रहा कि इसमें बेईमानी क्या है, और किस बात पर lawsuit होगा। “product को open source में release किया और free distribute किया, लेकिन यह मेरे मनचाहे रूप में नहीं है” पर lawsuit करना मुश्किल लगता है
    • “बड़ा lawsuit material” कहना काफी bold claim है। अगर vscode या कोई दूसरा product GPL-licensed code का गलत इस्तेमाल नहीं कर रहा या license requirements का पालन नहीं तोड़ रहा, तो कम से कम मेरी जानकारी में Microsoft कुछ गलत नहीं कर रहा
      यह उन असंख्य commercial companies जैसा ही मामला है जो open source projects पर आधारित proprietary software release करती हैं
    • यह open enshittification model है
    • यहाँ “open source” शब्द का इस्तेमाल काफी fair लगता है। दूसरे लोग source लेकर, telemetry जैसी चीज़ को छोड़ दें तो लगभग identical build कानूनी रूप से distribute कर सकते हैं
      ज़रूरत F-Droid store जैसी anti-feature category की है। जैसे “यह app दूसरे non-free apps पर निर्भर है” या “non-free network services पर निर्भर है या उन्हें बढ़ावा देता है” जैसी marking
  • Vscode को fracture induce करने के लिए design किया गया है: https://ghuntley.com/fracture/

    • 2022 में पहले ही इस पर चर्चा हो चुकी है: https://news.ycombinator.com/item?id=32657709
      सार यह है कि Microsoft ने built-in telemetry वाला Visual Studio Code release किया, इसलिए VSCodium जैसे projects ने telemetry-free custom builds निकालने शुरू किए। लेकिन इन projects को Microsoft license नहीं मिला, इसलिए वे वही marketplace इस्तेमाल नहीं कर सकते, और यही article title वाला fracture है
      आगे यह कहता है कि दूसरे proprietary IDEs में भी समस्याएँ हैं, और GitHub developers को capture और fracture करने वाला trap है
      Microsoft और open source के इर्द-गिर्द यह drama Halloween documents की याद दिलाता है: http://www.catb.org/~esr/halloween/
    • उस article का अंतिम निष्कर्ष यह है कि Microsoft ने सबसे अच्छा IDE और सबसे अच्छे extensions बनाए हैं, इसलिए Microsoft इस्तेमाल न करना मुश्किल हो गया है। इसके कई खराब implications हैं
      हम्म… तो? इस्तेमाल करो या मत करो। “इतना अच्छा है कि इस्तेमाल किए बिना नहीं रह सकते” कोई legitimate complaint है या नहीं, यह मुझे साफ नहीं लगता
    • उस definition के हिसाब से extensibility या extensions की अनुमति देने वाले products में से ऐसा कुछ याद करना सच में मुश्किल है जिसे fracture induce करने के लिए design न किया गया हो
  • कल open source build से स्विच करना पड़ा। अपडेट के बाद Pylance DRM की वजह से काम करना बंद कर चुका लगता था
    हर बार शुरू करने पर यह बड़ा warning दिखाता था कि MS द्वारा मंज़ूर न किए गए build में इसका इस्तेमाल license violation है, और फिर तुरंत रुक जाता था

    • इसके बजाय pyright इस्तेमाल कर सकते हैं: https://github.com/microsoft/pyright
      यह pyright का free और open source version है, लेकिन कुछ features गायब हैं
    • यह तो Pylance इस्तेमाल न करने की वजह जैसा लगता है
  • संबंधित लेख
    VSCodium – VS Code के Free/Libre Open Source Software Binaries - https://news.ycombinator.com/item?id=31604932 - जून 2022, 430 comments
    Microsoft branding/telemetry/licensing के बिना VS Code - https://news.ycombinator.com/item?id=23447413 - जून 2020, 200 comments
    VSCodium – Trackers के बिना एक Open Source Visual Studio Code - https://news.ycombinator.com/item?id=19650109 - अप्रैल 2019, 253 comments
    VSCodium: vs. Code का 100% Open Source Version - https://news.ycombinator.com/item?id=19619956 - अप्रैल 2019, 8 comments
    VSCodium: MS branding, telemetry और licensing के बिना VSCode के binary releases - https://news.ycombinator.com/item?id=17850960 - अगस्त 2018, 113 comments

  • लंबे समय तक इसे इस्तेमाल किया और team को भी इस्तेमाल करने को कहा, लेकिन आखिरकार छोड़ दिया। Remote SSH और devcontainers features के बिना, VSCode का पूरा फायदा उठाने वाली दिशा में Microsoft की पकड़ काफ़ी मजबूत है
    ऊपर से लगता है कि Microsoft telemetry पर पीछे हटा है, और अब कहा जाता है कि इसे पूरी तरह disable किया जा सकता है। हालांकि “off” सच में off है या नहीं, मैंने खुद test नहीं किया

    • official devcontainer extension core काम का ज़्यादातर हिस्सा open source devcontainer CLI से करता है, इसलिए इसे किसी भी IDE के बाहर भी इस्तेमाल किया जा सकता है
      साथ ही Remote OSS इस्तेमाल करें तो dev container के अंदर vscodium remote host इस्तेमाल किया जा सकता है। details मैंने इस comment में लिखी हैं: https://news.ycombinator.com/item?id=37386025
  • VSCode और VSCodium दोनों इस्तेमाल करता हूं। वजह simple और practical है: settings management और अलग-अलग पहचानी जा सकने वाली कई windows
    मेरा VSCode Microchip/Atmel/zephyr काम के लिए ज़रूरी लगने वाले extensions के ढेर से पूरी तरह भर चुका है
    ansible/elixir काम के लिए VSCodium इस्तेमाल करता हूं

    • लगता है आप दो अलग-अलग environments बनाए रखने के लिए काफ़ी complex setup इस्तेमाल कर रहे हैं
      क्या VSCodium में browser profiles जैसा कोई feature नहीं है, जहां उसी profile के अंदर तरह-तरह की settings बदली जा सकें? Firefox में मैं अक्सर ऐसा करता हूं, और windows का look भी अलग रखता हूं
  • उम्मीद है इसे maintain करते रहेंगे। हमारे startup का extension Open VSX Registry पर है, और इस तरह operate करने से हम काफ़ी संतुष्ट हैं

  • Arch में बराबर का दिखने वाला package बस code नाम से है

    • code binary का नाम है, और “project” खुद https://wiki.archlinux.org/title/Visual_Studio_Code में लिखे अनुसार Code - OSS है
      main repository द्वारा दिया जाने वाला package वही है, और VSCodium या Visual Studio Code इस्तेमाल करना हो तो AUR इस्तेमाल करना पड़ता है