VSCodium - VSCodeのオープンソースバイナリ
(vscodium.com)- VS Code はソースコードと公式配布物で条件が異なるため、MIT ライセンスのバイナリをそのまま入手したいユーザーにとって VSCodium が代替となる
- Microsoft の
vscodeソースコードは MIT ライセンスだが、ダウンロード用の Visual Studio Code 製品は別ライセンスで提供され、テレメトリ/追跡を含む - VSCodium は Microsoft の
vscodeリポジトリをビルドし、生成されたバイナリを GitHub releases に公開する自動化スクリプトとして、配布プロセスを代替する - 提供されるバイナリは テレメトリが無効化されており、Windows、Mac OS、Linux 向けの最新リリースを入手できる
- Homebrew、WinGet、Chocolatey、Scoop、Snap、Nixpkgs、AUR、deb/rpm リポジトリ、Flatpak など、さまざまな パッケージマネージャー でインストール可能
VS Code のソースと Microsoft 配布版の違い
- VSCodium は Microsoft の VS Code をベースにした自由/オープンソースのバイナリ配布版
- Microsoft の
vscodeソースコードは MIT ライセンスだが、Microsoft が配布する Visual Studio Code 製品は FLOSS ではないライセンスを使用し、テレメトリ/追跡を含む - Microsoft 配布ビルドは
vscodeリポジトリをクローンした後、Microsoft 専用機能が含まれたproduct.jsonを適用して作成される- その Microsoft 専用機能には telemetry、gallery、logo などが含まれる
- デフォルトの
product.jsonで直接ビルドすると、Microsoft のカスタマイズがない “clean” ビルドが生成され、既定で MIT ライセンスが適用される
VSCodium のビルドと配布方式
- VSCodium は、ユーザーがソースを直接ダウンロードしてビルドしなくても MIT ライセンスのビルド を入手できるようにする
- ビルドスクリプトは Microsoft の
vscodeリポジトリ をクローンしてビルドコマンドを実行し、その後、生成されたバイナリを GitHub releases にアップロードする - VSCodium のバイナリは MIT ライセンス で、テレメトリが無効化されている
- 自分でビルドしたいユーザーは、Microsoft の
vscodeリポジトリとビルド手順を利用できる - 最新リリースは Windows、Mac OS、Linux 向けに提供される
パッケージマネージャー別インストール
- Mac で Homebrew を使う場合:
brew install --cask vscodium - Windows では複数のパッケージマネージャーを利用できる
- WinGet
winget install vscodium - Chocolatey
choco install vscodium - Scoop
scoop bucket add extras scoop install vscodium
- WinGet
- Linux では Snap、Nixpkgs、AUR、Flatpak などでインストールできる
- Snap Store では Codium という名前で提供される
snap install codium --classic - Nix(OS) では
vscodiumをenvironment.systemPackagesに追加するか、ローカルインストールが可能nix-env -iA nixpkgs.vscodium - Arch Linux では AUR の
vscodium-binパッケージを AUR Helper でインストールできるyay -S vscodium-bin
- Snap Store では Codium という名前で提供される
配布版・リポジトリベースのインストール
- Parrot OS には VSCodium が標準でインストールされている
- 標準で表示されない場合は、公式 Parrot リポジトリからインストール可能
sudo apt update && sudo apt install codium
- 標準で表示されない場合は、公式 Parrot リポジトリからインストール可能
- Debian/Ubuntu 向け deb パッケージは、VSCodium 関連リポジトリと CDN ミラー経由でインストールする
- リポジトリの GPG キーを追加した後、Debian/Ubuntu のバージョンに合ったリポジトリ設定を追加する
- インストールコマンドは次のとおり
sudo apt update && sudo apt install codium vscodium-insidersが必要ならcodiumをcodium-insidersに置き換える
- Fedora/RHEL/CentOS/Rocky Linux/OpenSUSE 向け rpm パッケージも、別途リポジトリを追加してインストールする
- Fedora/RHEL/CentOS/Rocky Linux:
sudo dnf install codium - OpenSUSE/SUSE:
sudo zypper in codium
- Fedora/RHEL/CentOS/Rocky Linux:
- Gentoo/Funtoo では ebuild でインストールする
- Funtoo:
sudo emerge -av vscodium-bin - Gentoo:
sudo emerge -av vscodium
- Funtoo:
Flatpak と移行ドキュメント
- VSCodium は Flatpak アプリ としても提供されており、ビルドリポジトリは flathub/com.vscodium.codium
- Flathub リポジトリが有効化された環境では、次のコマンドでインストールできる
flatpak install flathub com.vscodium.codium gnome-software-plugin-flatpakがインストールされていれば、GNOME Software でも VSCodium を見つけられる- Visual Studio Code から VSCodium へ移行する際や、利用中に遭遇する可能性のある特記事項は ドキュメント にまとめられている
1件のコメント
Hacker News の意見
こうしたプロジェクトが作ったバイナリは、Big Tech が提供するバイナリよりも信頼しにくいように感じる。Big Tech が最大のトラッカーであることは確かだが、人員や利害関係がはるかに少ないプロジェクトは、サプライチェーン攻撃や、開発者がプロジェクトを売却した場合の敵対的買収に対して、より脆弱になり得るように見える
この分野に詳しいわけではないので、こうしたプロジェクトがこの種のリスクをどう避けているのか参考になる資料があるとありがたいし、もしかするとこういう懸念は妥当なのかもしれない
大企業は自社がビルドするソフトウェアの信頼の連鎖を保証するために極端な努力をしているし、アプリ配布プラットフォームも、開発者からユーザーの端末上で実行されるアプリまでエンドツーエンドの信頼の連鎖を確保しようと多大な努力をしている
元の作者だけでなく再配布者も信頼しなければ基本的には不可能だが、検証可能なビルド手順、署名キーとハッシュの確認、再署名といった方法は、必要となる信頼の量を減らしてくれる。ユーザーが理論上同じビルドを自分で再現できるなら、より信じやすくなる
最良の選択肢は、元プロジェクトが直接ブランドなしのビルドを提供し、VSCodium のようなプロジェクトはテレメトリの無効化のような設定専用になって、再署名が不要になることだ。たとえば Chromium プロジェクトは、Google 専用要素を除いた Chromium バイナリを直接配布している
主にアプリストアを念頭に置いていたが、Debian のパッケージリポジトリのような場所にもほぼ同じ論理が当てはまる。アプリストアは通常、中間で再署名するのでストアを信頼する必要があるが、こうした企業はその地点の信頼性を確保するために多くの努力をしている
その差分が安全に見えるなら、バイナリも信頼できるという意味に近い。もちろん、同じ方法で完全性を保証できないインターネット上のリソースを取得していないかも確認する必要がある
パッケージが使ったソースコードと、ベースだと主張しているアップストリームの Microsoft git SHA を比較できるはずだ: https://aur.archlinux.org/packages/vscodium
ちょうど今はオープンソースのリモートモード拡張もあるので、プロプライエタリ版を使う理由はなくなった。自分の側では、もうテレメトリはない
大企業が何かをきちんとやり、テレメトリという名目でアプリケーションをスパイウェアだらけにしないだろうという信頼はまったくない。むしろ、自由・オープンソースソフトウェアを作ろうと粘り強く取り組む人たちを信じたい
Go が最新の SDK で行ったように、再現可能なビルドはここで役に立ち得る: https://go.dev/blog/rebuild
ソース変更が少ないフォークなら、パッチだけ検証すればよいので特に有効だ
Linux ディストリビューションもかなり似ている。Debian パッケージをおおむね信頼している理由は、傘となる組織と手続きがあるからだ。独立組織にはそれが少ない
いつかは再現可能なビルドだけを担当する傘組織ができ、人々がそれを通じてバイナリを配布することもあるかもしれない。ドメイン登録機関のように、独立した検証がその組織を誠実に保てるかもしれない
Microsoft は主要な拡張機能を公式リリースでしか使えないよう制限して、この方向での競争をなくしてしまった。個人的に Remote 拡張機能をかなり使っているので、誰かが代替を提供してくれるといいのだけれど
“jeanp413” の “Open Remote - SSH”、つまり
@ext:jeanp413.open-remote-sshが、少なくとも自分にはクローズドソースの拡張機能とまったく同じように動作しているManjaro で vscodium の AUR パッケージを使っていて、拡張機能は vscodium のデフォルトストアから入手した。Microsoft ストアにあるかは分からない
Code - OSSではその拡張機能は自分の環境では動作しなかったが、設定ミスのように見えたので、それ以上は追っていないなので codium のマーケットプレイスにない必須拡張機能があるなら、Microsoft マーケットプレイス経由で今でも使える
トンネルのインストールと設定を自動処理するには、ここにあるスクリプトのようなものを使える: https://github.com/CGamesPlay/dotfiles/blob/master/files/.lo...
カスタムスクリプトを自動実行してトンネルを設定する方式を追加する PR も作業中: https://github.com/xaberus/vscode-remote-oss/pull/9
Remote OSS: https://open-vsx.org/extension/xaberus/remote-oss
これは基本的に Visual Studio Code のソースコードをダウンロードしてビルドすると得られるものと同じ
名前も Chrome → Chromium のような言葉遊びに近く見える
Microsoft と Google が製品を「オープンソース化」すると言いながら、実際には追加のクローズドソース機能が入った製品をリリースする慣行は、好意的に見ても不誠実で、悪く見れば大規模な訴訟ものだ
こうした巨大企業は、オープンソース製品に時間を寄付する純朴なソフトウェアエンジニアたちの作業から利益を得ているが、最終ユーザーに届けるのはクローズドソース版だ
オープンソースプロジェクトを基にプロプライエタリソフトウェアをリリースしている多くの商用企業と同じケースだ
必要なのは、F-Droid ストアのような反機能の区分に近いものだ。たとえば「このアプリは別の非自由アプリに依存している」または「非自由なネットワークサービスに依存している、またはそれを促進している」といった表示だ
Vscode は分断を誘導するように設計されている: https://ghuntley.com/fracture/
要約すると、Microsoft はテレメトリを組み込んだ Visual Studio Code をリリースし、そのため VSCodium のようなプロジェクトがテレメトリなしのカスタムビルドを出し始めた。しかし、これらのプロジェクトは Microsoft のライセンスを受けていないため同じマーケットプレイスを使えず、それが記事タイトルの分断だ
続けて、他のプロプライエタリ IDE にも問題があり、GitHub は開発者を囲い込み分断する罠だと言っている
Microsoft とオープンソースをめぐるこのドラマは Halloween 文書を思い起こさせる: http://www.catb.org/~esr/halloween/
うーん……そうなのか? 使うか使わないかでは。 「良すぎて使わずにいられない」というのが正当な不満なのかは、よく分からない
昨日、オープンソースビルドから乗り換えざるを得なかった。アップデート後、Pylance が DRM のために動作を停止したように見えた。
起動するたびに、Microsoft が承認していないビルドで使うのはライセンス違反だという大きな警告を表示し、そのまま止まってしまった。
pyright のフリー・オープンソース版だが、一部機能は欠けている。
関連記事
VSCodium – Free/Libre Open Source Software Binaries of VS Code - https://news.ycombinator.com/item?id=31604932 - 2022年6月、コメント430件
VS Code without Microsoft branding/telemetry/licensing - https://news.ycombinator.com/item?id=23447413 - 2020年6月、コメント200件
VSCodium – An Open Source Visual Studio Code Without Trackers - https://news.ycombinator.com/item?id=19650109 - 2019年4月、コメント253件
VSCodium: 100% Open Source Version of vs. Code - https://news.ycombinator.com/item?id=19619956 - 2019年4月、コメント8件
VSCodium: Binary releases of VSCode without MS branding, telemetry and licensing - https://news.ycombinator.com/item?id=17850960 - 2018年8月、コメント113件
長いことこれを使い、チームにも使うよう勧めていたが、結局あきらめた。Remote SSH と devcontainers 機能がないと、VSCode を最大限活用するところで Microsoft に強く握られている。
さらに Microsoft はテレメトリについては譲歩したようで、今では完全に無効化できるという。ただし「オフ」が本当にそうなのかは、自分ではテストしていない。
さらに Remote OSS を使えば、dev container の中で vscodium のリモートホストを使える。詳しくはこのコメントに書いた: https://news.ycombinator.com/item?id=37386025
VSCode と VSCodium の両方を使っている。理由は単純で実用的だ。設定管理と、見分けられる複数ウィンドウのためだ。
私の VSCode は、Microchip/Atmel/zephyr の作業に必要そうな大量の拡張に完全に占拠されている。
ansible/elixir の作業には VSCodium を使っている。
VSCodium にはブラウザのプロファイルのように、そのプロファイル内だけであらゆる設定を変えられる機能はないのだろうか? Firefox ではそういう使い方をよくしていて、ウィンドウの見た目も変えている。
継続してメンテナンスしてほしい。私たちのスタートアップの拡張は Open VSX Registry に載っており、その運用にとても満足している。
Arch には同等のパッケージと思われるものが、単に
codeという名前である。codeはバイナリ名で、「プロジェクト」自体は https://wiki.archlinux.org/title/Visual_Studio_Code に書かれているようにCode - OSSだ。メインリポジトリが提供しているパッケージがそれで、VSCodium や Visual Studio Code を使うには AUR を使う必要がある。