VS Code 拡張機能の代替マーケットプレイス事情 (Open VSX)

VS Code の拡張機能は、Visual Studio のマーケットプレイスに公開するのが普通。
しかし、VS Code のフォークなどにおいては使用条件などの事由で、代替マーケットプレイスが使用されていることがある。それらについての覚書。

Visual Studio Marketplace
- Microsoft が運営する、公式のマーケットプレイス
- 普通はここに公開すれば問題ない
- 公開には
@vscode/vsce
(Visual Studio Code Extension manager) を使用できる

Open VSX
- Eclipse が運営する、オープンソースでベンダー中立な代替マーケットプレイス
- 使用しているエディター
- Eclipse Theia: VS Code スタイルの Eclipse 独自 IDE (VS Code フォークではない)
- VSCodium: VS Code から Microsoft プロプライエタリな部分を取り除いたもの
- Windsurf: Codeium 社による AI エージェント特化型の VS Code フォーク
- 公開には
ovsx
という CLI ツールを使用できる

なぜ Open VSX が必要なのか?
- Visual Studio Marketplace に公開された拡張機能は、 Microsoft 製のツール以外で使用してはいけない と使用条件で定められている
- Visual Studio 以外の製品は、直接 Marketplace にアクセスできない
- Marketplace で拡張機能をダウンロードして、Microsoft 製以外の製品で使うのもアウト
- 昔は拡張機能 (
.vsix
) をダウンロードできるリンクが拡張機能のページにあったが、使用条件を迂回する手段になってしまうからか、今はダウンロードリンクは存在しない模様
- 昔は拡張機能 (
→ VS Code 拡張と互換性のあるエディター (Theia, VSCodium, etc) で拡張機能を使えるよう、ベンダー中立な代替マーケットプレイスが必要だった

参考: Visual Studio Marketplace の Terms of Use (PDF)
『Microsoft 製品以外での利用禁止』は、"2-b: Marketplace Offering(s)" で述べられている。

Microsoft 自身はこの件についての明確なコメントを避けているが、このコメントでは第三者による規約の解釈が詳しく述べられている

Cursor は大丈夫なのか
Cursor は、普通に Visual Studio Marketplace にある拡張機能が使えるように見える。
- マーケットプレイス自体は、 Visual Studio Marketplace ではなく、Cursor 独自の API
marketplace.cursorapi.com
から提供されている- 2023/9/11 から提供されている模様
- 建前上は Visual Studio Marketplace は使用していないので、使用条件はクリアしていますよ、といえなくもない
- しかし、挙動上は Visual Studio Marketplace にリダイレクトするただのプロキシにも見える
- Open VSX は使っていない?
- Open VSX に公開されていない拡張機能も検索&インストールできる
- ただ、これは過去に Visual Studio Marketplace を使っていた時期に Cursor が登録した情報が残っているだけという可能性もある
- 『Open VSX に公開した拡張機能を更新すると、Cursor の拡張機能の更新がすぐに反映された』という報告もあるため、現在は Open VSX をメインに使用している可能性がある
→ 「Visual Studio Marketplace は使ってない」と言い張れなくはないが、グレーゾーンに感じる部分も多々ある

によると、以下のような処理を行っているかもしれない、とのこと。
あくまで第三者による考察であり、公式な声明ではないことに注意。
- 法的リスクを回避するため、 Cursor マーケットプレイスは独自に存在している。
- Visual Studio Marketplace で追加・更新された拡張機能を、定期的に検知している。
- 検知された拡張機能を、自動ないしは手動で Cursor マーケットプレイスに追加している。
- Open VSX は安全なソースとして、補完的に使用しているのかもしれない??
Visual Studio Marketplace に反映された拡張機能の更新が、Cursor の反映まで最大 24 時間遅延することがあるのは、このためと推察できる。
しかし、このように迂回したとしても、Terms of Use の "3. Conditions: Use Rights for Marketplace" に引っかかるような気もする。フォーラムでは、「もしかしたら Microsoft と何かしら契約してるのかも?」と言及しているが、憶測の域を出ない。

Cursor は、拡張機能がマーケットプレイスで利用できない場合の迂回策として、「Visual Studio Marketplace で直接 .vsix
をダウンロードしてインストール」するための手順をドキュメント化している。
ただし、これは前述の通り、Visual Studio Marketplace の使用条件に違反する。
Microsoft もこれを察知してか、現在はダウンロードリンクを無くしている模様?

ダウンロードリンクがなくなったことに関するサポート Issue では、 Microsoft 社員によって以下のように述べられている。
- ダウンロードリンクを無くした理由は、プレリリース版が公開されている拡張機能の扱いが難しいため
- VS Code の UI 上からダウンロードできるので、そちらを使えば問題ない
- 拡張を MS 製品以外で使用することが Marketplace の使用条件に反するのは変わりない
- Cursor は現在 Open VSX を使用している ので、その点では問題にならない
ダウンロードリンクが消えた問題は、Cursor とは特に関係ない模様。
それと同時に『Cursor は Open VSX を使用している』という事実について Microsoft による確認が取れているということになる。
ただ、 Visual Studio Marketplace にしか存在しない拡張機能がダウンロードできることについては説明がつかないので、「両方に接続している」ないしは「あるタイミングで Open VSX に切り替えたが、過去に登録した拡張機能は Cursor 独自のマーケットプレイスに残っている」可能性がある。

PearAI は大丈夫なのか
PearAI のマーケットプレイスも Cursor と似た挙動をする。
- PearAI 独自の API
market.trypear.ai
から提供されている- やはり Visual Studio Marketplace へのプロキシ、ただしリダイレクトではなくレスポンスを自前で返す
- Open VSX で利用できない拡張機能も利用可能 → Visual Studio Marketplace を参照している
→ グレーゾーン 😓
PearAI もマーケットプレイスに関する実装は公開していないため、詳細は不明。

まとめ
エディタ | マーケットプレイス |
---|---|
VS Code | ✅ Visual Studio Marketplace |
Code - OSS | なし (一部環境では Open VSX) |
VSCodium | ✅ Open VSX |
Eclipse Theia | ✅ Open VSX |
Cursor | 独自 (⚠️ Visual Studio Marketplace のミラー? + ✅ Open VSXのミラー?) |
PearAI | 独自 (⚠️ Visual Studio Marketplace のミラー?) |
Windsurf | ✅ Open VSX |
参考: VS Code と Code - OSS の違い
-
Code - OSS: GitHub の
microsoft/vscode
リポジトリをビルドしたもの - VS Code: Microsoft によって、アイコンやマーケットプレイスの設定などが施されたもの
Arch Linux など、一部 Linux ディストリビューションでは、VS Code に代わって Code - OSS を選択することもでき、その際にマーケットプレイスとして Open VSX が設定されることがある。

4月ごろより、C++ 拡張機能や .NET 関連の拡張機能など、 Microsoft が提供する一部の拡張機能が VS Code 以外のエディターで明確にブロックされるようになった模様。
The C/C++ extension may be used only with Microsoft Visual Studio, Visual Studio for Mac, Visual Studio Code, Azure DevOps, Team Foundation Server, and successor Microsoft products and services to develop and test your applications.
規約違反であることは先述の通り事実なので、動かなくなること自体は、規約を厳格に運用し始めたというだけ。現に今に始まったことではなくて、 VSCodium のような古くからあるツールでは、Live Share や Remote extensions などを入れても使えなかった。
今回のブロックは、Cursor のような VS Code フォークエディターが実際に台頭してきていることもあり、騒ぎが大きくなっている模様。
個人的には、VS Code フォークを使用するにあたってのアキレス腱はここにあると考える。それと同時に、純粋なオープンソースの言語拡張機能が発展する可能性があり、Cursor は先の Issue で「代替拡張への投資を進めていく」と言及している。